mirror of
https://github.com/cathugger/mkp224o.git
synced 2025-04-20 22:09:10 +00:00
proper display of filters
This commit is contained in:
parent
a763e05c88
commit
59c07f0fdf
1 changed files with 12 additions and 21 deletions
33
main.c
33
main.c
|
@ -47,24 +47,16 @@ static pthread_mutex_t fout_mutex;
|
||||||
static volatile int endwork = 0;
|
static volatile int endwork = 0;
|
||||||
static volatile size_t keysgenerated = 0;
|
static volatile size_t keysgenerated = 0;
|
||||||
|
|
||||||
struct strfilter {
|
|
||||||
char *str;
|
|
||||||
size_t len;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
struct binfilter {
|
struct binfilter {
|
||||||
u8 *f;
|
u8 *f;
|
||||||
size_t len; // real len minus one
|
size_t len; // real len minus one
|
||||||
u8 mask;
|
u8 mask;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
VEC_STRUCT(filtervec, struct strfilter) filters;
|
|
||||||
|
|
||||||
VEC_STRUCT(bfiltervec, struct binfilter) bfilters;
|
VEC_STRUCT(bfiltervec, struct binfilter) bfilters;
|
||||||
|
|
||||||
static void filters_init()
|
static void filters_init()
|
||||||
{
|
{
|
||||||
VEC_INIT(filters);
|
|
||||||
VEC_INIT(bfilters);
|
VEC_INIT(bfilters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,11 +78,6 @@ static void filters_add(const char *filter)
|
||||||
|
|
||||||
static void filters_clean()
|
static void filters_clean()
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < VEC_LENGTH(filters); ++i) {
|
|
||||||
free(VEC_BUF(filters, i).str);
|
|
||||||
}
|
|
||||||
VEC_FREE(filters);
|
|
||||||
|
|
||||||
for (size_t i = 0; i < VEC_LENGTH(bfilters); ++i) {
|
for (size_t i = 0; i < VEC_LENGTH(bfilters); ++i) {
|
||||||
free(VEC_BUF(bfilters, i).f);
|
free(VEC_BUF(bfilters, i).f);
|
||||||
}
|
}
|
||||||
|
@ -114,15 +101,19 @@ static void loadfilterfile(const char *fname)
|
||||||
static void printfilters()
|
static void printfilters()
|
||||||
{
|
{
|
||||||
fprintf(stderr, "current filters:\n");
|
fprintf(stderr, "current filters:\n");
|
||||||
#if 0
|
|
||||||
for (size_t i = 0; i < VEC_LENGTH(filters); ++i) {
|
|
||||||
fprintf(stderr, "\t%s\n", VEC_BUF(filters, i).str);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
for (size_t i = 0; i < VEC_LENGTH(bfilters); ++i) {
|
for (size_t i = 0; i < VEC_LENGTH(bfilters); ++i) {
|
||||||
char buf[256];
|
char buf0[256],buf1[256];
|
||||||
base32_to(buf,VEC_BUF(bfilters,i).f,VEC_BUF(bfilters,i).len);
|
u8 bufx[128];
|
||||||
fprintf(stderr, "\t%s [%02X]\n",buf,VEC_BUF(bfilters,i).mask);
|
size_t len = VEC_BUF(bfilters,i).len + 1;
|
||||||
|
base32_to(buf0,VEC_BUF(bfilters,i).f,len);
|
||||||
|
memcpy(bufx,VEC_BUF(bfilters,i).f,len);
|
||||||
|
bufx[len - 1] |= ~VEC_BUF(bfilters,i).mask;
|
||||||
|
base32_to(buf1,bufx,len);
|
||||||
|
char *a = buf0,*b = buf1;
|
||||||
|
while (*a && *a == *b)
|
||||||
|
++a, ++b;
|
||||||
|
*a = 0;
|
||||||
|
fprintf(stderr, "\t%s\n",buf0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue