Index: b.c =================================================================== --- b.c.orig 2009-10-20 18:31:36.000000000 +0200 +++ b.c 2009-10-20 18:35:09.643712608 +0200 @@ -2194,13 +2194,13 @@ unsigned char *parsens(unsigned char *s, #if SIZEOF_LONG_LONG && SIZEOF_OFF_T == SIZEOF_LONG_LONG if (n[x + 1] == 'x' || n[x + 1] == 'X') - sscanf((char *)(n + x + 2), "%llx", skip); + sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skip); else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) - sscanf((char *)(n + x + 3), "%llx", skip); + sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skip); else if (n[x + 1] == '0') - sscanf((char *)(n + x + 1), "%llo", skip); + sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skip); else - sscanf((char *)(n + x + 1), "%lld", skip); + sscanf((char *)(n + x + 1), "%lld", (long long int *)skip); #else if (n[x + 1] == 'x' || n[x + 1] == 'X') sscanf((char *)(n + x + 2), "%lx", skip); @@ -2219,13 +2219,13 @@ unsigned char *parsens(unsigned char *s, *amnt = *skip; #if SIZEOF_LONG_LONG && SIZEOF_OFF_T == SIZEOF_LONG_LONG if (n[x + 1] == 'x' || n[x + 1] == 'X') - sscanf((char *)(n + x + 2), "%llx", skip); + sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skip); else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) - sscanf((char *)(n + x + 3), "%llx", skip); + sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skip); else if (n[x + 1] == '0') - sscanf((char *)(n + x + 1), "%llo", skip); + sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skip); else - sscanf((char *)(n + x + 1), "%lld", skip); + sscanf((char *)(n + x + 1), "%lld", (long long int *)skip); #else if (n[x + 1] == 'x' || n[x + 1] == 'X') sscanf((char *)(n + x + 2), "%lx", skip);