* Sebastian Hammer, Adam Dickmeiss
*
* $Log: dicttest.c,v $
- * Revision 1.10 1994-09-26 10:17:24 adam
+ * Revision 1.12 1994-10-03 17:23:03 adam
+ * First version of dictionary lookup with regular expressions and errors.
+ *
+ * Revision 1.11 1994/09/28 13:07:09 adam
+ * Use log_mask_str now.
+ *
+ * Revision 1.10 1994/09/26 10:17:24 adam
* Minor changes.
*
* Revision 1.9 1994/09/22 14:43:56 adam
return 0;
}
+static int grep_handle (Dict_char *name, char *info)
+{
+ look_hits++;
+ printf ("%s\n", name);
+ return 0;
+}
+
int main (int argc, char **argv)
{
const char *name = NULL;
int cache = 10;
int ret;
int unique = 0;
+ char *grep_pattern = NULL;
char *arg;
int no_of_iterations = 0;
int no_of_new = 0, no_of_same = 0, no_of_change = 0;
if (argc < 2)
{
fprintf (stderr, "usage:\n "
- " %s [-r n] [-u] [-s n] [-v n] [-i f] [-w] [-c n]"
+ " %s [-r n] [-u] [-g pat] [-s n] [-v n] [-i f] [-w] [-c n]"
" base file\n",
prog);
exit (1);
}
- while ((ret = options ("r:us:v:i:wc:", argv, argc, &arg)) != -2)
+ while ((ret = options ("r:ug:s:v:i:wc:", argv, argc, &arg)) != -2)
{
if (ret == 0)
{
exit (1);
}
}
+ else if (ret == 'g')
+ {
+ grep_pattern = arg;
+ }
else if (ret == 'r')
{
range = atoi (arg);
}
else if (ret == 'v')
{
- log_init (atoi(arg), prog, NULL);
+ log_init (log_mask_str(arg), prog, NULL);
}
else
{
log (LOG_LOG, "No of hits.... %d", no_of_hits);
log (LOG_LOG, "No of misses.. %d", no_of_misses);
}
+ if (grep_pattern)
+ {
+ if (range < 0)
+ range = 0;
+ log (LOG_LOG, "Grepping '%s'", grep_pattern);
+ dict_lookup_grep (dict, grep_pattern, range, grep_handle);
+ }
dict_close (dict);
res_close (common_resource);
return 0;