mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-21 23:29:16 +00:00
binprint.c:
Reformattted source. No substantive change.
This commit is contained in:
parent
8cea45f4f0
commit
fc1083b2b0
@ -26,82 +26,83 @@ unsigned int doline(char *dest, char *source,
|
|||||||
unsigned char *buffer2;
|
unsigned char *buffer2;
|
||||||
|
|
||||||
main(argc,argv)
|
main(argc,argv)
|
||||||
int argc;
|
int argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
{
|
{
|
||||||
int duh;
|
int duh;
|
||||||
int a;
|
int a;
|
||||||
int c,errflg = 0,columns = 16;
|
int c,errflg = 0,columns = 16;
|
||||||
size_t pos = 0;
|
size_t pos = 0;
|
||||||
unsigned char *buffer;
|
unsigned char *buffer;
|
||||||
extern char *optarg;
|
extern char *optarg;
|
||||||
extern int optind;
|
extern int optind;
|
||||||
extern int getopt(int,char **,char*);
|
extern int getopt(int,char **,char*);
|
||||||
|
|
||||||
while ((c = getopt(argc,argv, "Vc:")) != EOF)
|
while ((c = getopt(argc,argv, "Vc:")) != EOF)
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'c' :
|
case 'c' :
|
||||||
columns = atoi(optarg);
|
columns = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
case 'V' :
|
case 'V' :
|
||||||
fprintf(stdout, "binprint v1.2 for GNO/ME\n");
|
fprintf(stdout, "binprint v1.2 for GNO/ME\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
default : errflg++;
|
default : errflg++;
|
||||||
}
|
|
||||||
if (errflg) {
|
|
||||||
fprintf(stderr,"usage: binprint [-c<columns>] files...\n");
|
|
||||||
exit(2);
|
|
||||||
}
|
}
|
||||||
argv += optind;
|
if (errflg) {
|
||||||
if (columns < 8) columns = 8;
|
fprintf(stderr,"usage: binprint [-c<columns>] files...\n");
|
||||||
if ((buffer2 = (unsigned char *)malloc((size_t)(columns*4)+1)) == NULL) {
|
exit(2);
|
||||||
fprintf(stderr,"Cannot allocate buffer space\n");
|
}
|
||||||
exit(1);
|
argv += optind;
|
||||||
|
if (columns < 8) columns = 8;
|
||||||
|
if ((buffer2 = (unsigned char *)malloc((size_t)(columns*4)+1)) == NULL) {
|
||||||
|
fprintf(stderr,"Cannot allocate buffer space\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
buffer = (unsigned char *)(buffer2+(columns*3));
|
||||||
|
if (optind == argc) {
|
||||||
|
duh = STDIN_FILENO;
|
||||||
|
goto action;
|
||||||
|
}
|
||||||
|
for (;optind<argc;optind++) {
|
||||||
|
if ((duh = open(*argv,O_RDONLY|O_BINARY)) == -1) {
|
||||||
|
fprintf(stderr,"error opening %s\n",*argv);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
buffer = (unsigned char *)(buffer2+(columns*3));
|
printf("\n%s\n",*argv);
|
||||||
if (optind == argc) {
|
action:
|
||||||
duh = STDIN_FILENO;
|
while ((a = (int)read(duh, buffer,
|
||||||
goto action;
|
(size_t)(columns * sizeof(unsigned char)))) != 0) {
|
||||||
|
printGood(pos,buffer,a,columns);
|
||||||
|
pos += a;
|
||||||
}
|
}
|
||||||
for (;optind<argc;optind++) {
|
close(duh);
|
||||||
if ((duh = open(*argv,O_RDONLY|O_BINARY)) == -1) {
|
}
|
||||||
fprintf(stderr,"error opening %s\n",*argv);
|
free(buffer);
|
||||||
exit(1);
|
free(buffer2);
|
||||||
}
|
exit(0);
|
||||||
printf("\n%s\n",*argv);
|
|
||||||
action: while ((a = (int)read(duh, buffer,
|
|
||||||
(size_t)(columns * sizeof(unsigned char)))) != 0) {
|
|
||||||
printGood(pos,buffer,a,columns);
|
|
||||||
pos += a;
|
|
||||||
}
|
|
||||||
close(duh);
|
|
||||||
}
|
|
||||||
free(buffer);
|
|
||||||
free(buffer2);
|
|
||||||
exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
printGood(off,buf,real,form)
|
printGood(off,buf,real,form)
|
||||||
long off;
|
long off;
|
||||||
unsigned char *buf;
|
unsigned char *buf;
|
||||||
int real;
|
int real;
|
||||||
int form;
|
int form;
|
||||||
{
|
{
|
||||||
if (!real) return;
|
if (!real) return;
|
||||||
/*
|
#if 0
|
||||||
printf("%8lX: ",off);
|
printf("%8lX: ",off);
|
||||||
*/
|
#endif
|
||||||
|
|
||||||
/* The following is a hack required because of buffering by the stdio
|
/* The following is a hack required because of buffering by the stdio
|
||||||
libraries. I wish it was not necesary... */
|
libraries. I wish it was not necesary... */
|
||||||
|
|
||||||
{
|
{
|
||||||
static char puthere[11];
|
static char puthere[11];
|
||||||
int howmany;
|
int howmany;
|
||||||
|
|
||||||
howmany = sprintf(puthere,"%8lX: ",off);
|
howmany = sprintf(puthere,"%8lX: ",off);
|
||||||
write(STDOUT_FILENO, puthere, (size_t)howmany);
|
write(STDOUT_FILENO, puthere, (size_t)howmany);
|
||||||
}
|
}
|
||||||
|
|
||||||
write(STDOUT_FILENO, buffer2, (size_t)doline(buffer2,buf,form,real));
|
write(STDOUT_FILENO, buffer2, (size_t)doline(buffer2,buf,form,real));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user