unsigned int scan_char(const char *s, char *p) { long lo; unsigned int len; char c; len = scan_long(s, &lo); if (!len) return 0; c = (char) lo; *p = c; return len; }
unsigned int scan_int(const char *s, int *p) { long lo; unsigned int len; int i; len = scan_long(s, &lo); if (!len) return 0; i = (int) lo; *p = i; return len; }
size_t scan_short(const char* src,short* dest) { long l; size_t len=scan_long(src,&l); *dest=l; return len; }
unsigned int scan_short(const char* src,short* dest) { long l; register int len=scan_long(src,&l); *dest=l; return len; }