18#ifndef MAGICKCORE_STRING_H_
19#define MAGICKCORE_STRING_H_
21#include "MagickCore/exception.h"
23#if defined(__cplusplus) || defined(c_plusplus)
43extern MagickExport
char
44 *AcquireString(
const char *),
45 *CloneString(
char **,
const char *),
46 *ConstantString(
const char *),
47 *DestroyString(
char *),
48 **DestroyStringList(
char **),
49 *EscapeString(
const char *,
const char),
50 *FileToString(
const char *,
const size_t,ExceptionInfo *),
51 *GetEnvironmentValue(
const char *),
52 *SanitizeString(
const char *),
53 *SanitizeStringForIdentifier(
const char *),
54 *StringInfoToDigest(
const StringInfo *),
55 *StringInfoToHexString(
const StringInfo *),
56 *StringInfoToString(
const StringInfo *),
57 **StringToArgv(
const char *,
int *),
58 *StringToken(
const char *,
char **),
59 **StringToList(
const char *),
60 **StringToStrings(
const char *,
size_t *);
62extern MagickExport
const char
63 *GetStringInfoName(
const StringInfo *),
64 *GetStringInfoPath(
const StringInfo *);
66extern MagickExport
double
67 InterpretSiPrefixValue(
const char *magick_restrict,
char **magick_restrict),
68 *StringToArrayOfDoubles(
const char *,ssize_t *,ExceptionInfo *);
70extern MagickExport
int
71 CompareStringInfo(
const StringInfo *,
const StringInfo *);
73extern MagickExport MagickBooleanType
74 ConcatenateString(
char **magick_restrict,
const char *magick_restrict),
75 IsStringTrue(
const char *) magick_attribute((__pure__)),
76 IsStringFalse(
const char *) magick_attribute((__pure__)),
77 SubstituteString(
char **,
const char *,
const char *);
79extern MagickExport
size_t
80 ConcatenateMagickString(
char *magick_restrict,
const char *magick_restrict,
81 const size_t) magick_attribute((__nonnull__)),
82 CopyMagickString(
char *magick_restrict,
const char *magick_restrict,
83 const size_t) magick_attribute((__nonnull__)),
84 GetStringInfoLength(
const StringInfo *),
85 StripMagickString(
char *);
87extern MagickExport ssize_t
88 FormatMagickSize(
const MagickSizeType,
const MagickBooleanType,
const char *,
91extern MagickExport StringInfo
92 *AcquireStringInfo(
const size_t),
93 *BlobToStringInfo(
const void *,
const size_t),
94 *CloneStringInfo(
const StringInfo *),
95 *ConfigureFileToStringInfo(
const char *),
96 *DestroyStringInfo(StringInfo *),
97 *FileToStringInfo(
const char *,
const size_t,ExceptionInfo *),
98 *SplitStringInfo(StringInfo *,
const size_t),
99 *StringToStringInfo(
const char *);
101extern MagickExport
unsigned char
102 *GetStringInfoDatum(
const StringInfo *);
104extern MagickExport
void
105 ConcatenateStringInfo(StringInfo *,
const StringInfo *)
106 magick_attribute((__nonnull__)),
107 PrintStringInfo(FILE *file,
const char *,
const StringInfo *),
108 ResetStringInfo(StringInfo *),
109 SetStringInfo(StringInfo *,
const StringInfo *),
110 SetStringInfoDatum(StringInfo *,
const unsigned char *),
111 SetStringInfoLength(StringInfo *,
const size_t),
112 SetStringInfoName(StringInfo *,
const char *),
113 SetStringInfoPath(StringInfo *,
const char *),
116#if defined(__cplusplus) || defined(c_plusplus)