#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().