Sun, 01 Jun 2025 21:48:22 +0200
fix build with openssl version < 3.0
| 1 | 1 | /* |
| 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. | |
| 3 | * | |
| 4 | * Copyright 2008 Sun Microsystems, Inc. All rights reserved. | |
| 5 | * | |
| 6 | * THE BSD LICENSE | |
| 7 | * | |
| 8 | * Redistribution and use in source and binary forms, with or without | |
| 9 | * modification, are permitted provided that the following conditions are met: | |
| 10 | * | |
| 11 | * Redistributions of source code must retain the above copyright notice, this | |
| 12 | * list of conditions and the following disclaimer. | |
| 13 | * Redistributions in binary form must reproduce the above copyright notice, | |
| 14 | * this list of conditions and the following disclaimer in the documentation | |
| 15 | * and/or other materials provided with the distribution. | |
| 16 | * | |
| 17 | * Neither the name of the nor the names of its contributors may be | |
| 18 | * used to endorse or promote products derived from this software without | |
| 19 | * specific prior written permission. | |
| 20 | * | |
| 21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
| 22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
| 23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
| 24 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER | |
| 25 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
| 26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
| 27 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | |
| 28 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |
| 29 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
| 30 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |
| 31 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 32 | */ | |
| 33 | ||
| 34 | #ifndef BASE_UTIL_H | |
| 35 | #define BASE_UTIL_H | |
| 36 | ||
|
14
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
1
diff
changeset
|
37 | #include "../daemon/netsite.h" |
|
415
d938228c382e
switch from ucx 2 to 3
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
386
diff
changeset
|
38 | #include <cx/string.h> |
|
58
66c22e54aa90
webdav uses the vfs api
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
48
diff
changeset
|
39 | #include "pool.h" |
|
148
d861ee1455bf
removes some unused stuff
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
127
diff
changeset
|
40 | |
|
d861ee1455bf
removes some unused stuff
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
127
diff
changeset
|
41 | #ifdef XP_UNIX |
|
48
37a512d7b8f6
fixed some memory leaks
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
24
diff
changeset
|
42 | #include <pwd.h> |
|
148
d861ee1455bf
removes some unused stuff
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
127
diff
changeset
|
43 | #endif |
| 1 | 44 | |
| 45 | #ifndef NOINTNSAPI | |
| 46 | #define INTNSAPI | |
| 47 | #endif /* !NOINTNSAPI */ | |
| 48 | ||
| 49 | /* | |
| 50 | * util.h: A hodge podge of utility functions and standard functions which | |
| 51 | * are unavailable on certain systems | |
| 52 | * | |
| 53 | * Rob McCool | |
| 54 | */ | |
| 55 | ||
| 56 | /* Needed for various reentrant functions */ | |
| 57 | #define DEF_CTIMEBUF 26 | |
| 58 | #define DEF_ERRBUF 256 | |
| 59 | #define DEF_PWBUF 1024 | |
| 60 | ||
| 61 | #ifndef BASE_BUFFER_H | |
| 62 | //include "buffer.h" /* filebuf for getline */ | |
| 63 | #endif /* !BASE_BUFFER_H */ | |
| 64 | ||
| 65 | /* | |
| 66 | * UTIL_ITOA_SIZE is the minimum size for buffers passed to util_itoa(). | |
| 67 | */ | |
| 68 | #define UTIL_ITOA_SIZE 12 | |
| 69 | ||
| 70 | /* | |
| 71 | * UTIL_I64TOA_SIZE is the minimum size for buffers passed to util_i64toa(). | |
| 72 | */ | |
| 73 | #define UTIL_I64TOA_SIZE 21 | |
| 74 | ||
| 75 | /* --- Begin common function prototypes --- */ | |
| 76 | ||
| 77 | #ifdef INTNSAPI | |
| 78 | ||
|
24
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
79 | #ifdef __cplusplus |
|
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
80 | extern "C" { |
|
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
81 | #endif |
| 1 | 82 | |
|
127
84e206063b64
adds minimal websocket implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
119
diff
changeset
|
83 | size_t util_base64decode(char *bufcoded, size_t codedbytes, char *bufout); |
|
84e206063b64
adds minimal websocket implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
119
diff
changeset
|
84 | char* util_base64encode(char *in, size_t len); |
|
62
c47e081b6c0f
added keyfile based authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
58
diff
changeset
|
85 | |
| 1 | 86 | NSAPI_PUBLIC |
| 87 | int INTutil_init_PRNetAddr(PRNetAddr * naddr, char * ipstr, int iplen, int type); | |
| 88 | ||
| 89 | NSAPI_PUBLIC | |
| 90 | int INTutil_getline(filebuffer *buf, int lineno, int maxlen, char *l); | |
| 91 | ||
| 92 | NSAPI_PUBLIC char **INTutil_env_create(char **env, int n, int *pos); | |
| 93 | ||
| 94 | NSAPI_PUBLIC char *INTutil_env_str(const char *name, const char *value); | |
| 95 | ||
| 96 | NSAPI_PUBLIC void INTutil_env_replace(char **env, const char *name, const char *value); | |
| 97 | ||
| 98 | NSAPI_PUBLIC void INTutil_env_free(char **env); | |
| 99 | ||
| 100 | NSAPI_PUBLIC char **INTutil_env_copy(char **src, char **dst); | |
| 101 | ||
| 102 | NSAPI_PUBLIC char *INTutil_env_find(char **env, const char *name); | |
| 103 | ||
| 104 | NSAPI_PUBLIC char **util_argv_parse(const char *cmdline); | |
| 105 | ||
| 106 | NSAPI_PUBLIC char *INTutil_hostname(void); | |
| 107 | ||
| 108 | NSAPI_PUBLIC int INTutil_chdir2path(char *path); | |
| 109 | ||
| 110 | NSAPI_PUBLIC int INTutil_chdir(const char *path); | |
| 111 | ||
| 112 | NSAPI_PUBLIC char *INTutil_getcwd(void); | |
| 113 | ||
| 114 | NSAPI_PUBLIC int INTutil_is_mozilla(char *ua, char *major, char *minor); | |
| 115 | ||
| 116 | NSAPI_PUBLIC int INTutil_is_url(const char *url); | |
| 117 | ||
| 118 | NSAPI_PUBLIC int INTutil_mstr2num(const char *s); | |
| 119 | ||
| 120 | NSAPI_PUBLIC int INTutil_later_than(const struct tm *lms, const char *ims); | |
| 121 | ||
| 122 | NSAPI_PUBLIC int INTutil_time_equal(const struct tm *lms, const char *ims); | |
| 123 | ||
| 124 | NSAPI_PUBLIC int INTutil_str_time_equal(const char *t1, const char *t2); | |
| 125 | ||
| 126 | NSAPI_PUBLIC int INTutil_uri_is_evil(const char *t); | |
| 127 | ||
| 128 | NSAPI_PUBLIC int INTutil_uri_is_evil_internal(const char *t, int, int); | |
| 129 | ||
| 130 | NSAPI_PUBLIC void INTutil_uri_parse(char *uri); | |
| 131 | ||
| 132 | #ifdef XP_WIN32 | |
| 133 | NSAPI_PUBLIC int INTutil_uri_unescape_and_normalize(pool_handle_t *pool, char *s, char *unnormalized); | |
| 134 | #endif /* XP_WIN32 */ | |
| 135 | ||
| 136 | NSAPI_PUBLIC void INTutil_uri_normalize_slashes(char *s); | |
| 137 | ||
| 138 | NSAPI_PUBLIC void INTutil_uri_unescape (char *s); | |
| 139 | ||
| 140 | NSAPI_PUBLIC int INTutil_uri_unescape_strict (char *s); | |
| 141 | ||
| 142 | NSAPI_PUBLIC int INTutil_uri_unescape_plus (const char *src, char *trg, int len); | |
| 143 | ||
| 144 | NSAPI_PUBLIC char *INTutil_uri_escape(char *d, const char *s); | |
| 145 | ||
| 146 | NSAPI_PUBLIC char *INTutil_uri_strip_params(char *uri); | |
| 147 | ||
| 148 | NSAPI_PUBLIC char* util_canonicalize_uri(pool_handle_t *pool, const char *uri, int len, int *pcanonlen); | |
| 149 | ||
| 150 | NSAPI_PUBLIC char* util_canonicalize_redirect(pool_handle_t *pool, const char *baseUri, const char *newUri); | |
| 151 | ||
| 152 | NSAPI_PUBLIC char *INTutil_url_escape(char *d, const char *s); | |
| 153 | ||
| 154 | NSAPI_PUBLIC char *INTutil_sh_escape(char *s); | |
| 155 | ||
| 156 | NSAPI_PUBLIC int INTutil_mime_separator(char *sep); | |
| 157 | ||
| 158 | NSAPI_PUBLIC int INTutil_itoa(int i, char *a); | |
| 159 | ||
|
24
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
160 | NSAPI_PUBLIC int INTutil_i64toa(int64_t i, char *a); |
| 1 | 161 | |
| 162 | ||
| 163 | NSAPI_PUBLIC | |
| 164 | int INTutil_vsprintf(char *s, register const char *fmt, va_list args); | |
| 165 | ||
| 166 | NSAPI_PUBLIC int INTutil_sprintf(char *s, const char *fmt, ...); | |
| 167 | ||
| 168 | NSAPI_PUBLIC int INTutil_vsnprintf(char *s, int n, register const char *fmt, | |
| 169 | va_list args); | |
| 170 | ||
| 171 | NSAPI_PUBLIC int INTutil_snprintf(char *s, int n, const char *fmt, ...); | |
| 172 | ||
|
338
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
173 | NSAPI_PUBLIC int util_vasprintf(pool_handle_t *pool, char **s, const char *fmt, |
|
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
174 | va_list args); |
|
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
175 | |
|
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
176 | NSAPI_PUBLIC int util_asprintf(pool_handle_t *pool, char **s, const char *fmt, ...); |
|
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
177 | |
| 1 | 178 | NSAPI_PUBLIC int util_strlftime(char *dst, size_t dstsize, const char *format, const struct tm *t); |
| 179 | ||
| 180 | NSAPI_PUBLIC int INTutil_strftime(char *s, const char *format, const struct tm *t); | |
| 181 | ||
| 182 | NSAPI_PUBLIC char *INTutil_strtok(char *s1, const char *s2, char **lasts); | |
| 183 | ||
| 184 | NSAPI_PUBLIC struct tm *INTutil_localtime(const time_t *clock, struct tm *res); | |
| 185 | ||
| 186 | NSAPI_PUBLIC char *INTutil_ctime(const time_t *clock, char *buf, int buflen); | |
| 187 | ||
| 188 | NSAPI_PUBLIC char *INTutil_strerror(int errnum, char *msg, int buflen); | |
| 189 | ||
| 190 | NSAPI_PUBLIC struct tm *INTutil_gmtime(const time_t *clock, struct tm *res); | |
| 191 | ||
| 192 | NSAPI_PUBLIC char *INTutil_asctime(const struct tm *tm,char *buf, int buflen); | |
| 193 | ||
| 194 | NSAPI_PUBLIC char *INTutil_cookie_find(char *cookie, const char *name); | |
| 195 | ||
| 196 | NSAPI_PUBLIC char *INTutil_cookie_next(char *cookie, char **name, char **value); | |
| 197 | ||
| 198 | NSAPI_PUBLIC char *INTutil_cookie_next_av_pair(char *cookie, char **name, char **value); | |
| 199 | ||
| 200 | NSAPI_PUBLIC void INTutil_random(void *buf, size_t sz); | |
| 201 | ||
| 202 | NSAPI_PUBLIC PRBool INTutil_format_http_version(const char *v, int *protv_num, char *buffer, int size); | |
| 203 | ||
| 204 | NSAPI_PUBLIC int INTutil_getboolean(const char *v, int def); | |
|
415
d938228c382e
switch from ucx 2 to 3
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
386
diff
changeset
|
205 | int util_getboolean_s(cxstring s, int def); |
|
24
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
206 | |
|
119
155cbab9eefd
adds support for CGI with request bodies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
106
diff
changeset
|
207 | // new |
|
282
cfb588e27198
add support for getstat parameter in pg readdir
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
278
diff
changeset
|
208 | NSAPI_PUBLIC int util_strtoint(const char *str, int64_t *value); |
|
278
38bf7b42b58c
implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
274
diff
changeset
|
209 | NSAPI_PUBLIC const char* util_resource_name(const char *url); |
|
285
96e53bd94958
add support for O_CREAT flag in postgresql vfs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
282
diff
changeset
|
210 | NSAPI_PUBLIC char* util_parent_path(const char *path); |
|
382
9e2289c77b04
disable pg large object IO functions for collections
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
338
diff
changeset
|
211 | NSAPI_PUBLIC char* util_parent_path_pool(pool_handle_t *pool, const char *path); |
|
119
155cbab9eefd
adds support for CGI with request bodies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
106
diff
changeset
|
212 | |
|
24
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
213 | // TODO |
|
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
214 | //NSAPI_PUBLIC PRIntervalTime INTutil_getinterval(const char *v, PRIntervalTime def); |
| 1 | 215 | |
| 216 | #ifdef NEED_STRCASECMP | |
| 217 | NSAPI_PUBLIC int INTutil_strcasecmp(const char *one, const char *two); | |
| 218 | #endif /* NEED_STRCASECMP */ | |
| 219 | ||
| 220 | #ifdef NEED_STRNCASECMP | |
| 221 | NSAPI_PUBLIC int INTutil_strncasecmp(const char *one, const char *two, int n); | |
| 222 | #endif /* NEED_STRNCASECMP */ | |
| 223 | ||
| 224 | NSAPI_PUBLIC char *INTutil_strcasestr(char *str, const char *substr); | |
| 225 | ||
| 226 | NSAPI_PUBLIC size_t util_strlcpy(char *dst, const char *src, size_t dstsize); | |
| 227 | ||
| 228 | NSAPI_PUBLIC size_t util_strlcat(char *dst, const char *src, size_t dstsize); | |
| 229 | ||
| 230 | NSAPI_PUBLIC char *INTutil_uuencode(const char *src, int len); | |
| 231 | ||
| 232 | NSAPI_PUBLIC char *INTutil_uudecode(const char *src); | |
| 233 | ||
| 234 | NSAPI_PUBLIC char *util_strlower(char *s); | |
| 235 | ||
| 236 | NSAPI_PUBLIC char *util_decrement_string(char *s); | |
| 237 | ||
|
24
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
238 | NSAPI_PUBLIC int64_t util_atoi64(const char *a); |
| 1 | 239 | |
| 240 | NSAPI_PUBLIC int util_qtoi(const char *q, const char **p); | |
| 241 | ||
|
58
66c22e54aa90
webdav uses the vfs api
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
48
diff
changeset
|
242 | /* path utils */ |
|
66c22e54aa90
webdav uses the vfs api
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
48
diff
changeset
|
243 | NSAPI_PUBLIC |
|
415
d938228c382e
switch from ucx 2 to 3
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
386
diff
changeset
|
244 | cxmutstr util_path_append(pool_handle_t *pool, char *path, char *child); |
|
63
66442f81f823
supports file system ACLs on Solaris
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
62
diff
changeset
|
245 | NSAPI_PUBLIC |
|
415
d938228c382e
switch from ucx 2 to 3
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
386
diff
changeset
|
246 | cxmutstr util_path_remove_last(cxmutstr path); |
|
96
0185b13bf41f
added document-root and pfx2dir nametrans safs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
91
diff
changeset
|
247 | NSAPI_PUBLIC |
|
415
d938228c382e
switch from ucx 2 to 3
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
386
diff
changeset
|
248 | void util_add_ppath(cxmutstr root, cxmutstr path, pblock *vars); |
|
58
66c22e54aa90
webdav uses the vfs api
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
48
diff
changeset
|
249 | |
| 99 | 250 | |
|
415
d938228c382e
switch from ucx 2 to 3
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
386
diff
changeset
|
251 | int util_isdate(const char *str); |
|
104
a8acbb12f27c
implemented range requests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
99
diff
changeset
|
252 | |
| 1 | 253 | /* --- End common function prototypes --- */ |
| 254 | ||
| 255 | /* --- Begin Unix-only function prototypes --- */ | |
| 256 | ||
| 257 | #ifdef XP_UNIX | |
| 258 | ||
| 259 | NSAPI_PUBLIC int INTutil_can_exec(struct stat *finfo, uid_t uid, gid_t gid); | |
| 260 | ||
| 261 | NSAPI_PUBLIC | |
| 262 | struct passwd *INTutil_getpwnam(const char *name, struct passwd *result, | |
| 263 | char *buffer, int buflen); | |
| 264 | ||
| 265 | NSAPI_PUBLIC | |
| 266 | struct passwd *INTutil_getpwuid(uid_t uid, struct passwd *result, | |
| 267 | char *buffer, int buflen); | |
| 268 | ||
| 269 | NSAPI_PUBLIC pid_t INTutil_waitpid(pid_t pid, int *statptr, int options); | |
| 270 | ||
| 271 | #endif /* XP_UNIX */ | |
| 272 | ||
| 273 | /* --- End Unix-only function prototypes --- */ | |
| 274 | ||
| 275 | /* --- Begin Windows-only function prototypes --- */ | |
| 276 | ||
| 277 | #ifdef XP_WIN32 | |
| 278 | ||
| 279 | NSAPI_PUBLIC | |
| 280 | VOID INTutil_delete_directory(char *FileName, BOOL delete_directory); | |
| 281 | ||
| 282 | #endif /* XP_WIN32 */ | |
| 283 | ||
| 284 | /* --- End Windows-only function prototypes --- */ | |
| 285 | ||
|
24
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
286 | #ifdef __cplusplus |
|
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
287 | } |
|
1a7853a4257e
removed some NSPR dependencies
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
288 | #endif |
| 1 | 289 | |
| 290 | #ifdef __cplusplus | |
| 291 | ||
| 292 | NSAPI_PUBLIC const char *util_host_port_suffix(const char *h); | |
| 293 | ||
| 294 | #endif | |
| 295 | ||
| 296 | #define util_init_PRNetAddr INTutil_init_PRNetAddr | |
| 297 | #define util_getline INTutil_getline | |
| 298 | #define util_env_create INTutil_env_create | |
| 299 | #define util_env_str INTutil_env_str | |
| 300 | #define util_env_replace INTutil_env_replace | |
| 301 | #define util_env_free INTutil_env_free | |
| 302 | #define util_env_copy INTutil_env_copy | |
| 303 | #define util_env_find INTutil_env_find | |
| 304 | #define util_hostname INTutil_hostname | |
| 305 | #define util_chdir2path INTutil_chdir2path | |
| 306 | #define util_chdir INTutil_chdir | |
| 307 | #define util_getcwd INTutil_getcwd | |
| 308 | #define util_is_mozilla INTutil_is_mozilla | |
| 309 | #define util_is_url INTutil_is_url | |
| 310 | #define util_mstr2num INTutil_mstr2num | |
| 311 | #define util_later_than INTutil_later_than | |
| 312 | #define util_time_equal INTutil_time_equal | |
| 313 | #define util_str_time_equal INTutil_str_time_equal | |
| 314 | #define util_uri_is_evil INTutil_uri_is_evil | |
| 315 | #define util_uri_is_evil_internal INTutil_uri_is_evil_internal | |
| 316 | #define util_uri_parse INTutil_uri_parse | |
| 317 | #ifdef XP_WIN32 | |
| 318 | #define util_uri_unescape_and_normalize INTutil_uri_unescape_and_normalize | |
| 319 | #endif /* XP_WIN32 */ | |
| 320 | #define util_uri_normalize_slashes INTutil_uri_normalize_slashes | |
| 321 | #define util_uri_unescape INTutil_uri_unescape | |
| 322 | #define util_uri_unescape_strict INTutil_uri_unescape_strict | |
| 323 | #define util_uri_unescape_plus INTutil_uri_unescape_plus | |
| 324 | ||
| 325 | #define util_uri_escape INTutil_uri_escape | |
| 326 | #define util_uri_strip_params INTutil_uri_strip_params | |
| 327 | #define util_url_escape INTutil_url_escape | |
| 328 | #define util_sh_escape INTutil_sh_escape | |
| 329 | #define util_mime_separator INTutil_mime_separator | |
| 330 | #define util_itoa INTutil_itoa | |
| 331 | #define util_i64toa INTutil_i64toa | |
| 332 | #define util_vsprintf INTutil_vsprintf | |
| 333 | #define util_sprintf INTutil_sprintf | |
| 334 | #define util_vsnprintf INTutil_vsnprintf | |
| 335 | #define util_snprintf INTutil_snprintf | |
|
338
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
336 | #define util_vasprintf INTutil_vasprintf |
|
c62ea2a2133b
add util_asprintf and util_vasprintf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
285
diff
changeset
|
337 | #define util_asprintf INTutil_asprintf |
| 1 | 338 | #define util_strftime INTutil_strftime |
| 339 | #define util_strcasecmp INTutil_strcasecmp | |
| 340 | #define util_strncasecmp INTutil_strncasecmp | |
| 341 | #define util_strcasestr INTutil_strcasestr | |
| 342 | #define util_strtok INTutil_strtok | |
| 343 | #define util_localtime INTutil_localtime | |
| 344 | #define util_ctime INTutil_ctime | |
| 345 | #define util_strerror INTutil_strerror | |
| 346 | #define util_gmtime INTutil_gmtime | |
| 347 | #define util_asctime INTutil_asctime | |
| 348 | #define util_uuencode INTutil_uuencode | |
| 349 | #define util_uudecode INTutil_uudecode | |
| 350 | ||
| 351 | #ifdef XP_UNIX | |
| 352 | #define util_can_exec INTutil_can_exec | |
| 353 | #define util_getpwnam INTutil_getpwnam | |
| 354 | #define util_getpwuid INTutil_getpwuid | |
| 355 | #define util_waitpid INTutil_waitpid | |
| 356 | #endif /* XP_UNIX */ | |
| 357 | ||
| 358 | #ifdef XP_WIN32 | |
| 359 | #define util_delete_directory INTutil_delete_directory | |
| 360 | #endif /* XP_WIN32 */ | |
| 361 | ||
| 362 | #ifdef NEED_STRCASECMP | |
| 363 | #define util_strcasecmp INTutil_strcasecmp | |
| 364 | #define strcasecmp INTutil_strcasecmp | |
| 365 | #endif /* NEED_STRCASECMP */ | |
| 366 | ||
| 367 | #ifdef NEED_STRINGS_H /* usually for strcasecmp */ | |
| 368 | #include <strings.h> | |
| 369 | #endif | |
| 370 | ||
| 371 | #ifdef NEED_STRNCASECMP | |
| 372 | #define util_strncasecmp INTutil_strncasecmp | |
| 373 | #define strncasecmp INTutil_strncasecmp | |
| 374 | #endif /* NEED_STRNCASECMP */ | |
| 375 | ||
| 376 | #define util_cookie_find INTutil_cookie_find | |
| 377 | #define util_cookie_next INTutil_cookie_next | |
| 378 | #define util_cookie_next_av_pair INTutil_cookie_next_av_pair | |
| 379 | ||
| 380 | #define util_random INTutil_random | |
| 381 | #define util_format_http_version INTutil_format_http_version | |
| 382 | #define util_getboolean INTutil_getboolean | |
| 383 | #define util_getinterval INTutil_getinterval | |
| 384 | ||
| 385 | #ifdef XP_WIN32 | |
| 386 | void set_fullpathname(PRBool b); | |
| 387 | #endif /* XP_WIN32 */ | |
| 388 | #endif /* INTNSAPI */ | |
| 389 | ||
| 390 | #endif /* !BASE_UTIL_H */ | |
| 391 | ||
| 392 |