#include "MagickWand/studio.h"#include "MagickWand/MagickWand.h"#include "MagickWand/script-token.h"#include "MagickCore/string-private.h"#include "MagickCore/utility-private.h"Defines | |
| #define | IN_WHITE 0 |
| #define | IN_TOKEN 1 |
| #define | IN_QUOTE 2 |
| #define | IN_COMMENT 3 |
| #define | GetChar(c) |
| #define | SaveChar(c) |
Functions | |
| WandExport ScriptTokenInfo * | AcquireScriptTokenInfo (const char *filename) |
| WandExport ScriptTokenInfo * | DestroyScriptTokenInfo (ScriptTokenInfo *token_info) |
| WandExport MagickBooleanType | GetScriptToken (ScriptTokenInfo *token_info) |
| #define GetChar | ( | c | ) |
{ \
c=fgetc(token_info->stream); \
token_info->curr_column++; \
if ( c == '\r' ) { \
c=fgetc(token_info->stream); \
ungetc(c,token_info->stream); \
c = (c!='\n')?'\n':'\r'; \
} \
if ( c == '\n' ) \
token_info->curr_line++, token_info->curr_column=0; \
if (c == EOF ) \
break; \
if ( (c>='\0' && c<'\a') || (c>'\r' && c<' ' && c!='\033') ) { \
token_info->status=TokenStatusBinary; \
break; \
} \
}
Referenced by GetScriptToken().
| #define IN_COMMENT 3 |
Referenced by GetScriptToken().
| #define IN_QUOTE 2 |
Referenced by GetScriptToken().
| #define IN_TOKEN 1 |
Referenced by GetScriptToken().
| #define IN_WHITE 0 |
Referenced by GetScriptToken().
| #define SaveChar | ( | c | ) |
{ \
if ((size_t) offset >= (token_info->length-1)) { \
if ( token_info->length >= MagickPathExtent ) \
token_info->length += MagickPathExtent; \
else \
token_info->length *= 4; \
token_info->token = (char *) \
ResizeMagickMemory(token_info->token, token_info->length); \
if ( token_info->token == (char *) NULL ) { \
token_info->status=TokenStatusMemoryFailed; \
break; \
} \
} \
token_info->token[offset++]=(char) (c); \
}
Referenced by GetScriptToken().
| WandExport ScriptTokenInfo* AcquireScriptTokenInfo | ( | const char * | filename | ) |
References ScriptTokenInfo::curr_line, INITAL_TOKEN_LENGTH, ScriptTokenInfo::length, MagickWandSignature, ScriptTokenInfo::opened, ScriptTokenInfo::signature, ScriptTokenInfo::status, ScriptTokenInfo::stream, ScriptTokenInfo::token, TokenStatusMemoryFailed, and TokenStatusOK.
Referenced by ProcessScriptOptions().
| WandExport ScriptTokenInfo* DestroyScriptTokenInfo | ( | ScriptTokenInfo * | token_info | ) |
References MagickWandSignature, ScriptTokenInfo::opened, ScriptTokenInfo::signature, ScriptTokenInfo::stream, and ScriptTokenInfo::token.
Referenced by ProcessScriptOptions().
| WandExport MagickBooleanType GetScriptToken | ( | ScriptTokenInfo * | token_info | ) |
References ScriptTokenInfo::curr_column, ScriptTokenInfo::curr_line, DisableMSCWarning, GetChar, IN_COMMENT, IN_QUOTE, IN_TOKEN, IN_WHITE, RestoreMSCWarning, SaveChar, ScriptTokenInfo::status, ScriptTokenInfo::token, ScriptTokenInfo::token_column, ScriptTokenInfo::token_line, TokenStatusBadQuotes, TokenStatusEOF, and TokenStatusOK.
Referenced by ProcessScriptOptions().
1.6.1