MagickCore 6.9.12
locale.c File Reference
#include "magick/studio.h"
#include "magick/blob.h"
#include "magick/client.h"
#include "magick/configure.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/hashmap.h"
#include "magick/image-private.h"
#include "magick/locale_.h"
#include "magick/locale-private.h"
#include "magick/log.h"
#include "magick/memory_.h"
#include "magick/nt-base-private.h"
#include "magick/semaphore.h"
#include "magick/splay-tree.h"
#include "magick/string_.h"
#include "magick/token.h"
#include "magick/utility.h"
#include "magick/xml-tree.h"
#include "magick/xml-tree-private.h"
Include dependency graph for locale.c:

Go to the source code of this file.

Macros

#define LocaleFilename   "locale.xml"
 
#define MaxRecursionDepth   200
 

Functions

static MagickBooleanType IsLocaleTreeInstantiated (ExceptionInfo *)
 
static MagickBooleanType LoadLocaleCache (SplayTreeInfo *, const char *, const char *, const char *, const size_t, ExceptionInfo *)
 
static void * DestroyLocaleNode (void *locale_info)
 
static SplayTreeInfoAcquireLocaleSplayTree (const char *filename, const char *locale, ExceptionInfo *exception)
 
static void * DestroyOptions (void *message)
 
MagickExport LinkedListInfoDestroyLocaleOptions (LinkedListInfo *messages)
 
MagickExport ssize_t FormatLocaleFileList (FILE *file, const char *magick_restrict format, va_list operands)
 
MagickExport ssize_t FormatLocaleFile (FILE *file, const char *magick_restrict format,...)
 
MagickExport ssize_t FormatLocaleStringList (char *magick_restrict string, const size_t length, const char *magick_restrict format, va_list operands)
 
MagickExport ssize_t FormatLocaleString (char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
 
MagickExport const LocaleInfoGetLocaleInfo_ (const char *tag, ExceptionInfo *exception)
 
static int LocaleInfoCompare (const void *x, const void *y)
 
MagickExport const LocaleInfo ** GetLocaleInfoList (const char *pattern, size_t *number_messages, ExceptionInfo *exception)
 
static int LocaleTagCompare (const void *x, const void *y)
 
MagickExport char ** GetLocaleList (const char *pattern, size_t *number_messages, ExceptionInfo *exception)
 
MagickExport const char * GetLocaleMessage (const char *tag)
 
MagickExport LinkedListInfoGetLocaleOptions (const char *filename, ExceptionInfo *exception)
 
MagickExport const char * GetLocaleValue (const LocaleInfo *locale_info)
 
MagickExport double InterpretLocaleValue (const char *magick_restrict string, char **magick_restrict sentinal)
 
MagickExport MagickBooleanType ListLocaleInfo (FILE *file, ExceptionInfo *exception)
 
static void ChopLocaleComponents (char *path, const size_t components)
 
static void LocaleFatalErrorHandler (const ExceptionType magick_unused(severity), const char *reason, const char *description)
 
MagickExport int LocaleCompare (const char *p, const char *q)
 
MagickExport void LocaleLower (char *string)
 
MagickExport int LocaleLowercase (const int c)
 
MagickExport int LocaleNCompare (const char *p, const char *q, const size_t length)
 
MagickExport void LocaleUpper (char *string)
 
MagickExport int LocaleUppercase (const int c)
 
MagickExport MagickBooleanType LocaleComponentGenesis (void)
 
MagickExport void LocaleComponentTerminus (void)
 

Variables

static const char * LocaleMap
 
static const unsigned char AsciiMap []
 
static SemaphoreInfolocale_semaphore = (SemaphoreInfo *) NULL
 
static SplayTreeInfolocale_cache = (SplayTreeInfo *) NULL
 

Macro Definition Documentation

◆ LocaleFilename

#define LocaleFilename   "locale.xml"

Definition at line 69 of file locale.c.

◆ MaxRecursionDepth

#define MaxRecursionDepth   200

Definition at line 70 of file locale.c.

Function Documentation

◆ AcquireLocaleSplayTree()

◆ ChopLocaleComponents()

static void ChopLocaleComponents ( char *  path,
const size_t  components 
)
static

Definition at line 1140 of file locale.c.

Referenced by LoadLocaleCache().

◆ DestroyLocaleNode()

static void * DestroyLocaleNode ( void *  locale_info)
static

◆ DestroyLocaleOptions()

◆ DestroyOptions()

static void * DestroyOptions ( void *  message)
static

Definition at line 319 of file locale.c.

References DestroyStringInfo().

Referenced by DestroyLocaleOptions().

◆ FormatLocaleFile()

◆ FormatLocaleFileList()

MagickExport ssize_t FormatLocaleFileList ( FILE *  file,
const char *magick_restrict  format,
va_list  operands 
)

Definition at line 359 of file locale.c.

Referenced by FormatLocaleFile().

◆ FormatLocaleString()

MagickExport ssize_t FormatLocaleString ( char *magick_restrict  string,
const size_t  length,
const char *magick_restrict  format,
  ... 
)

Definition at line 499 of file locale.c.

References FormatLocaleStringList().

Referenced by AcquireTypeCache(), AnnotateImage(), AppendImageFormat(), AutoThresholdImage(), BlobToImage(), BlurImageChannel(), CannyEdgeImage(), CanonicalXMLContent(), ClipImagePath(), ClonePixelCacheRepository(), ColorMatrixImage(), ConcatenateColorComponent(), ConcatentateHexColorComponent(), ConnectPixelCacheServer(), DeleteMagickRegistry(), DeskewImage(), DestroyPixelCache(), DistortImage(), DistributePixelCacheServer(), DrawPatternPath(), DrawPrimitive(), EncodePredefinedEntities(), FilterImageChannel(), FormatMagickSize(), FormatMagickTime(), FormatPixelSize(), FxChannelStatistics(), GaussianBlurImageChannel(), GetConfigureBlob(), GetConfigureOptions(), GetConfigurePaths(), GetExecutionPath(), GetEXIFProperty(), GetImageProperty(), GetLocaleExceptionMessage(), GetLocaleMessage(), GetLocaleOptions(), GetMagickHomeURL(), GetMagickProperty(), GetMagickPropertyLetter(), GetMagickRegistry(), GetPageGeometry(), GetPathTemplate(), HoughLineImage(), IdentifyImage(), ImagesToBlob(), ImageToBlob(), InjectImageBlob(), InterpretImageFilename(), InterpretImageProperties(), InvokeDelegate(), ListMagickResourceInfo(), ListTypeInfo(), MagickToMime(), MontageImageList(), MorphologyApply(), OpenBlob(), OpenPixelCache(), PingBlob(), PolaroidImage(), PreviewImage(), RenderMVGContent(), RenderPostscript(), SelectiveBlurImageChannel(), SetImageProgress(), SetMagickRegistry(), SetPixelCacheExtent(), StringToStrings(), SyncImageSettings(), ThrowMagickExceptionList(), ThumbnailImage(), TraceBezierCurve(), TracePSClippath(), TraceSVGClippath(), TranslateEvent(), TranslateFilename(), VignetteImage(), XMLTreeInfoToXML(), and XMLTreeTagToXML().

◆ FormatLocaleStringList()

MagickExport ssize_t FormatLocaleStringList ( char *magick_restrict  string,
const size_t  length,
const char *magick_restrict  format,
va_list  operands 
)

◆ GetLocaleInfo_()

◆ GetLocaleInfoList()

◆ GetLocaleList()

◆ GetLocaleMessage()

MagickExport const char * GetLocaleMessage ( const char *  tag)

◆ GetLocaleOptions()

◆ GetLocaleValue()

MagickExport const char * GetLocaleValue ( const LocaleInfo locale_info)

◆ InterpretLocaleValue()

MagickExport double InterpretLocaleValue ( const char *magick_restrict  string,
char **magick_restrict  sentinal 
)

◆ IsLocaleTreeInstantiated()

◆ ListLocaleInfo()

MagickExport MagickBooleanType ListLocaleInfo ( FILE *  file,
ExceptionInfo exception 
)

◆ LoadLocaleCache()

◆ LocaleCompare()

MagickExport int LocaleCompare ( const char *  p,
const char *  q 
)

Definition at line 1441 of file locale.c.

References AsciiMap.

Referenced by AcquireStreamPixels(), AcquireVirtualMemory(), AppendImageFormat(), CoderCompare(), CoderInfoCompare(), ColorCompare(), ColorInfoCompare(), CompareHashmapString(), CompareSplayTreeString(), ConfigureCompare(), ConfigureInfoCompare(), DelegateCompare(), DelegateInfoCompare(), DeleteImageProfile(), DrawPrimitive(), ExpandFilenames(), ExportCharPixel(), ExportDoublePixel(), ExportFloatPixel(), ExportIntegerPixel(), ExportLongPixel(), ExportQuantumPixel(), ExportShortPixel(), FileCompare(), FileToBlob(), FileToImage(), FileToXML(), FxEvaluateSubexpression(), FxGetSymbol(), Get8BIMProperty(), GetCoderInfo(), GetColorCompliance(), GetCommandOptionFlags(), GetConfigureInfo(), GetDelegateInfo(), GetEXIFProperty(), GetLocaleInfo_(), GetLogInfo(), GetMagickInfo(), GetMagickProperty(), GetMVGMacros(), GetPathComponent(), GetPolicyInfo(), GetQuantumInfo(), GetThresholdMapFile(), GetTypeInfo(), GetTypeInfoByFamily(), GlobExpression(), GradientImage(), HuffmanEncodeImage(), IdentifyImage(), ImageToFile(), ImportCharPixel(), ImportDoublePixel(), ImportFloatPixel(), ImportIntegerPixel(), ImportLongPixel(), ImportQuantumPixel(), ImportShortPixel(), InvokeDelegate(), InvokeDynamicImageFilter(), IsMagickTrue(), IsOptionMember(), IsPathAccessible(), IsSkipTag(), IsStringNotFalse(), IsStringTrue(), IsTaintImage(), ListCoderInfo(), ListColorInfo(), ListConfigureInfo(), ListDelegateInfo(), ListFiles(), ListLocaleInfo(), ListLogInfo(), ListMagicInfo(), ListPolicyInfo(), ListTypeInfo(), LoadCoderCache(), LoadColorCache(), LoadConfigureCache(), LoadDelegateCache(), LoadLocaleCache(), LoadLogCache(), LoadMagicCache(), LoadPolicyCache(), LoadTypeCache(), LocaleInfoCompare(), LocaleTagCompare(), LogCompare(), LogInfoCompare(), MagicCompare(), MagicInfoCompare(), MagickCompare(), MagickInfoCompare(), MontageImageList(), OpenBlob(), OpenPixelCache(), ParseCommandOption(), ParseKernelArray(), PingImages(), ProfileImage(), QueryMagickColorCompliance(), RandomChannelThresholdImage(), ReadImage(), ReadImages(), RegisterStaticModule(), RemoveImageProfile(), RenderMVGContent(), RenderType(), SetImageInfo(), SetImageOption(), SetImageProfileInternal(), SetImageProperty(), StreamImagePixels(), ThrowException(), ThumbnailImage(), TranslateEvent(), TypeCompare(), TypeInfoCompare(), UnregisterMagickInfo(), UnregisterStaticModule(), WriteImage(), and WriteTo8BimProfile().

◆ LocaleComponentGenesis()

MagickExport MagickBooleanType LocaleComponentGenesis ( void  )

Definition at line 1685 of file locale.c.

References AllocateSemaphoreInfo(), locale_semaphore, and MagickTrue.

Referenced by MagickCoreGenesis().

◆ LocaleComponentTerminus()

MagickExport void LocaleComponentTerminus ( void  )

◆ LocaleFatalErrorHandler()

static void LocaleFatalErrorHandler ( const ExceptionType   magick_unusedseverity,
const char *  reason,
const char *  description 
)
static

Definition at line 1163 of file locale.c.

References FormatLocaleFile(), GetClientName(), and magick_unreferenced.

Referenced by LoadLocaleCache().

◆ LocaleInfoCompare()

static int LocaleInfoCompare ( const void *  x,
const void *  y 
)
static

Definition at line 596 of file locale.c.

References LocaleCompare().

Referenced by GetLocaleInfoList().

◆ LocaleLower()

MagickExport void LocaleLower ( char *  string)

◆ LocaleLowercase()

MagickExport int LocaleLowercase ( const int  c)

Definition at line 1528 of file locale.c.

References LocaleToLowercase().

◆ LocaleNCompare()

◆ LocaleTagCompare()

static int LocaleTagCompare ( const void *  x,
const void *  y 
)
static

Definition at line 694 of file locale.c.

References LocaleCompare().

Referenced by GetLocaleList().

◆ LocaleUpper()

MagickExport void LocaleUpper ( char *  string)

Definition at line 1630 of file locale.c.

References LocaleToUppercase().

Referenced by InvokeDelegate(), and SetImageInfo().

◆ LocaleUppercase()

MagickExport int LocaleUppercase ( const int  c)

Definition at line 1662 of file locale.c.

References LocaleToUppercase().

Variable Documentation

◆ AsciiMap

const unsigned char AsciiMap[]
static
Initial value:
=
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73,
0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b,
0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83,
0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b,
0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3,
0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
0xc0, 0xe1, 0xe2, 0xe3, 0xe4, 0xc5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,
0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
0xf8, 0xf9, 0xfa, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3,
0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb,
0xfc, 0xfd, 0xfe, 0xff,
}

Definition at line 92 of file locale.c.

Referenced by LocaleCompare(), and LocaleNCompare().

◆ locale_cache

SplayTreeInfo* locale_cache = (SplayTreeInfo *) NULL
static

◆ locale_semaphore

◆ LocaleMap

const char* LocaleMap
static
Initial value:
=
"<?xml version=\"1.0\"?>"
"<localemap>"
" <locale name=\"C\">"
" <Exception>"
" <Message name=\"\">"
" </Message>"
" </Exception>"
" </locale>"
"</localemap>"

Definition at line 76 of file locale.c.

Referenced by AcquireLocaleSplayTree().