aboutsummaryrefslogtreecommitdiffstats
path: root/sgsnemu/sgsnemu.c
diff options
context:
space:
mode:
authorjjako <jjako>2004-01-19 18:37:58 +0000
committerjjako <jjako>2004-01-19 18:37:58 +0000
commit06e9f125889471f27bb5fc415afaa1a9d703438a (patch)
tree848661cef6cdcc4efa5278a02c810b030f9df8a0 /sgsnemu/sgsnemu.c
parente66a1ba8685cfe062cb0597b7f112a9e49ddd8c3 (diff)
FreeBSD porting and IMSI bugfix
Diffstat (limited to 'sgsnemu/sgsnemu.c')
-rw-r--r--sgsnemu/sgsnemu.c6
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;
}