diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/base64.c | 24 | 
1 files changed, 20 insertions, 4 deletions
| diff --git a/lib/base64.c b/lib/base64.c index ee533189f..3b36fd0b9 100644 --- a/lib/base64.c +++ b/lib/base64.c @@ -220,6 +220,8 @@ int main(int argc, char **argv, char **envp)  #ifdef TEST_DECODE  /* decoding test harness. Read in a base64 string from stdin and write out the    * length returned by Curl_base64_decode, followed by the decoded data itself + * + * gcc -DTEST_DECODE base64.c -o base64 mprintf.o memdebug.o   */  #include <stdio.h> @@ -232,7 +234,7 @@ int main(int argc, char **argv, char **envp)    int base64Len;    unsigned char *data;    int dataLen; -  int i; +  int i, j;    base64 = (char *)suck(&base64Len);    data = (unsigned char *)malloc(base64Len * 3/4 + 8); @@ -240,9 +242,23 @@ int main(int argc, char **argv, char **envp)    fprintf(stderr, "%d\n", dataLen); -  for(i=0; i < dataLen; i++)  -    printf("%02x ", data[i]); -  puts(""); +  for(i=0; i < dataLen; i+=0x10) { +    printf("0x%02x: ", i); +    for(j=0; j < 0x10; j++) +      if((j+i) < dataLen) +        printf("%02x ", data[i+j]); +      else +        printf("   "); +     +    printf(" | "); + +    for(j=0; j < 0x10; j++) +      if((j+i) < dataLen) +        printf("%c", isgraph(data[i+j])?data[i+j]:'.'); +      else +        break; +    puts(""); +  }    free(base64); free(data);    return 0; | 
