diff options
author | Guy Harris <guy@alum.mit.edu> | 2008-09-03 19:14:52 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2008-09-03 19:14:52 +0000 |
commit | 9d1b5335ac1f48f57712f2937391c7a7b9ce6c19 (patch) | |
tree | a80eab1d12198196a9ae17670fe8f845c7204593 /wsutil | |
parent | 5dd544c914ac58d483bbb78bf7903de331fa2318 (diff) | |
download | wireshark-9d1b5335ac1f48f57712f2937391c7a7b9ce6c19.tar.gz wireshark-9d1b5335ac1f48f57712f2937391c7a7b9ce6c19.tar.bz2 wireshark-9d1b5335ac1f48f57712f2937391c7a7b9ce6c19.zip |
g_ascii_strdown() and g_ascii_strup(), unlike g_strdown() and g_strup(),
do *not* modify the string handed to them - they g_mallocate a new
string and return it.
Create routines that *do* ASCII-only case mapping in place, and use them
instead.
Clean up indentation.
svn path=/trunk/; revision=26131
Diffstat (limited to 'wsutil')
-rw-r--r-- | wsutil/Makefile.common | 6 | ||||
-rw-r--r-- | wsutil/str_util.c | 50 | ||||
-rw-r--r-- | wsutil/str_util.h | 60 |
3 files changed, 114 insertions, 2 deletions
diff --git a/wsutil/Makefile.common b/wsutil/Makefile.common index 284e62eee6..585213db52 100644 --- a/wsutil/Makefile.common +++ b/wsutil/Makefile.common @@ -30,9 +30,11 @@ # _SOURCES variables). LIBWSUTIL_SRC = \ mpeg-audio.c \ - privileges.c + privileges.c \ + str_util.c # Header files that are not generated from other files LIBWSUTIL_INCLUDES = \ mpeg-audio.h \ - privileges.h + privileges.h \ + str_util.h diff --git a/wsutil/str_util.c b/wsutil/str_util.c new file mode 100644 index 0000000000..4b01956d28 --- /dev/null +++ b/wsutil/str_util.c @@ -0,0 +1,50 @@ +/* str_util.c + * String utility routines + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include "str_util.h" + +/* Convert all ASCII letters to lower case, in place. */ +void +ascii_strdown_inplace(gchar *str) +{ + gchar *s; + + for (s = str; *s; s++) + *s = g_ascii_tolower (*s); +} + +/* Convert all ASCII letters to upper case, in place. */ +void +ascii_strup_inplace(gchar *str) +{ + gchar *s; + + for (s = str; *s; s++) + *s = g_ascii_toupper (*s); +} diff --git a/wsutil/str_util.h b/wsutil/str_util.h new file mode 100644 index 0000000000..432e970e38 --- /dev/null +++ b/wsutil/str_util.h @@ -0,0 +1,60 @@ +/* str_util.h + * String utility definitions + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __STR_UTIL_H__ +#define __STR_UTIL_H__ + +/** Convert all upper-case ASCII letters to their ASCII lower-case + * equivalents, in place, with a simple non-locale-dependent + * ASCII mapping (A-Z -> a-z). + * All other characters are left unchanged, as the mapping to + * lower case may be locale-dependent. + * + * The string is assumed to be in a character encoding, such as + * an ISO 8859 or other EUC encoding, or UTF-8, in which all + * bytes in the range 0x00 through 0x7F are ASCII characters and + * non-ASCII characters are constructed from one or more bytes in + * the range 0x80 through 0xFF. + * + * @param str The string to be lower-cased. + */ +void ascii_strdown_inplace(gchar *str); + +/** Convert all lower-case ASCII letters to their ASCII upper-case + * equivalents, in place, with a simple non-locale-dependent + * ASCII mapping (a-z -> A-Z). + * All other characters are left unchanged, as the mapping to + * lower case may be locale-dependent. + * + * The string is assumed to be in a character encoding, such as + * an ISO 8859 or other EUC encoding, or UTF-8, in which all + * bytes in the range 0x00 through 0x7F are ASCII characters and + * non-ASCII characters are constructed from one or more bytes in + * the range 0x80 through 0xFF. + * + * @param str The string to be upper-cased. + */ +void ascii_strup_inplace(gchar *str); + +#endif /* __STR_UTIL_H__ */ |