Debugging findings show imei number will flash back, tracking codes, should be suspected usage of sprintf problem, modified to solve
static void imei_abnormal(char *data) { int nu; int nu1; int i=0,j=0; memset(imei_buff,0,16); for(i=0; i< 8 ;i++) { nu = data[i]; nu1 = nu; nu1 = nu1 & 0xf; snprintf(imei_buff+j, 16, "%x",nu1); if (i < 7) { nu = nu >> 4; snprintf(imei_buff+j+1, 16, "%x",nu); } j+=2; } } |
static void imei_normal(char *data) { int nu; int nu1; int i=0,offset=0; memset(imei_buff,0,16); for(i=0;i<8;i++) { nu = data[i]; nu1 = nu; nu1 = nu1 & 0xf; offset += snprintf(imei_buff+offset, sizeof(imei_buff+offset), "%x",nu1); if (i < 7) { nu = nu >> 4; offset += snprintf(imei_buff+offset, sizeof(imei_buff+offset), "%x",nu); } } } |