MagickCore  6.9.11-60
Convert, Edit, Or Compose Bitmap Images
string_.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore string methods.
17 */
18 #ifndef MAGICKCORE_STRING_H_
19 #define MAGICKCORE_STRING_H_
20 
21 #include <stdarg.h>
22 #include <time.h>
23 #include "magick/exception.h"
24 
25 #if defined(__cplusplus) || defined(c_plusplus)
26 extern "C" {
27 #endif
28 
29 typedef struct _StringInfo
30 {
31  char
33 
34  unsigned char
36 
37  size_t
40 
41  char
42  *name;
44 
45 extern MagickExport char
46  *AcquireString(const char *),
47  *CloneString(char **,const char *),
48  *ConstantString(const char *),
49  *DestroyString(char *),
50  **DestroyStringList(char **),
51  *EscapeString(const char *,const char),
52  *FileToString(const char *,const size_t,ExceptionInfo *),
53  *GetEnvironmentValue(const char *),
54  *SanitizeString(const char *),
57  **StringToArgv(const char *,int *),
58  *StringToken(const char *,char **),
59  **StringToList(const char *),
60  **StringToStrings(const char *,size_t *);
61 
62 extern MagickExport const char
64  *GetStringInfoPath(const StringInfo *);
65 
66 extern MagickExport double
68  *StringToArrayOfDoubles(const char *,ssize_t *, ExceptionInfo *);
69 
70 extern MagickExport int
71  CompareStringInfo(const StringInfo *,const StringInfo *);
72 
75  IsStringTrue(const char *) magick_attribute((__pure__)),
76  IsStringNotFalse(const char *) magick_attribute((__pure__)),
77  SubstituteString(char **,const char *,const char *);
78 
79 extern MagickExport size_t
81  const size_t) magick_attribute((__nonnull__)),
83  const size_t) magick_attribute((__nonnull__)),
85 
86 extern MagickExport ssize_t
88 
90  *AcquireStringInfo(const size_t),
91  *BlobToStringInfo(const void *,const size_t),
93  *ConfigureFileToStringInfo(const char *),
95  *FileToStringInfo(const char *,const size_t,ExceptionInfo *),
96  *SplitStringInfo(StringInfo *,const size_t),
97  *StringToStringInfo(const char *);
98 
99 extern MagickExport unsigned char
100  *GetStringInfoDatum(const StringInfo *);
101 
102 extern MagickExport void
104  magick_attribute((__nonnull__)),
105  PrintStringInfo(FILE *file,const char *,const StringInfo *),
108  SetStringInfoDatum(StringInfo *,const unsigned char *),
110  SetStringInfoName(StringInfo *,const char *),
111  SetStringInfoPath(StringInfo *,const char *),
112  StripString(char *);
113 
114 #if defined(__cplusplus) || defined(c_plusplus)
115 }
116 #endif
117 
118 #endif
StringToStringInfo
MagickExport StringInfo * StringToStringInfo(const char *)
Definition: string.c:2446
AcquireStringInfo
MagickExport StringInfo * AcquireStringInfo(const size_t)
CloneString
MagickExport char * CloneString(char **destination, const char *source)
Definition: string.c:283
MagickExport
#define MagickExport
Definition: method-attribute.h:80
SetStringInfoDatum
MagickExport void SetStringInfoDatum(StringInfo *, const unsigned char *)
StringToStrings
MagickExport char ** StringToStrings(const char *text, size_t *count)
Definition: string.c:2297
_StringInfo::name
char * name
Definition: string_.h:42
StringInfo
struct _StringInfo StringInfo
StringToList
MagickExport char ** StringToList(const char *)
DestroyStringInfo
MagickExport StringInfo * DestroyStringInfo(StringInfo *)
CharsPerLine
#define CharsPerLine
Definition: string.c:63
GetStringInfoPath
MagickExport const char * GetStringInfoPath(const StringInfo *string_info)
Definition: string.c:1270
SanitizeString
MagickExport char * SanitizeString(const char *)
IsStringNotFalse
MagickExport MagickBooleanType IsStringNotFalse(const char *value)
Definition: string.c:1435
StringToken
MagickExport char * StringToken(const char *delimiters, char **string)
Definition: string.c:2203
_StringInfo::signature
size_t signature
Definition: string_.h:39
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
nt-base-private.h
BlobToStringInfo
MagickExport StringInfo * BlobToStringInfo(const void *blob, const size_t length)
Definition: string.c:226
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
O_BINARY
#define O_BINARY
Definition: studio.h:362
StringToken
MagickExport char * StringToken(const char *, char **)
FormatLocaleString
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:497
SetStringInfoPath
MagickExport void SetStringInfoPath(StringInfo *, const char *)
ResizeQuantumMemory
MagickExport void * ResizeQuantumMemory(void *memory, const size_t count, const size_t quantum)
Definition: memory.c:1447
ConfigureFileToStringInfo
MagickExport StringInfo * ConfigureFileToStringInfo(const char *filename)
Definition: string.c:591
SetStringInfo
MagickExport void SetStringInfo(StringInfo *, const StringInfo *)
DestroyStringList
MagickExport char ** DestroyStringList(char **list)
Definition: string.c:871
StringInfoToHexString
MagickExport char * StringInfoToHexString(const StringInfo *string_info)
Definition: string.c:1901
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
property.h
ResetStringInfo
MagickExport void ResetStringInfo(StringInfo *string_info)
Definition: string.c:1561
GetStringInfoLength
MagickExport size_t GetStringInfoLength(const StringInfo *string_info)
Definition: string.c:1212
ConcatenateMagickString
MagickExport size_t ConcatenateMagickString(char *magick_restrict, const char *magick_restrict, const size_t) magick_attribute((__nonnull__))
image-private.h
UnmapBlob
MagickExport MagickBooleanType UnmapBlob(void *, const size_t)
Definition: blob.c:4752
GetStringInfoName
MagickExport const char * GetStringInfoName(const StringInfo *)
CompareStringInfo
MagickExport int CompareStringInfo(const StringInfo *, const StringInfo *)
Definition: string.c:377
PrintStringInfo
MagickExport void PrintStringInfo(FILE *file, const char *id, const StringInfo *string_info)
Definition: string.c:1477
MagickSizeType
size_t MagickSizeType
Definition: magick-type.h:140
StringToList
MagickExport char ** StringToList(const char *text)
Definition: string.c:2266
resource_.h
ConcatenateStringInfo
MagickExport void ConcatenateStringInfo(StringInfo *, const StringInfo *) magick_attribute((__nonnull__))
SplitStringInfo
MagickExport StringInfo * SplitStringInfo(StringInfo *string_info, const size_t offset)
Definition: string.c:1820
FileToBlob
MagickExport unsigned char * FileToBlob(const char *filename, const size_t extent, size_t *length, ExceptionInfo *exception)
Definition: blob.c:1093
ConfigureFileToStringInfo
MagickExport StringInfo * ConfigureFileToStringInfo(const char *)
FileToStringInfo
MagickExport StringInfo * FileToStringInfo(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:1021
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
GetStringInfoLength
MagickExport size_t GetStringInfoLength(const StringInfo *)
Definition: string.c:1212
StripString
MagickExport void StripString(char *)
Definition: string.c:2480
string_.h
IsStringTrue
MagickExport MagickBooleanType IsStringTrue(const char *) magick_attribute((__pure__))
GetStringInfoName
MagickExport const char * GetStringInfoName(const StringInfo *string_info)
Definition: string.c:1241
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:808
AsciiMap
static const unsigned char AsciiMap[]
Definition: string.c:70
MagickTrue
@ MagickTrue
Definition: magick-type.h:205
blob.h
StringToStringInfo
MagickExport StringInfo * StringToStringInfo(const char *string)
Definition: string.c:2446
StringInfoToString
MagickExport char * StringInfoToString(const StringInfo *string_info)
Definition: string.c:1860
blob-private.h
StringToArrayOfDoubles
MagickExport double * StringToArrayOfDoubles(const char *, ssize_t *, ExceptionInfo *)
Definition: string.c:2104
AcquireStringInfo
MagickExport StringInfo * AcquireStringInfo(const size_t length)
Definition: string.c:184
DestroyString
MagickExport char * DestroyString(char *)
SetStringInfoLength
MagickExport void SetStringInfoLength(StringInfo *string_info, const size_t length)
Definition: string.c:1714
TraceEvent
@ TraceEvent
Definition: log.h:38
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:552
AcquireString
MagickExport char * AcquireString(const char *)
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:402
EscapeString
MagickExport char * EscapeString(const char *source, const char escape)
Definition: string.c:912
ConcatenateMagickString
MagickExport size_t ConcatenateMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
Definition: string.c:425
SubstituteString
MagickExport MagickBooleanType SubstituteString(char **string, const char *search, const char *replace)
Definition: string.c:2542
SetStringInfoDatum
MagickExport void SetStringInfoDatum(StringInfo *string_info, const unsigned char *source)
Definition: string.c:1681
SetStringInfo
MagickExport void SetStringInfo(StringInfo *string_info, const StringInfo *source)
Definition: string.c:1641
StripString
MagickExport void StripString(char *message)
Definition: string.c:2480
ConstantString
MagickExport char * ConstantString(const char *)
FormatMagickSize
MagickExport ssize_t FormatMagickSize(const MagickSizeType size, const MagickBooleanType bi, char *format)
Definition: string.c:1070
StringToStrings
MagickExport char ** StringToStrings(const char *, size_t *)
Definition: string.c:2297
_StringInfo::length
size_t length
Definition: string_.h:38
ConcatenateString
MagickExport MagickBooleanType ConcatenateString(char **magick_restrict destination, const char *magick_restrict source)
Definition: string.c:491
FileToString
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:983
CloneString
MagickExport char * CloneString(char **, const char *)
_StringInfo::datum
unsigned char * datum
Definition: string_.h:35
nt-base.h
SanitizeString
MagickExport char * SanitizeString(const char *source)
Definition: string.c:1593
SplitStringInfo
MagickExport StringInfo * SplitStringInfo(StringInfo *, const size_t)
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1435
InterpretSiPrefixValue
MagickExport double InterpretSiPrefixValue(const char *magick_restrict, char **magick_restrict)
SetStringInfoName
MagickExport void SetStringInfoName(StringInfo *string_info, const char *name)
Definition: string.c:1758
locale_.h
StringInfoToHexString
MagickExport char * StringInfoToHexString(const StringInfo *)
StringToArgv
MagickExport char ** StringToArgv(const char *text, int *argc)
Definition: string.c:1989
MagickFalse
@ MagickFalse
Definition: magick-type.h:204
GetStringInfoPath
MagickExport const char * GetStringInfoPath(const StringInfo *)
Definition: string.c:1270
ResetStringInfo
MagickExport void ResetStringInfo(StringInfo *)
GetEnvironmentValue
MagickExport char * GetEnvironmentValue(const char *)
SubstituteString
MagickExport MagickBooleanType SubstituteString(char **, const char *, const char *)
Definition: string.c:2542
SetStringInfoLength
MagickExport void SetStringInfoLength(StringInfo *, const size_t)
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
log.h
magick_attribute
MagickExport MagickBooleanType magick_attribute((deprecated))
ConstantString
MagickExport char * ConstantString(const char *source)
Definition: string.c:698
DestroyStringList
MagickExport char ** DestroyStringList(char **)
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:203
StringToDouble
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string-private.h:82
ConcatenateString
MagickExport MagickBooleanType ConcatenateString(char **magick_restrict, const char *magick_restrict)
_StringInfo::path
char path[MaxTextExtent]
Definition: string_.h:32
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
_ExceptionInfo
Definition: exception.h:103
utility-private.h
PrintStringInfo
MagickExport void PrintStringInfo(FILE *file, const char *, const StringInfo *)
studio.h
StringToArrayOfDoubles
MagickExport double * StringToArrayOfDoubles(const char *string, ssize_t *count, ExceptionInfo *exception)
Definition: string.c:2104
IsStringNotFalse
MagickExport MagickBooleanType IsStringNotFalse(const char *) magick_attribute((__pure__))
CompareStringInfo
MagickExport int CompareStringInfo(const StringInfo *target, const StringInfo *source)
Definition: string.c:377
ConcatenateStringInfo
MagickExport void ConcatenateStringInfo(StringInfo *string_info, const StringInfo *source)
Definition: string.c:551
CopyMagickString
MagickExport size_t CopyMagickString(char *magick_restrict, const char *magick_restrict, const size_t) magick_attribute((__nonnull__))
CloneStringInfo
MagickExport StringInfo * CloneStringInfo(const StringInfo *string_info)
Definition: string.c:335
FileToString
MagickExport char * FileToString(const char *, const size_t, ExceptionInfo *)
memory_.h
GetStringInfoDatum
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
Definition: string.c:1183
signature-private.h
GetMagickPrecision
MagickExport int GetMagickPrecision(void)
Definition: magick.c:690
SetStringInfoName
MagickExport void SetStringInfoName(StringInfo *, const char *)
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:119
StringInfoToString
MagickExport char * StringInfoToString(const StringInfo *)
InterpretSiPrefixValue
MagickExport double InterpretSiPrefixValue(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string.c:1304
GetEnvironmentValue
MagickExport char * GetEnvironmentValue(const char *name)
Definition: string.c:1150
exception-private.h
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1149
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
IsStringTrue
MagickExport MagickBooleanType IsStringTrue(const char *value)
Definition: string.c:1393
exception.h
DestroyStringInfo
MagickExport StringInfo * DestroyStringInfo(StringInfo *string_info)
Definition: string.c:835
ReadMode
@ ReadMode
Definition: blob.h:33
InterpretLocaleValue
MagickExport double InterpretLocaleValue(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: locale.c:1000
CopyMagickString
MagickExport size_t CopyMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
Definition: string.c:751
list.h
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
SetStringInfoPath
MagickExport void SetStringInfoPath(StringInfo *string_info, const char *path)
Definition: string.c:1790
string-private.h
AcquireStringInfoContainer
static StringInfo * AcquireStringInfoContainer()
Definition: string.c:171
CloneStringInfo
MagickExport StringInfo * CloneStringInfo(const StringInfo *)
GetStringInfoDatum
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *)
Definition: string.c:1183
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
AcquireString
MagickExport char * AcquireString(const char *source)
Definition: string.c:125
MagickMin
#define MagickMin(x, y)
Definition: image-private.h:37
open_utf8
static int open_utf8(const char *path, int flags, mode_t mode)
Definition: utility-private.h:166
_StringInfo
Definition: string_.h:30
MapBlob
MagickExport unsigned char * MapBlob(int, const MapMode, const MagickOffsetType, const size_t)
Definition: blob.c:2392
MAGICK_SSIZE_MAX
#define MAGICK_SSIZE_MAX
Definition: studio.h:382
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
StringToArgv
MagickExport char ** StringToArgv(const char *, int *)
MagickOffsetType
ssize_t MagickOffsetType
Definition: magick-type.h:139
FormatMagickSize
MagickExport ssize_t FormatMagickSize(const MagickSizeType, const MagickBooleanType, char *)
Definition: string.c:1070
EscapeString
MagickExport char * EscapeString(const char *, const char)
MagickPathExtent
#define MagickPathExtent
Definition: magick-type.h:31
BlobToStringInfo
MagickExport StringInfo * BlobToStringInfo(const void *, const size_t)
FileToStringInfo
MagickExport StringInfo * FileToStringInfo(const char *, const size_t, ExceptionInfo *)