From c330e15fdcd6da2170bfb6009bd65fc75d2c8530 Mon Sep 17 00:00:00 2001 From: anthony Date: Thu, 19 Apr 2012 14:40:36 +0000 Subject: [PATCH] Allow +-X+-Y is geometry arguments --- MagickCore/geometry.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/MagickCore/geometry.c b/MagickCore/geometry.c index 3e133dae8..dba5c33b3 100644 --- a/MagickCore/geometry.c +++ b/MagickCore/geometry.c @@ -115,7 +115,7 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x, (void) CopyMagickString(p,p+1,MaxTextExtent); continue; } - c=(int) ((unsigned int) *p); + c=(int)*p; switch (c) { case '%': @@ -210,7 +210,6 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x, if (p != q) flags|=WidthValue; } - c=(*p); c=(int) ((unsigned char) *p); if ((c == 215) || (*p == 'x') || (*p == 'X')) { @@ -516,8 +515,6 @@ MagickExport MagickBooleanType IsGeometry(const char *geometry) if (geometry == (const char *) NULL) return(MagickFalse); flags=ParseGeometry(geometry,&geometry_info); - if (flags == NoValue) - flags=ParseGeometry(geometry+1,&geometry_info); /* i.e. +-4+-4 */ return(flags != NoValue ? MagickTrue : MagickFalse); } @@ -913,7 +910,7 @@ MagickExport MagickStatusType ParseGeometry(const char *geometry, /* Parse xi value. */ - if ((*p == ',') || (*p == '/') || (*p == ':')) + if ((*p == '+') || (*p == ',') || (*p == '/') || (*p == ':') ) p++; q=p; value=StringToDouble(p,&p); @@ -932,7 +929,7 @@ MagickExport MagickStatusType ParseGeometry(const char *geometry, /* Parse psi value. */ - if ((*p == ',') || (*p == '/') || (*p == ':')) + if ((*p == '+') || (*p == ',') || (*p == '/') || (*p == ':')) p++; q=p; value=StringToDouble(p,&p); @@ -952,7 +949,7 @@ MagickExport MagickStatusType ParseGeometry(const char *geometry, /* Parse chi value. */ - if ((*p == ',') || (*p == '/') || (*p == ':')) + if ((*p == '+') || (*p == ',') || (*p == '/') || (*p == ':')) p++; q=p; value=StringToDouble(p,&p); -- 2.50.1