home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
sozobon
/
scsrc20
/
szadb
/
prt.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-02-21
|
2KB
|
82 lines
/* Copyright (c) 1990 by Sozobon, Limited. Authors: Johann Ruegg, Don Dugger
*
* Permission is granted to anyone to use this software for any purpose
* on any computer system, and to redistribute it freely, with the
* following restrictions:
* 1) No charge may be made other than reasonable charges for reproduction.
* 2) Modified versions must be clearly marked as such.
* 3) The authors are not responsible for any harmful consequences
* of using this software, even if they result from defects in it.
*
* prt.c
*/
#include "adb.h"
prtf(fmt, ap)
char *fmt;
int ap;
{
extern char *ccodes[], *sizes[];
register long *lp, l;
register int *p, opc;
register char c, **cp;
p = ≈
while (c = *fmt++)
switch (c) {
case '%':
switch (c = *fmt++) {
case 'i':
l = (long)*p++;
if (l < 0) {
l = -l;
putchr('-');
}
prtn(l, 0);
break;
case 'I':
lp = (long *)p;
if ((l = *lp++) < 0) {
l = -l;
putchr('-');
}
prtn(l, 0);
p = (int *)lp;
break;
case 'A':
lp = (long *)p;
l = *lp++;
prtad(l);
p = (int *)lp;
break;
case 'd':
putchr('d');
putchr('0' + *p++);
break;
case 'a':
if ((opc = *p++) == 7)
prt("sp");
else {
putchr('a');
putchr('0' + opc);
}
break;
case 'c':
putchr(*p++);
break;
case 's':
cp = (char **)p;
prt(*cp++);
p = (int *)cp;
break;
}
break;
default:
putchr(c);
break;
}
return;
}