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
|
/* String handling for libwww
STRINGS
Case-independent string comparison and allocations with copies etc
*/
#ifndef HTSTRING_H
#define HTSTRING_H
#include <HTUtils.h>
extern int WWW_TraceFlag; /* Global flag for all W3 trace */
extern CONST char * HTLibraryVersion; /* String for help screen etc */
/*
Case-insensitive string comparison
The usual routines (comp instead of cmp) had some problem.
*/
extern int strcasecomp PARAMS((CONST char *a, CONST char *b));
extern int strncasecomp PARAMS((CONST char *a, CONST char *b, int n));
extern int strcasecomp8 PARAMS((CONST char *a, CONST char *b));
extern int strncasecomp8 PARAMS((CONST char *a, CONST char *b, int n));
/*
** strcasecomp8 and strncasecomp8 are variants of strcasecomp
** and strncasecomp, but use 8bit upper/lower case information
** from the current display charset
*/
/*
Malloced string manipulation
*/
#define StrAllocCopy(dest, src) HTSACopy (&(dest), src)
#define StrAllocCat(dest, src) HTSACat (&(dest), src)
extern char * HTSACopy PARAMS ((char **dest, CONST char *src));
extern char * HTSACat PARAMS ((char **dest, CONST char *src));
/*
Next word or quoted string
*/
extern char * HTNextField PARAMS ((char** pstr));
/* A more general parser - kw */
extern char * HTNextTok PARAMS((char ** pstr,
CONST char * delims, CONST char * bracks, char * found));
#if ANSI_VARARGS
extern char * HTSprintf PARAMS((char ** pstr, CONST char * fmt, ...))
GCC_PRINTFLIKE(2,3);
extern char * HTSprintf0 PARAMS((char ** pstr, CONST char * fmt, ...))
GCC_PRINTFLIKE(2,3);
#else
extern char * HTSprintf () GCC_PRINTFLIKE(2,3);
extern char * HTSprintf0 () GCC_PRINTFLIKE(2,3);
#endif
#endif /* HTSTRING_H */
|