view th_string.h @ 100:ed4067c10a8a

Remove useless buffer usage from error reporting function.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 17 Nov 2009 23:09:10 +0200
parents 69aed051f84d
children fe4d5f3b486c
line wrap: on
line source

/*
 * 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_strncpy(char *, const char *, size_t);
int     th_strcasecmp(char *, char *);
int     th_strncasecmp(char *, char *, size_t);
void    th_strip_ctrlchars(char *);

char    *th_strdup(const 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 */