add hexdump in debug mode, fix -d option

This commit is contained in:
hummypkg 2011-06-06 12:14:05 +00:00 committed by HummyPkg
parent f4473f1788
commit 604c927a40
2 changed files with 31 additions and 2 deletions

8
epg.c
View File

@ -180,7 +180,9 @@ parse(char *epgpath,
while (epg->offset < send)
{
struct data *d;
uint32_t dend;
uint32_t dstart, dend;
dstart = epg->offset;
if (!(d = read_data(epg)))
break;
@ -215,6 +217,10 @@ parse(char *epgpath,
}
}
if (debug)
hexdump(epg->bin + dstart, dend - dstart,
dstart);
for (i = 0; i < DSLIST_SIZE; i++)
dslist[i] = NULL;

25
main.c
View File

@ -269,6 +269,28 @@ searchall(struct epg *epg __attribute__((unused)),
}
}
#define GETOPTOPT \
do { \
if (*++cp == '\0' && argc > 1) \
{ \
argc--, argv++; \
cp = argv[0]; \
} \
while (*cp != '\0' && isspace((int)*cp)) \
cp++; \
} while (0)
#define GETOPTINTOPT \
do { \
if (*++cp == '\0' && argc > 1 && atoi(argv[1]) > 0) \
{ \
argc--, argv++; \
cp = argv[0]; \
} \
while (*cp != '\0' && isspace((int)*cp)) \
cp++; \
} while (0)
#define GETOPT \
do { \
if (*++cp == '\0' && argc < 2) \
@ -307,7 +329,8 @@ main(int argc, char **argv)
break;
case 'd':
if (*++cp == '\0')
GETOPTINTOPT;
if (*cp == '\0')
debug = 1;
else
debug = atoi(cp);