File: i.c

package info (click to toggle)
iprint 1.3-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 52 kB
  • ctags: 6
  • sloc: makefile: 39; ansic: 20
file content (23 lines) | stat: -rw-r--r-- 538 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* a surprising useful little program! (tridge@samba.org) */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

static void print_one(unsigned long long v) 
{
	printf("%llu 0x%llX 0%llo", v, v, v);
	if (v < 256 && isprint(v)) printf(" '%c'", (unsigned char)v);
	printf("\n");
}

int main(int argc,char *argv[])
{
	int i;
	for (i=1;i<argc;i++) {
		unsigned char *p;
		unsigned long long v = strtoll(argv[i], (char **)&p, 0);
		if (p == (unsigned char *)argv[i]) for (; *p ; p++) print_one(*p);
		else print_one(v);
	}
	return 0;
}