]> granicus.if.org Git - imagemagick/blobdiff - magick/token.c
(no commit message)
[imagemagick] / magick / token.c
index c1505d7b6eae390ae5b3c06ea73486bc438fca64..79774a3a3c310826210dc2763b48fdb025f38c0f 100644 (file)
@@ -61,13 +61,13 @@ struct _TokenInfo
   MagickStatusType
     flag;
 
-  long
+  ssize_t
     offset;
 
   char
     quote;
 
-  unsigned long
+  size_t
     signature;
 };
 \f
@@ -148,7 +148,8 @@ MagickExport TokenInfo *DestroyTokenInfo(TokenInfo *token_info)
 %  GetMagickToken() gets a token from the token stream.  A token is defined as a
 %  sequence of characters delimited by whitespace (e.g. clip-path), a sequence
 %  delimited with quotes (.e.g "Quote me"), or a sequence enclosed in
-%  parenthesis (e.g. rgb(0,0,0)).
+%  parenthesis (e.g. rgb(0,0,0)).  GetMagickToken() also recognizes these
+%  separator characters: ':', '=', ',', and ';'.
 %
 %  The format of the GetMagickToken method is:
 %
@@ -171,7 +172,7 @@ MagickExport void GetMagickToken(const char *start,const char **end,char *token)
   register const char
     *p;
 
-  register long
+  register ssize_t
     i;
 
   i=0;
@@ -243,7 +244,7 @@ MagickExport void GetMagickToken(const char *start,const char **end,char *token)
         for ( ; *p != '\0'; p++)
         {
           if (((isspace((int) ((unsigned char) *p)) != 0) || (*p == '=') ||
-              (*p == ',') || (*p == ':')) && (*(p-1) != '\\'))
+              (*p == ',') || (*p == ':') || (*p == ';')) && (*(p-1) != '\\'))
             break;
           if ((i > 0) && (*p == '<'))
             break;
@@ -272,7 +273,7 @@ MagickExport void GetMagickToken(const char *start,const char **end,char *token)
       offset=4;
       if (token[offset] == '#')
         offset++;
-      i=(long) strlen(token);
+      i=(ssize_t) strlen(token);
       (void) CopyMagickString(token,token+offset,MaxTextExtent);
       token[i-offset-1]='\0';
     }
@@ -387,7 +388,7 @@ MagickExport MagickBooleanType GlobExpression(const char *expression,
       }
       case '[':
       {
-        long
+        ssize_t
           c;
 
         pattern+=GetUTFOctets(pattern);
@@ -767,21 +768,21 @@ MagickExport MagickBooleanType IsGlob(const char *path)
 #define IN_QUOTE 2
 #define IN_OZONE 3
 
-static long sindex(int c,const char *string)
+static ssize_t sindex(int c,const char *string)
 {
   register const char
     *p;
 
   for (p=string; *p != '\0'; p++)
     if (c == (int) (*p))
-      return(p-string);
+      return((ssize_t) (p-string));
   return(-1);
 }
 
 static void StoreToken(TokenInfo *token_info,char *string,
   size_t max_token_length,int c)
 {
-  register long
+  register ssize_t
     i;
 
   if ((token_info->offset < 0) ||
@@ -816,7 +817,7 @@ MagickExport int Tokenizer(TokenInfo *token_info,const unsigned flag,
   int
     c;
 
-  register long
+  register ssize_t
     i;
 
   *breaker='\0';