diff th_string.h @ 0:bd61a80a6c54

Initial import into Mercurial repository. Discarding old cvs/svn history here, because it's cluttered and commit messages are mostly crap.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 26 Mar 2008 04:41:58 +0200
parents
children 41885619fc79
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/th_string.h	Wed Mar 26 04:41:58 2008 +0200
@@ -0,0 +1,66 @@
+/*
+ * Miscellaneous string-handling related utility-functions
+ * Programmed and designed by Matti 'ccr' Hamalainen
+ * (C) Copyright 2002-2008 Tecnic Software productions (TNSP)
+ *
+ * Please read file 'COPYING' for information on license and distribution.
+ */
+#ifndef _TH_STRING_H
+#define _TH_STRING_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "th_util.h"
+#include <stdlib.h>
+#include <ctype.h>
+
+/* Macros
+ */
+#define th_isalnum(c)	isalnum((int)(unsigned char) c)
+#define th_isalpha(c)	isalpha((int)(unsigned char) c)
+#define th_isascii(c)	isascii((int)(unsigned char) c)
+#define th_isblank(c)	isblank((int)(unsigned char) c)
+#define th_iscntrl(c)	iscntrl((int)(unsigned char) c)
+#define th_isdigit(c)	isdigit((int)(unsigned char) c)
+#define th_isgraph(c)	isgraph((int)(unsigned char) c)
+#define th_islower(c)	islower((int)(unsigned char) c)
+#define th_isprint(c)	isprint((int)(unsigned char) c)
+#define th_ispunct(c)	ispunct((int)(unsigned char) c)
+#define th_isspace(c)	isspace((int)(unsigned char) c)
+#define th_isupper(c)	isupper((int)(unsigned char) c)
+#define th_isxdigit(c)	isxdigit((int)(unsigned char) c)
+#define th_iscrlf(c)	((c=='\r')||(c=='\n'))
+
+#define th_isspecial(q)	(((q >= 0x5b) && (q <= 0x60)) || ((q >= 0x7b) && (q <= 0x7d)))
+
+#define th_tolower(c)	tolower((int)(unsigned char) c)
+#define th_toupper(c)	toupper((int)(unsigned char) c)
+
+
+/* Normal NUL-terminated string functions
+ */
+char	*th_stralloc(size_t);
+char	*th_strrealloc(char *, size_t);
+char	*th_strdup(char *);
+char	*th_strncpy(char *, char *, size_t);
+int	th_strcasecmp(char *, char *);
+int	th_strncasecmp(char *, char *, size_t);
+void	th_strip_ctrlchars(char *);
+
+int	th_pstrcpy(char **, char *);
+int	th_pstrcat(char **, char *);
+
+char	*th_findnext(char *, size_t *);
+char	*th_findsep(char *, size_t *, char);
+char	*th_findseporspace(char *, size_t *, char);
+
+BOOL	th_strmatch(char *, char *);
+BOOL	th_strcasematch(char *, char *);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _TH_STRING_H */