diff options
author | jjako <jjako> | 2004-01-19 18:37:58 +0000 |
---|---|---|
committer | jjako <jjako> | 2004-01-19 18:37:58 +0000 |
commit | 06e9f125889471f27bb5fc415afaa1a9d703438a (patch) | |
tree | 848661cef6cdcc4efa5278a02c810b030f9df8a0 /sgsnemu/sgsnemu.c | |
parent | e66a1ba8685cfe062cb0597b7f112a9e49ddd8c3 (diff) |
FreeBSD porting and IMSI bugfix
Diffstat (limited to 'sgsnemu/sgsnemu.c')
-rw-r--r-- | sgsnemu/sgsnemu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index ecf8ee8..53a1cc0 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -374,7 +374,9 @@ int process_options(int argc, char **argv) { printf("Invalid IMSI\n"); return -1; } - options.imsi = ((uint64_t) (args_info.imsi_arg[ 0]-48)); + + options.imsi = 0xf000000000000000; + options.imsi |= ((uint64_t) (args_info.imsi_arg[ 0]-48)); options.imsi |= ((uint64_t) (args_info.imsi_arg[ 1]-48)) << 4; options.imsi |= ((uint64_t) (args_info.imsi_arg[ 2]-48)) << 8; options.imsi |= ((uint64_t) (args_info.imsi_arg[ 3]-48)) << 12; @@ -655,6 +657,8 @@ int imsi_add(uint64_t src, uint64_t *dst, int add) { i64 = i64 / 10; } + *dst |= 0xf000000000000000; + return 0; } |