Index: joe-4.0/joe/b.c =================================================================== --- joe-4.0.orig/joe/b.c +++ joe-4.0/joe/b.c @@ -2327,13 +2327,13 @@ unsigned char *parsens(unsigned char *s, #if HAVE_LONG_LONG if (n[x + 1] == 'x' || n[x + 1] == 'X') - sscanf((char *)(n + x + 2), "%llx", &skipr); + sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)skipr); else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) - sscanf((char *)(n + x + 3), "%llx", &skipr); + sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skipr); else if (n[x + 1] == '0') - sscanf((char *)(n + x + 1), "%llo", &skipr); + sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skipr); else - sscanf((char *)(n + x + 1), "%llu", &skipr); + sscanf((char *)(n + x + 1), "%llu", (long long int *)skipr); #else if (n[x + 1] == 'x' || n[x + 1] == 'X') sscanf((char *)(n + x + 2), "%lx", &skipr); @@ -2353,13 +2353,13 @@ unsigned char *parsens(unsigned char *s, *amnt = *skip; #ifdef HAVE_LONG_LONG if (n[x + 1] == 'x' || n[x + 1] == 'X') - sscanf((char *)(n + x + 2), "%llx", &skipr); + sscanf((char *)(n + x + 2), "%llx", (long long unsigned int *)&skipr); else if (n[x + 1] == '0' && (n[x + 2] == 'x' || n[x + 2] == 'X')) - sscanf((char *)(n + x + 3), "%llx", &skipr); + sscanf((char *)(n + x + 3), "%llx", (long long unsigned int *)skipr); else if (n[x + 1] == '0') - sscanf((char *)(n + x + 1), "%llo", &skipr); + sscanf((char *)(n + x + 1), "%llo", (long long unsigned int *)skipr); else - sscanf((char *)(n + x + 1), "%llu", &skipr); + sscanf((char *)(n + x + 1), "%llu", (long long int *)skipr); #else if (n[x + 1] == 'x' || n[x + 1] == 'X') sscanf((char *)(n + x + 2), "%lx", &skipr);