Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

utilstr.h

00001 /******************************************************************************
00002  *  utilstr.h   - prototypes for string utility functions
00003  *
00004  * $Id: utilstr_8h-source.html,v 1.7 2002/06/20 20:23:10 mgruner Exp $
00005  *
00006  * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
00007  *      CrossWire Bible Society
00008  *      P. O. Box 2528
00009  *      Tempe, AZ  85280-2528
00010  *
00011  * This program is free software; you can redistribute it and/or modify it
00012  * under the terms of the GNU General Public License as published by the
00013  * Free Software Foundation version 2.
00014  *
00015  * This program is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * General Public License for more details.
00019  *
00020  */
00021 
00022 #ifndef UTILSTR_H
00023 #define UTILSTR_H
00024 
00027 char *stdstr (char **iistr, const char *istr);
00028 char *strstrip (char *istr);
00029 const char *stristr (const char *s1, const char *s2);
00030 const char strnicmp(const char *s1, const char *s2, int len);
00031 unsigned int strlenw(const char *s1);
00032 char *toupperstr(char *buf);
00033 
00034 /*
00035 extern "C" {
00036 int stricmp(const char *s1, const char *s2);
00037 }
00038 */
00039 
00040 /******************************************************************************
00041  * SW_toupper - array of uppercase values for any given Latin-1 value
00042  *
00043  * use this instead of toupper() for fast lookups on accented characters
00044  */
00045 static const unsigned char SW_toupper_array[256] =
00046         {
00047                 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
00048                 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
00049                 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
00050                 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
00051                 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
00052                 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
00053                 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
00054                 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
00055                 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
00056                 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
00057                 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
00058                 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
00059                 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
00060                 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
00061                 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
00062                 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
00063                 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
00064                 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
00065                 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
00066                 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
00067                 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
00068                 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
00069                 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
00070                 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
00071                 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
00072                 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
00073                 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
00074                 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
00075                 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
00076                 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
00077                 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xf7,
00078                 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xff
00079         };
00080 
00081 #define SW_toupper(c) SW_toupper_array[(unsigned char)c]
00082 
00083 #endif

Generated on Thu Jun 20 22:13:01 2002 for The Sword Project by doxygen1.2.15