1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>utilstr.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.17 -->
<center>
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> </center>
<hr><h1>utilstr.h</h1><div class="fragment"><pre>00001 <span class="comment">/******************************************************************************</span>
00002 <span class="comment"> * utilstr.h - prototypes for string utility functions</span>
00003 <span class="comment"> *</span>
00004 <span class="comment"> * $Id: utilstr_8h-source.html,v 1.9 2002/10/31 11:30:16 joachim Exp $</span>
00005 <span class="comment"> *</span>
00006 <span class="comment"> * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)</span>
00007 <span class="comment"> * CrossWire Bible Society</span>
00008 <span class="comment"> * P. O. Box 2528</span>
00009 <span class="comment"> * Tempe, AZ 85280-2528</span>
00010 <span class="comment"> *</span>
00011 <span class="comment"> * This program is free software; you can redistribute it and/or modify it</span>
00012 <span class="comment"> * under the terms of the GNU General Public License as published by the</span>
00013 <span class="comment"> * Free Software Foundation version 2.</span>
00014 <span class="comment"> *</span>
00015 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
00016 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
00017 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
00018 <span class="comment"> * General Public License for more details.</span>
00019 <span class="comment"> *</span>
00020 <span class="comment"> */</span>
00021
00022 <span class="preprocessor">#ifndef UTILSTR_H</span>
00023 <span class="preprocessor"></span><span class="preprocessor">#define UTILSTR_H</span>
00024 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include <defs.h></span>
00026
00027 SWORD_NAMESPACE_START
00028
00031 <span class="keywordtype">char</span> *<a class="code" href="namespacesword.html#a138">stdstr</a> (<span class="keywordtype">char</span> **iistr, <span class="keyword">const</span> <span class="keywordtype">char</span> *istr);
00032 <span class="keywordtype">char</span> *strstrip (<span class="keywordtype">char</span> *istr);
00033 <span class="keyword">const</span> <span class="keywordtype">char</span> *stristr (<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2);
00034 <span class="keyword">const</span> <span class="keywordtype">char</span> strnicmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> len);
00035 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> strlenw(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1);
00036 <span class="keywordtype">char</span> *toupperstr(<span class="keywordtype">char</span> *buf);
00037 <span class="keywordtype">char</span> *toupperstr_utf8(<span class="keywordtype">char</span> *buf);
00038
00039 <span class="comment">/*</span>
00040 <span class="comment">extern "C" {</span>
00041 <span class="comment">int stricmp(const char *s1, const char *s2);</span>
00042 <span class="comment">}</span>
00043 <span class="comment">*/</span>
00044
00045 <span class="comment">/******************************************************************************</span>
00046 <span class="comment"> * SW_toupper - array of uppercase values for any given Latin-1 value</span>
00047 <span class="comment"> *</span>
00048 <span class="comment"> * use this instead of toupper() for fast lookups on accented characters</span>
00049 <span class="comment"> */</span>
00050 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> SW_toupper_array[256] =
00051 {
00052 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
00053 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
00054 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
00055 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
00056 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
00057 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
00058 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
00059 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
00060 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
00061 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
00062 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
00063 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
00064 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
00065 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
00066 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
00067 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
00068 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
00069 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
00070 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
00071 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
00072 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
00073 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
00074 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
00075 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
00076 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
00077 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
00078 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
00079 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
00080 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
00081 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
00082 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xf7,
00083 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xff
00084 };
00085
00086 <span class="preprocessor">#define SW_toupper(c) SW_toupper_array[(unsigned char)c]</span>
00087 <span class="preprocessor"></span>
00088 SWORD_NAMESPACE_END
00089 <span class="preprocessor">#endif</span>
</pre></div><hr><address style="align: right;"><small>Generated on Thu Oct 31 12:11:28 2002 for The Sword Project by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.2.17 </small></address>
</body>
</html>
|