diff options
author | Ian C <ianc@noddybox.co.uk> | 2007-03-04 18:35:36 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2007-03-04 18:35:36 +0000 |
commit | 954af9179665457b40453a0417ddf5b3949a0449 (patch) | |
tree | e3772817de5c79e29b602ebe47fe0129793f1470 /asc.c | |
parent | 892e6e107dbf2386831bd00e7f1c2a0bbe8b2cbb (diff) |
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'asc.c')
-rw-r--r-- | asc.c | 73 |
1 files changed, 73 insertions, 0 deletions
@@ -0,0 +1,73 @@ +#include <stdio.h> + +main(argc,argv) +int argc; +char *argv[]; + +{ + int f,l,r; + unsigned int c; + + char *binary(); + + if(argc==1) + { + printf("%s: usage %s string1 [..stringn] | -c num1 [.. num n]\n", + argv[0],argv[0]); + exit(-1); + } + + if(strcmp(argv[1],"-c")) + { + for(r=1;r<argc;r++) + { + l=strlen(argv[r]); + + for(f=0;f<l;f++) + { + c=(unsigned int)*(argv[r]+f); + printf("%c (%3d - 0x%2.2X %%%s)\n", + ((*(argv[r]+f) > 31) ? (*(argv[r]+f)) : '?') + ,c,c,binary(c,8)); + } + } + } + else + { + if(argc==2) + { + printf("%s:usage %s -c num1 [.. num n]\n",argv[0],argv[0]); + exit(-1); + } + for(f=2;f<argc;f++) + { + c=(char)strtol(argv[f],NULL,0); + + printf("%c (%3d - 0x%2.2X %%%s)\n", + (c>31) ? (char)c : '?', + c,c,binary(c,8)); + } + } + +} + + +char *binary(i,w) +unsigned int i,w; + +{ + static char buff[1024],*p; + unsigned int c=w,b=1<<(w-1); + + p=buff; + + for(;c--;b=b>>1) + if(i&b) + *p++='1'; + else + *p++='0'; + + *p='\0'; + + return(buff); +} |