nicer messages

This commit is contained in:
cathugger 2017-10-23 07:06:59 +00:00
parent 8a917091d5
commit 2809643ac1
3 changed files with 17 additions and 6 deletions

View file

@ -73,7 +73,8 @@ int base16_valid(const char *src,size_t *count)
{ {
const char *p; const char *p;
for (p = src;base16f[(u8)*p] != 0xFF;++p) ; for (p = src;base16f[(u8)*p] != 0xFF;++p)
;
if (count) if (count)
*count = p - src; *count = p - src;

View file

@ -92,7 +92,8 @@ int base32_valid(const char *src,size_t *count)
{ {
const char *p; const char *p;
for (p = src;base32f[(u8)*p] != 0xFF;++p) ; for (p = src;base32f[(u8)*p] != 0xFF;++p)
;
if (count) if (count)
*count = p - src; *count = p - src;

17
main.c
View file

@ -356,18 +356,27 @@ static void filters_add(const char *filter)
if (!base32_valid(filter,&ret)) { if (!base32_valid(filter,&ret)) {
fprintf(stderr,"filter \"%s\" is invalid\n",filter); fprintf(stderr,"filter \"%s\" is invalid\n",filter);
fprintf(stderr," ");
while (ret--)
fputc(' ',stderr);
fprintf(stderr,"^\n");
return; return;
} }
ret = BASE32_FROM_LEN(ret); ret = BASE32_FROM_LEN(ret);
if (!ret) if (!ret)
return; return;
#ifdef INTFILTER #ifdef INTFILTER
if (ret > sizeof(IFT)) size_t maxsz = sizeof(IFT);
#else #else
if (ret > sizeof(bf.f)) size_t maxsz = sizeof(bf.f);
#endif #endif
{ if (ret > maxsz) {
fprintf(stderr,"filter \"%s\" is too long\n",filter); fprintf(stderr,"filter \"%s\" is too long\n",filter);
fprintf(stderr," ");
maxsz = BASE32_TO_LEN(maxsz);
while (--maxsz)
fputc(' ',stderr);
fprintf(stderr,"^\n");
return; return;
} }
base32_from(bf.f,&bf.mask,filter); base32_from(bf.f,&bf.mask,filter);
@ -614,7 +623,7 @@ static void filters_print()
*a = 0; *a = 0;
fprintf(stderr,"\t%s\n",buf0); fprintf(stderr,"\t%s\n",buf0);
} }
fprintf(stderr,"totally %zu %s\n",l,l == 1 ? "filter" : "filters"); fprintf(stderr,"in total, %zu %s\n",l,l == 1 ? "filter" : "filters");
} }
// statistics, if enabled // statistics, if enabled