/[pearpc]/src/tools/strtools.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /src/tools/strtools.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations)
Wed Sep 5 17:11:21 2007 UTC (16 years, 7 months ago) by dpavlin
File MIME type: text/plain
File size: 2558 byte(s)
import upstream CVS
1 dpavlin 1 /*
2     * HT Editor
3     * strtools.h
4     *
5     * Copyright (C) 1999-2002 Stefan Weyergraf
6     * Copyright (C) 1999-2003 Sebastian Biallas (sb@biallas.net)
7     *
8     * This program is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2 as
10     * published by the Free Software Foundation.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with this program; if not, write to the Free Software
19     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20     */
21    
22     #ifndef __STRTOOLS_H__
23     #define __STRTOOLS_H__
24    
25     #include "system/types.h"
26     #include "data.h"
27    
28     char *ht_strdup(const char *str);
29     char *ht_strndup(const char *str, size_t maxlen);
30     int ht_strncpy(char *s1, const char *s2, size_t maxlen);
31     int ht_strncmp(const char *s1, const char *s2, size_t max);
32     int ht_strnicmp(const char *s1, const char *s2, size_t max);
33     int ht_stricmp(const char *s1, const char *s2);
34    
35     int strcicomm(const char *s1, const char *s2);
36     int strccomm(const char *s1, const char *s2);
37     #define strend(s) ((s)+strlen(s))
38     int escape_special_str(char *result, int resultmaxlen, const char *s, const char *specialchars = NULL, bool bit7 = true);
39     int escape_special(char *result, int resultmaxlen, const void *s, int len, const char *specialchars = NULL, bool bit7 = true);
40     int unescape_special_str(char *result, int resultmaxlen, const char *s);
41     int unescape_special(void *result, int resultmaxlen, const char *s);
42     int bin2str(char *result, const void *s, int len);
43     void wide_char_to_multi_byte(char *result, const byte *unicode, int maxlen);
44    
45     void memdowncase(byte *buf, int len);
46     byte *ht_memmem(const byte *haystack, int haystack_len, const byte *needle, int needle_len);
47    
48     /* common string parsing functions */
49     void non_whitespaces(char *&str);
50     void whitespaces(char *&str);
51     bool waitforchar(char *&str, char b);
52    
53     /* string evaluation functions */
54     bool parseIntStr(const char *&str, uint64 &u64, int defaultbase);
55    
56     /* hex/string functions */
57     int hexdigit(char a);
58    
59     bool hexb_ex(uint8 &result, const char *s);
60     bool hexw_ex(uint16 &result, const char *s);
61     bool hexd_ex(uint32 &result, const char *s);
62    
63     char *mkhexb(char *buf, uint8 d);
64     char *mkhexw(char *buf, uint16 d);
65     char *mkhexd(char *buf, uint32 d);
66     char *mkhexq(char *buf, uint64 q);
67    
68     #endif /* !__STRTOOLS_H__ */

  ViewVC Help
Powered by ViewVC 1.1.26