OpenDNSSEC-enforcer
1.3.9
Main Page
Data Structures
Files
File List
Globals
enforcer
ksm
include
ksm
string_util.h
Go to the documentation of this file.
1
/*
2
* $Id: string_util.h 875 2009-06-02 15:28:33Z sion $
3
*
4
* Copyright (c) 2008-2009 Nominet UK. All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
21
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
23
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
25
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*
27
*/
28
29
#ifndef KSM_STRING_UTIL_H
30
#define KSM_STRING_UTIL_H
31
32
/*+
33
* Filename: string_util.h
34
*
35
* Description:
36
* Definitions of the string utilities used by all the whois programs.
37
-*/
38
39
#include <
ksm/system_includes.h
>
40
#include <
ksm/memory.h
>
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
#define COMMENT_CHAR ("#")
47
48
void
StrUncomment
(
char
* line);
49
void
StrWhitespace
(
char
* line);
50
char
*
StrStrdup
(
const
char
*
string
);
51
void
StrStrncpy
(
char
* dest,
const
char
* src,
size_t
destlen);
52
void
StrStrncat
(
char
* dest,
const
char
* src,
size_t
destlen);
53
void
StrTrimR
(
char
* text);
54
char
*
StrTrimL
(
char
* text);
55
char
*
StrTrim
(
char
* text);
56
size_t
StrToLower
(
char
* text);
57
size_t
StrToUpper
(
char
* text);
58
size_t
StrReplaceCharN
(
char
*
string
,
size_t
len,
char
search,
char
replace);
59
size_t
StrReplaceChar
(
char
*
string
,
char
search,
char
replace);
60
size_t
StrTrimmedLength
(
const
char
*
string
);
61
62
/*
63
* The next definition allows for possible alternative memory strategies to
64
* be used for string routines. At any rate, StrFree() should be used to free
65
* a string allocated by StrStrdup().
66
*/
67
68
#define StrFree(x) MemFree(x)
69
70
/*
71
* A simple macro (the idea comes from the memcached code) that allows the
72
* compile-time determination of the length of a literal string. Note that
73
* the string must be declared by:
74
*
75
* char string[] = "this is a literal string"
76
*
77
* rather than
78
*
79
* char* string = "this is a literal string"
80
*
81
* Use of the macro on the former gives the correct string length. On the
82
* latter it gives "sizeof(char*) - 1".
83
*/
84
85
#define STR_LENGTH(x) (sizeof(x) - 1)
86
87
#ifdef __cplusplus
88
}
89
#endif
90
91
#endif
/* KSM_STRING_UTIL_H */
Generated on Fri Jun 29 2012 10:31:09 for OpenDNSSEC-enforcer by
1.8.1.1