MagickCore  6.9.12-38
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:2459
AcquireStringInfo
MagickExport StringInfo * AcquireStringInfo(const size_t)
CloneString
MagickExport char * CloneString(char **destination, const char *source)
Definition: string.c:284
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:2310
_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:64
GetStringInfoPath
MagickExport const char * GetStringInfoPath(const StringInfo *string_info)
Definition: string.c:1283
SanitizeString
MagickExport char * SanitizeString(const char *)
IsStringNotFalse
MagickExport MagickBooleanType IsStringNotFalse(const char *value)
Definition: string.c:1448
StringToken
MagickExport char * StringToken(const char *delimiters, char **string)
Definition: string.c:2216
_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:227
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
O_BINARY
#define O_BINARY
Definition: studio.h:358
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:1458
ConfigureFileToStringInfo
MagickExport StringInfo * ConfigureFileToStringInfo(const char *filename)
Definition: string.c:604
SetStringInfo
MagickExport void SetStringInfo(StringInfo *, const StringInfo *)
DestroyStringList
MagickExport char ** DestroyStringList(char **list)
Definition: string.c:884
StringInfoToHexString
MagickExport char * StringInfoToHexString(const StringInfo *string_info)
Definition: string.c:1914
memory-private.h
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
property.h
ResetStringInfo
MagickExport void ResetStringInfo(StringInfo *string_info)
Definition: string.c:1574
GetStringInfoLength
MagickExport size_t GetStringInfoLength(const StringInfo *string_info)
Definition: string.c:1225
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:4746
GetStringInfoName
MagickExport const char * GetStringInfoName(const StringInfo *)
CompareStringInfo
MagickExport int CompareStringInfo(const StringInfo *, const StringInfo *)
Definition: string.c:378
PrintStringInfo
MagickExport void PrintStringInfo(FILE *file, const char *id, const StringInfo *string_info)
Definition: string.c:1490
MagickSizeType
size_t MagickSizeType
Definition: magick-type.h:136
StringToList
MagickExport char ** StringToList(const char *text)
Definition: string.c:2279
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:1833
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:1034
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
GetStringInfoLength
MagickExport size_t GetStringInfoLength(const StringInfo *)
Definition: string.c:1225
StripString
MagickExport void StripString(char *)
Definition: string.c:2493
string_.h
IsStringTrue
MagickExport MagickBooleanType IsStringTrue(const char *) magick_attribute((__pure__))
GetStringInfoName
MagickExport const char * GetStringInfoName(const StringInfo *string_info)
Definition: string.c:1254
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:821
AsciiMap
static const unsigned char AsciiMap[]
Definition: string.c:71
MagickTrue
@ MagickTrue
Definition: magick-type.h:201
blob.h
StringToStringInfo
MagickExport StringInfo * StringToStringInfo(const char *string)
Definition: string.c:2459
StringInfoToString
MagickExport char * StringInfoToString(const StringInfo *string_info)
Definition: string.c:1873
blob-private.h
StringToArrayOfDoubles
MagickExport double * StringToArrayOfDoubles(const char *, ssize_t *, ExceptionInfo *)
Definition: string.c:2117
OverAllocateMemory
static size_t OverAllocateMemory(const size_t length)
Definition: memory-private.h:46
AcquireStringInfo
MagickExport StringInfo * AcquireStringInfo(const size_t length)
Definition: string.c:185
DestroyString
MagickExport char * DestroyString(char *)
SetStringInfoLength
MagickExport void SetStringInfoLength(StringInfo *string_info, const size_t length)
Definition: string.c:1727
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:925
ConcatenateMagickString
MagickExport size_t ConcatenateMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
Definition: string.c:426
SubstituteString
MagickExport MagickBooleanType SubstituteString(char **string, const char *search, const char *replace)
Definition: string.c:2555
SetStringInfoDatum
MagickExport void SetStringInfoDatum(StringInfo *string_info, const unsigned char *source)
Definition: string.c:1694
SetStringInfo
MagickExport void SetStringInfo(StringInfo *string_info, const StringInfo *source)
Definition: string.c:1654
StripString
MagickExport void StripString(char *message)
Definition: string.c:2493
ConstantString
MagickExport char * ConstantString(const char *)
FormatMagickSize
MagickExport ssize_t FormatMagickSize(const MagickSizeType size, const MagickBooleanType bi, char *format)
Definition: string.c:1083
StringToStrings
MagickExport char ** StringToStrings(const char *, size_t *)
Definition: string.c:2310
_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:492
FileToString
MagickExport char * FileToString(const char *filename, const size_t extent, ExceptionInfo *exception)
Definition: string.c:996
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:1606
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:1771
locale_.h
StringInfoToHexString
MagickExport char * StringInfoToHexString(const StringInfo *)
StringToArgv
MagickExport char ** StringToArgv(const char *text, int *argc)
Definition: string.c:2002
MagickFalse
@ MagickFalse
Definition: magick-type.h:200
GetStringInfoPath
MagickExport const char * GetStringInfoPath(const StringInfo *)
Definition: string.c:1283
ResetStringInfo
MagickExport void ResetStringInfo(StringInfo *)
GetEnvironmentValue
MagickExport char * GetEnvironmentValue(const char *)
SubstituteString
MagickExport MagickBooleanType SubstituteString(char **, const char *, const char *)
Definition: string.c:2555
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:711
DestroyStringList
MagickExport char ** DestroyStringList(char **)
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:199
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:2117
IsStringNotFalse
MagickExport MagickBooleanType IsStringNotFalse(const char *) magick_attribute((__pure__))
CompareStringInfo
MagickExport int CompareStringInfo(const StringInfo *target, const StringInfo *source)
Definition: string.c:378
ConcatenateStringInfo
MagickExport void ConcatenateStringInfo(StringInfo *string_info, const StringInfo *source)
Definition: string.c:552
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:336
FileToString
MagickExport char * FileToString(const char *, const size_t, ExceptionInfo *)
memory_.h
GetStringInfoDatum
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
Definition: string.c:1196
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:115
StringInfoToString
MagickExport char * StringInfoToString(const StringInfo *)
InterpretSiPrefixValue
MagickExport double InterpretSiPrefixValue(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string.c:1317
GetEnvironmentValue
MagickExport char * GetEnvironmentValue(const char *name)
Definition: string.c:1163
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:1406
exception.h
DestroyStringInfo
MagickExport StringInfo * DestroyStringInfo(StringInfo *string_info)
Definition: string.c:848
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:764
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:1803
string-private.h
AcquireStringInfoContainer
static StringInfo * AcquireStringInfoContainer()
Definition: string.c:172
CloneStringInfo
MagickExport StringInfo * CloneStringInfo(const StringInfo *)
GetStringInfoDatum
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *)
Definition: string.c:1196
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
AcquireString
MagickExport char * AcquireString(const char *source)
Definition: string.c:126
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:162
_StringInfo
Definition: string_.h:30
MapBlob
MagickExport unsigned char * MapBlob(int, const MapMode, const MagickOffsetType, const size_t)
Definition: blob.c:2386
MAGICK_SSIZE_MAX
#define MAGICK_SSIZE_MAX
Definition: studio.h:378
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:135
FormatMagickSize
MagickExport ssize_t FormatMagickSize(const MagickSizeType, const MagickBooleanType, char *)
Definition: string.c:1083
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 *)