diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-08-05 00:01:27 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-08-05 00:01:27 +0000 |
commit | d2e2149ff9a7beafe16c9766be2c61bd4d94c58e (patch) | |
tree | 3976a9ed962743195d6f6df5a6261db88679f3cf /file.c | |
parent | a6e6a7a36464e493a236ba1db6ed2ce6c7ef6be9 (diff) |
From Greg Morris: add support for case-insensitive full-text searches.
svn path=/trunk/; revision=8132
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -1,7 +1,7 @@ /* file.c * File I/O routines * - * $Id: file.c,v 1.300 2003/07/22 23:08:47 guy Exp $ + * $Id: file.c,v 1.301 2003/08/05 00:01:26 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -1456,7 +1456,7 @@ get_int_value(char char_val) } gboolean -find_ascii(capture_file *cf, char *ascii_text, gboolean ascii_search, char *ftype) +find_ascii(capture_file *cf, char *ascii_text, gboolean ascii_search, char *ftype, gboolean case_type) { frame_data *start_fd; frame_data *fdata; @@ -1477,6 +1477,7 @@ find_ascii(capture_file *cf, char *ascii_text, gboolean ascii_search, char *ftyp guint8 hex_val=0; char char_val; guint8 num1, num2; + gchar *uppercase; start_fd = cf->current_frame; if (start_fd != NULL) { @@ -1486,6 +1487,10 @@ find_ascii(capture_file *cf, char *ascii_text, gboolean ascii_search, char *ftyp count = 0; fdata = start_fd; + if (case_type && ascii_search) { + g_strup(ascii_text); + } + cf->progbar_nextstep = 0; /* When we reach the value that triggers a progress bar update, bump that value by this amount. */ @@ -1554,7 +1559,13 @@ find_ascii(capture_file *cf, char *ascii_text, gboolean ascii_search, char *ftyp frame_matched = FALSE; buf_len = fdata->pkt_len; for (i=0;i<buf_len;i++) { - c_char = cf->pd[i]; + if (ascii_search && case_type) { + uppercase = &cf->pd[i]; + g_strup(uppercase); + c_char = uppercase[0]; + } + else + c_char = cf->pd[i]; /* Check to see if this is an String or Hex search */ if (ascii_search) { /* Now check the String Type */ |