version 1.3, 1997/01/17 07:13:06 |
version 1.4, 2000/12/22 22:53:10 |
|
|
} |
} |
case 'd': |
case 'd': |
case 'i': { |
case 'i': { |
|
long p; |
char *f = mklong(start, convch); |
char *f = mklong(start, convch); |
long p = getlong(); |
if (!f) { |
|
warnx("out of memory"); |
|
return (1); |
|
} |
|
p = getlong(); |
PF(f, p); |
PF(f, p); |
break; |
break; |
} |
} |
|
|
case 'u': |
case 'u': |
case 'x': |
case 'x': |
case 'X': { |
case 'X': { |
|
unsigned long p; |
char *f = mklong(start, convch); |
char *f = mklong(start, convch); |
unsigned long p = getulong(); |
if (!f) { |
|
warnx("out of memory"); |
|
return (1); |
|
} |
|
p = getulong(); |
PF(f, p); |
PF(f, p); |
break; |
break; |
} |
} |
|
|
const char *str; |
const char *str; |
char ch; |
char ch; |
{ |
{ |
static char copy[64]; |
static char *copy; |
|
static int copysize; |
int len; |
int len; |
|
|
len = strlen(str) + 2; |
len = strlen(str) + 2; |
|
if (copysize < len) { |
|
char *newcopy; |
|
copysize = len + 256; |
|
|
|
newcopy = realloc(copy, copysize); |
|
if (newcopy == NULL) { |
|
copysize = 0; |
|
free(copy); |
|
copy = NULL; |
|
return (NULL); |
|
} |
|
copy = newcopy; |
|
} |
(void) memmove(copy, str, len - 3); |
(void) memmove(copy, str, len - 3); |
copy[len - 3] = 'l'; |
copy[len - 3] = 'l'; |
copy[len - 2] = ch; |
copy[len - 2] = ch; |