]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 3 Nov 2011 00:54:00 +0000 (00:54 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 3 Nov 2011 00:54:00 +0000 (00:54 +0000)
23 files changed:
MagickCore/configure.c
MagickCore/display.c
MagickCore/fx.c
MagickCore/image-private.h
MagickCore/image.c
MagickCore/locale.c
MagickCore/magick-config.h
MagickCore/property.c
MagickCore/resource.c
MagickCore/string-private.h
MagickCore/string.c
MagickCore/version.h
MagickWand/mogrify.c
MagickWand/operation.c
Makefile.in
PerlMagick/Magick.xs
coders/jpeg.c
coders/msl.c
config/Makefile.am
config/config.h.in
config/configure.xml
configure
configure.ac

index 3e2cfda11ae7b0b31695f518df8b77f2adf6f1b8..9fc26f02d0b9fa13439f82364b443bb46801e680 100644 (file)
@@ -672,6 +672,10 @@ MagickExport LinkedListInfo *GetConfigurePaths(const char *filename,
 #if defined(MAGICKCORE_SHARE_PATH)
   (void) AppendValueToLinkedList(paths,ConstantString(MAGICKCORE_SHARE_PATH));
 #endif
+#if defined(MAGICKCORE_SHAREARCH_PATH)
+  (void) AppendValueToLinkedList(paths,ConstantString(
+    MAGICKCORE_SHAREARCH_PATH));
+#endif
 #if defined(MAGICKCORE_CONFIGURE_PATH)
   (void) AppendValueToLinkedList(paths,ConstantString(
     MAGICKCORE_CONFIGURE_PATH));
index e519246f7442ba35b0b886cedf909b24a7b43581..ecd5ee7f79578c1cfd6a7c2727782c3c40eef1ac 100644 (file)
@@ -3543,7 +3543,7 @@ static MagickBooleanType XColorEditImage(Display *display,
               break;
             if (entry != 5)
               {
-                (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],(double)
+                (*image)->fuzz=InterpretLocaleInterval(FuzzMenu[entry],(double)
                   QuantumRange+1.0);
                 break;
               }
@@ -3553,7 +3553,7 @@ static MagickBooleanType XColorEditImage(Display *display,
             if (*fuzz == '\0')
               break;
             (void) ConcatenateMagickString(fuzz,"%",MaxTextExtent);
-            (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
+            (*image)->fuzz=InterpretLocaleInterval(fuzz,(double) QuantumRange+1.0);
             break;
           }
           case ColorEditUndoCommand:
@@ -7728,7 +7728,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       (void) XDialogWidget(display,windows,"Trim","Enter fuzz factor:",fuzz);
       if (*fuzz == '\0')
         break;
-      (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
+      (*image)->fuzz=InterpretLocaleInterval(fuzz,(double) QuantumRange+1.0);
       /*
         Trim image.
       */
@@ -8310,7 +8310,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
-      threshold=SiPrefixToDouble(factor,QuantumRange);
+      threshold=InterpretLocaleInterval(factor,QuantumRange);
       (void) BilevelImage(*image,threshold,exception);
       XSetCursorState(display,windows,MagickFalse);
       if (windows->image.orphan != MagickFalse)
@@ -8512,7 +8512,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
-      threshold=SiPrefixToDouble(factor,QuantumRange);
+      threshold=InterpretLocaleInterval(factor,QuantumRange);
       sepia_image=SepiaToneImage(*image,threshold,exception);
       if (sepia_image != (Image *) NULL)
         {
@@ -8547,7 +8547,7 @@ static Image *XMagickCommand(Display *display,XResourceInfo *resource_info,
       */
       XSetCursorState(display,windows,MagickTrue);
       XCheckRefreshWindows(display,windows);
-      threshold=SiPrefixToDouble(factor,QuantumRange);
+      threshold=InterpretLocaleInterval(factor,QuantumRange);
       (void) SolarizeImage(*image,threshold,exception);
       XSetCursorState(display,windows,MagickFalse);
       if (windows->image.orphan != MagickFalse)
@@ -9864,7 +9864,7 @@ static MagickBooleanType XMatteEditImage(Display *display,
               break;
             if (entry != 5)
               {
-                (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],(double)
+                (*image)->fuzz=InterpretLocaleInterval(FuzzMenu[entry],(double)
                   QuantumRange+1.0);
                 break;
               }
@@ -9874,7 +9874,7 @@ static MagickBooleanType XMatteEditImage(Display *display,
             if (*fuzz == '\0')
               break;
             (void) ConcatenateMagickString(fuzz,"%",MaxTextExtent);
-            (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
+            (*image)->fuzz=InterpretLocaleInterval(fuzz,(double) QuantumRange+1.0);
             break;
           }
           case MatteEditValueCommand:
index 787958ed0078667c5076e384f148225098446a23..240305935e457a7efe343e0aada1303797c60c7a 100644 (file)
@@ -194,60 +194,6 @@ MagickPrivate FxInfo *AcquireFxInfo(const Image *image,const char *expression)
     Force right-to-left associativity for unary negation.
   */
   (void) SubstituteString(&fx_info->expression,"-","-1.0*");
-  if ((strstr(fx_info->expression,"e+") != (char *) NULL) ||
-      (strstr(fx_info->expression,"e-") != (char *) NULL))
-    {
-      /*
-        Convert scientific notation.
-      */
-      (void) SubstituteString(&fx_info->expression,"0e+","0**10^");
-      (void) SubstituteString(&fx_info->expression,"1e+","1**10^");
-      (void) SubstituteString(&fx_info->expression,"2e+","2**10^");
-      (void) SubstituteString(&fx_info->expression,"3e+","3**10^");
-      (void) SubstituteString(&fx_info->expression,"4e+","4**10^");
-      (void) SubstituteString(&fx_info->expression,"5e+","5**10^");
-      (void) SubstituteString(&fx_info->expression,"6e+","6**10^");
-      (void) SubstituteString(&fx_info->expression,"7e+","7**10^");
-      (void) SubstituteString(&fx_info->expression,"8e+","8**10^");
-      (void) SubstituteString(&fx_info->expression,"9e+","9**10^");
-      (void) SubstituteString(&fx_info->expression,"0e-1.0*","0**10^-");
-      (void) SubstituteString(&fx_info->expression,"1e-1.0*","1**10^-");
-      (void) SubstituteString(&fx_info->expression,"2e-1.0*","2**10^-");
-      (void) SubstituteString(&fx_info->expression,"3e-1.0*","3**10^-");
-      (void) SubstituteString(&fx_info->expression,"4e-1.0*","4**10^-");
-      (void) SubstituteString(&fx_info->expression,"5e-1.0*","5**10^-");
-      (void) SubstituteString(&fx_info->expression,"6e-1.0*","6**10^-");
-      (void) SubstituteString(&fx_info->expression,"7e-1.0*","7**10^-");
-      (void) SubstituteString(&fx_info->expression,"8e-1.0*","8**10^-");
-      (void) SubstituteString(&fx_info->expression,"9e-1.0*","9**10^-");
-    }
-  if ((strstr(fx_info->expression,"E+") != (char *) NULL) ||
-      (strstr(fx_info->expression,"E-") != (char *) NULL))
-    {
-      /*
-        Convert scientific notation.
-      */
-      (void) SubstituteString(&fx_info->expression,"0E+","0**10^");
-      (void) SubstituteString(&fx_info->expression,"1E+","1**10^");
-      (void) SubstituteString(&fx_info->expression,"2E+","2**10^");
-      (void) SubstituteString(&fx_info->expression,"3E+","3**10^");
-      (void) SubstituteString(&fx_info->expression,"4E+","4**10^");
-      (void) SubstituteString(&fx_info->expression,"5E+","5**10^");
-      (void) SubstituteString(&fx_info->expression,"6E+","6**10^");
-      (void) SubstituteString(&fx_info->expression,"7E+","7**10^");
-      (void) SubstituteString(&fx_info->expression,"8E+","8**10^");
-      (void) SubstituteString(&fx_info->expression,"9E+","9**10^");
-      (void) SubstituteString(&fx_info->expression,"0E-1.0*","0**10^-");
-      (void) SubstituteString(&fx_info->expression,"1E-1.0*","1**10^-");
-      (void) SubstituteString(&fx_info->expression,"2E-1.0*","2**10^-");
-      (void) SubstituteString(&fx_info->expression,"3E-1.0*","3**10^-");
-      (void) SubstituteString(&fx_info->expression,"4E-1.0*","4**10^-");
-      (void) SubstituteString(&fx_info->expression,"5E-1.0*","5**10^-");
-      (void) SubstituteString(&fx_info->expression,"6E-1.0*","6**10^-");
-      (void) SubstituteString(&fx_info->expression,"7E-1.0*","7**10^-");
-      (void) SubstituteString(&fx_info->expression,"8E-1.0*","8**10^-");
-      (void) SubstituteString(&fx_info->expression,"9E-1.0*","9**10^-");
-    }
   /*
     Convert complex to simple operators.
   */
@@ -2765,6 +2711,8 @@ static MagickRealType FxEvaluateSubexpression(FxInfo *fx_info,
     case 'P':
     case 'p':
     {
+      if (LocaleCompare(expression,"phi") == 0)
+        return((MagickRealType) MagickPHI);
       if (LocaleCompare(expression,"pi") == 0)
         return((MagickRealType) MagickPI);
       if (LocaleNCompare(expression,"pow",3) == 0)
index d19dc113badd7b8a48a9e4b66e9ace264dec0112..5cd5bded23fd97f51a8caea3ec4409e309a45fd4 100644 (file)
@@ -23,6 +23,7 @@ extern "C" {
 #endif
 
 #define Magick2PI    6.28318530717958647692528676655900576839433879875020L
+#define MagickPHI    1.61803398874989484820
 #define MagickPI2    1.57079632679489661923132169163975144209858469968755L
 #define MagickSQ1_2  0.70710678118654752440084436210484903928483593768847L
 #define MagickSQ2    1.41421356237309504880168872420969807856967187537695L
index 41abdc7ec245b155ef5f6436ddfe67701c24f8c5..2d54db2a7434c12dbeb4b5d58e41d101bc99e3a2 100644 (file)
@@ -4130,7 +4130,7 @@ MagickExport MagickBooleanType SyncImageSettings(const ImageInfo *image_info,
       exception);
   option=GetImageOption(image_info,"bias");
   if (option != (const char *) NULL)
-    image->bias=SiPrefixToDouble(option,QuantumRange);
+    image->bias=InterpretLocaleInterval(option,QuantumRange);
   option=GetImageOption(image_info,"black-point-compensation");
   if (option != (const char *) NULL)
     image->black_point_compensation=(MagickBooleanType) ParseCommandOption(
@@ -4185,7 +4185,7 @@ MagickExport MagickBooleanType SyncImageSettings(const ImageInfo *image_info,
       MagickFalse,option);
   option=GetImageOption(image_info,"fuzz");
   if (option != (const char *) NULL)
-    image->fuzz=SiPrefixToDouble(option,(double) QuantumRange+1.0);
+    image->fuzz=InterpretLocaleInterval(option,(double) QuantumRange+1.0);
   option=GetImageOption(image_info,"gravity");
   if (option != (const char *) NULL)
     image->gravity=(GravityType) ParseCommandOption(MagickGravityOptions,
index 0460481503c72cb869ba6e83efce382a61eb39e2..64a15d604fe479717f6af82cba8f88aee0aa2fee 100644 (file)
@@ -879,23 +879,84 @@ static MagickBooleanType InitializeLocaleList(ExceptionInfo *exception)
 MagickExport double InterpretLocaleValue(const char *restrict string,
   char **restrict sentinal)
 {
+  char
+    *q;
+
   double
     value;
 
+  static const double
+    SIPrefixes['z'-'E'+1] =
+    {
+      ['y'-'E'] = (-24.0),
+      ['z'-'E'] = (-21.0),
+      ['a'-'E'] = (-18.0),
+      ['f'-'E'] = (-15.0),
+      ['p'-'E'] = (-12.0),
+      ['n'-'E'] = (-9.0),
+      ['u'-'E'] = (-6.0),
+      ['m'-'E'] = (-3.0),
+      ['c'-'E'] = (-2.0),
+      ['d'-'E'] = (-1.0),
+      ['h'-'E'] = 2.0,
+      ['k'-'E'] = 3.0,
+      ['K'-'E'] = 3.0,
+      ['M'-'E'] = 6.0,
+      ['G'-'E'] = 9.0,
+      ['T'-'E'] = 12.0,
+      ['P'-'E'] = 15.0,
+      ['E'-'E'] = 18.0,
+      ['Z'-'E'] = 21.0,
+      ['Y'-'E'] = 24.0
+    };
+
+  if ((*string == '0') && ((string[1] | 0x20)=='x'))
+    value=(double) strtoul(string,&q,16);
+  else
+    {
 #if defined(MAGICKCORE_HAVE_STRTOD_L)
-  {
-    locale_t
-      locale;
-
-    locale=AcquireCLocale();
-    if (locale == (locale_t) NULL)
-      value=strtod(string,sentinal);
-    else
-      value=strtod_l(string,sentinal,locale);
-  }
+      locale_t
+        locale;
+
+      locale=AcquireCLocale();
+      if (locale == (locale_t) NULL)
+        value=strtod(string,&q);
+      else
+        value=strtod_l(string,&q,locale);
 #else
-  value=strtod(string,sentinal);
+      value=strtod(string,&q);
 #endif
+    }
+  if (q != string)
+    {
+      if ((*q >= 'E') && (*q <= 'z'))
+        {
+          double
+            e;
+
+          e=SIPrefixes[*q-'E'];
+          if (e >= MagickEpsilon)
+            {
+              if (q[1] == 'i')
+                {
+                  value*=pow(2.0,e/0.3);
+                  q+=2;
+                }
+              else
+                {
+                  value*=pow(10.0,e);
+                  q++;
+                }
+            }
+        }
+      if (*q == 'B')
+        {
+          value*=8.0;
+          q++;
+        }
+    }
+  if (sentinal != (char **) NULL)
+    *sentinal=q;
   return(value);
 }
 \f
index 2eb6a0f65c303226a95a27c9269cfae4a5c654f7..b807d4cdd5867f29ebecdcff7097a297d81c450f 100644 (file)
 #define MAGICKCORE_SELECT_TYPE_ARG5 (struct timeval *)
 #endif
 
+/* Directory where architecture-independent configuration files live. */
+#ifndef MAGICKCORE_SHAREARCH_PATH
+#define MAGICKCORE_SHAREARCH_PATH "/usr/local/share/ImageMagick-7.0.0/"
+#endif
+
+/* Subdirectory of lib where architecture-independent configuration files
+   live. */
+#ifndef MAGICKCORE_SHAREARCH_RELATIVE_PATH
+#define MAGICKCORE_SHAREARCH_RELATIVE_PATH "ImageMagick-7.0.0"
+#endif
+
 /* Directory where architecture-independent configuration files live. */
 #ifndef MAGICKCORE_SHARE_PATH
 #define MAGICKCORE_SHARE_PATH "/usr/local/share/ImageMagick-7.0.0/"
index 42159a04c8635271ed0580ecca7ff7543c3a3af5..da7e19cbb89d2d9c8d97df8d68b6caf0567b2890 100644 (file)
@@ -3200,7 +3200,7 @@ MagickExport MagickBooleanType SetImageProperty(Image *image,
         }
       if (LocaleCompare(property,"bias") == 0)
         {
-          image->bias=SiPrefixToDouble(value,QuantumRange);
+          image->bias=InterpretLocaleInterval(value,QuantumRange);
           break;
         }
       status=AddValueToSplayTree((SplayTreeInfo *) image->properties,
index 567d9fce27c24749e0a8407bf558e39eb4dbf540..1c417d056aa15a85433b095fd1c75bb727be9f17 100644 (file)
@@ -899,7 +899,7 @@ static inline MagickSizeType StringToSizeType(const char *string,
   double
     value;
 
-  value=SiPrefixToDouble(string,interval);
+  value=InterpretLocaleInterval(string,interval);
   if (value >= (double) MagickULLConstant(~0))
     return(MagickULLConstant(~0));
   return((MagickSizeType) value);
index 6e4308c9b6af4ba09647fd2382d9ddd6a402b6e7..3a0d4eac70fcaa533a01299e83786c13858010bd 100644 (file)
 extern "C" {
 #endif
 
-static inline double SiPrefixToDouble(const char *string,const double interval)
+static inline double InterpretLocaleInterval(const char *string,const double interval)
 {
   char
     *q;
 
   double
-    scale,
     value;
 
   /*
     Interpret string with International System of Units (SI) unit prefix.
   */
   value=InterpretLocaleValue(string,&q);
-  scale=1000.0;
-  if ((*q != '\0') && (tolower((int) ((unsigned char) *(q+1))) == 'i'))
-    scale=1024.0;
-  switch (tolower((int) ((unsigned char) *q)))
-  {
-    case '%': value*=pow(scale,0)*interval/100.0; break;
-    case 'k': value*=pow(scale,1); break;
-    case 'm': value*=pow(scale,2); break;
-    case 'g': value*=pow(scale,3); break;
-    case 't': value*=pow(scale,4); break;
-    case 'p': value*=pow(scale,5); break;
-    case 'e': value*=pow(scale,6); break;
-    case 'z': value*=pow(scale,7); break;
-    case 'y': value*=pow(scale,8); break;
-    default:  break;
-  }
+  if (*q == '%')
+    value*=interval/100.0;
   return(value);
 }
 
index 621eb2bcd485abfbd136eb2516b50d48ad17d1f0..dd6ded76958f43ad9b2e6715dddc9e076ad082e3 100644 (file)
@@ -3,24 +3,24 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%                  sssss   ttttt  rrrr   iiiii  n   n   gggg                  %
-%                  ss        t    r   r    i    nn  n  g                      %
-%                   sss      t    rrrr     i    n n n  g ggg                  %
-%                     ss     t    r r      i    n  nn  g   g                  %
-%                  sssss     t    r  r   iiiii  n   n   gggg                  %
+%                  SSSSS   TTTTT  RRRR   IIIII  N   N   GGGG                  %
+%                  SS        T    R   R    I    NN  N  G                      %
+%                   SSS      T    RRRR     I    N N N  G GGG                  %
+%                     SS     T    R R      I    N  NN  G   G                  %
+%                  SSSSS     T    R  R   IIIII  N   N   GGGG                  %
 %                                                                             %
 %                                                                             %
-%                        MagickCore string methods                            %
+%                        MagickCore String Methods                            %
 %                                                                             %
-%                             software design                                 %
-%                               john cristy                                   %
-%                               august 2003                                   %
+%                             Software Design                                 %
+%                               John Cristy                                   %
+%                               August 2003                                   %
 %                                                                             %
 %                                                                             %
-%  copyright 1999-2011 imagemagick studio llc, a non-profit organization      %
+%  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
-%  you may not use this file except in compliance with the license.  you may  %
+%  You may not use this file except in compliance with the license.  You may  %
 %  obtain a copy of the license at                                            %
 %                                                                             %
 %    http://www.imagemagick.org/script/license.php                            %
@@ -28,7 +28,7 @@
 %  unless required by applicable law or agreed to in writing, software        %
 %  distributed under the license is distributed on an "as is" basis,          %
 %  without warranties or conditions of any kind, either express or implied.   %
-%  see the license for the specific language governing permissions and        %
+%  See the license for the specific language governing permissions and        %
 %  limitations under the license.                                             %
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
index 08ca7930bbdf9398f9e664aad57f881a66f3bf59..23785782c0e1aaaf5e014580cdf1892b2a92aa2c 100644 (file)
@@ -27,14 +27,14 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision  "5819"
+#define MagickSVNRevision  "5835"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  7,0,0
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  7
 #define MagickLibMinInterface  7
-#define MagickReleaseDate  "2011-10-30"
+#define MagickReleaseDate  "2011-11-02"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
index c70f7be8aeac691e1631d27ac76803f531ca24e5..f961d3ec99f54cbad5e98fb17f3e55efc24f322d 100644 (file)
@@ -1309,7 +1309,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
             if (*option == '+')
               threshold=40.0*QuantumRange/100.0;
             else
-              threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+              threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
             mogrify_image=DeskewImage(*image,threshold,exception);
             break;
           }
@@ -1507,7 +1507,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
             (void) SyncImageSettings(mogrify_info,*image,exception);
             op=(MagickEvaluateOperator) ParseCommandOption(
               MagickEvaluateOptions,MagickFalse,argv[i+1]);
-            constant=SiPrefixToDouble(argv[i+2],QuantumRange);
+            constant=InterpretLocaleInterval(argv[i+2],QuantumRange);
             (void) EvaluateImage(*image,op,constant,exception);
             break;
           }
@@ -2618,7 +2618,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
               Sepia-tone image.
             */
             (void) SyncImageSettings(mogrify_info,*image,exception);
-            threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+            threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
             mogrify_image=SepiaToneImage(*image,threshold,exception);
             break;
           }
@@ -2782,7 +2782,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
               threshold;
 
             (void) SyncImageSettings(mogrify_info,*image,exception);
-            threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+            threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
             (void) SolarizeImage(*image,threshold,exception);
             break;
           }
@@ -2930,7 +2930,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
             if (*option == '+')
               threshold=(double) QuantumRange/2;
             else
-              threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+              threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
             (void) BilevelImage(*image,threshold,exception);
             break;
           }
@@ -6247,7 +6247,7 @@ WandExport MagickBooleanType MogrifyImageInfo(ImageInfo *image_info,
 
             limit=MagickResourceInfinity;
             if (LocaleCompare("unlimited",argv[i+1]) != 0)
-              limit=(MagickSizeType) SiPrefixToDouble(argv[i+1],100.0);
+              limit=(MagickSizeType) InterpretLocaleInterval(argv[i+1],100.0);
             (void) SetMagickResourceLimit(MemoryResource,limit);
             (void) SetMagickResourceLimit(MapResource,2*limit);
             break;
@@ -6525,7 +6525,7 @@ WandExport MagickBooleanType MogrifyImageInfo(ImageInfo *image_info,
                 (void) SetImageOption(image_info,option+1,"0");
                 break;
               }
-            image_info->fuzz=SiPrefixToDouble(argv[i+1],(double) QuantumRange+
+            image_info->fuzz=InterpretLocaleInterval(argv[i+1],(double) QuantumRange+
               1.0);
             (void) SetImageOption(image_info,option+1,argv[i+1]);
             break;
@@ -6653,7 +6653,7 @@ WandExport MagickBooleanType MogrifyImageInfo(ImageInfo *image_info,
               MagickFalse,argv[i+1]);
             limit=MagickResourceInfinity;
             if (LocaleCompare("unlimited",argv[i+2]) != 0)
-              limit=(MagickSizeType) SiPrefixToDouble(argv[i+2],100.0);
+              limit=(MagickSizeType) InterpretLocaleInterval(argv[i+2],100.0);
             (void) SetMagickResourceLimit(type,limit);
             break;
           }
index b2ad69355fb25b237d6100acc029ca6bafbfe2d2..1b9e7298868dfb4fa46b011f89d3c1821f0f6720 100644 (file)
@@ -557,7 +557,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare("unlimited",arg) != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(arg,100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(arg,100.0);
           (void) SetMagickResourceLimit(MemoryResource,limit);
           (void) SetMagickResourceLimit(MapResource,2*limit);
           break;
@@ -832,7 +832,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
           */
           if (IfSetOption)
             {
-              image_info->fuzz=SiPrefixToDouble(arg,(double) QuantumRange+1.0);
+              image_info->fuzz=InterpretLocaleInterval(arg,(double) QuantumRange+1.0);
               (void) SetImageOption(image_info,option,arg);
               break;
             }
@@ -965,7 +965,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
             MagickFalse,arg);
           limit=MagickResourceInfinity;
           if (LocaleCompare("unlimited",argv[2]) != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(argv[2],100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(argv[2],100.0);
           (void) SetMagickResourceLimit(type,limit);
           break;
         }
@@ -2115,7 +2115,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
           if (*argv[0] == '+')
             threshold=40.0*QuantumRange/100.0;
           else
-            threshold=SiPrefixToDouble(args[0],QuantumRange);
+            threshold=InterpretLocaleInterval(args[0],QuantumRange);
           new_image=DeskewImage(*image,threshold,exception);
           break;
         }
@@ -2276,7 +2276,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
           (void) SyncImageSettings(image_info,*image,exception);
           op=(MagickEvaluateOperator) ParseCommandOption(
             MagickEvaluateOptions,MagickFalse,args[0]);
-          constant=SiPrefixToDouble(argv[2],QuantumRange);
+          constant=InterpretLocaleInterval(argv[2],QuantumRange);
           (void) EvaluateImage(*image,op,constant,exception);
           break;
         }
@@ -3218,7 +3218,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
             threshold;
 
           (void) SyncImageSettings(image_info,*image,exception);
-          threshold=SiPrefixToDouble(args[0],QuantumRange);
+          threshold=InterpretLocaleInterval(args[0],QuantumRange);
           new_image=SepiaToneImage(*image,threshold,exception);
           break;
         }
@@ -3354,7 +3354,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
             threshold;
 
           (void) SyncImageSettings(image_info,*image,exception);
-          threshold=SiPrefixToDouble(args[0],QuantumRange);
+          threshold=InterpretLocaleInterval(args[0],QuantumRange);
           (void) SolarizeImage(*image,threshold,exception);
           break;
         }
@@ -3433,7 +3433,7 @@ WandExport MagickBooleanType ApplySettingsOption(MagickWand *wand,
           if (*argv[0] == '+')
             threshold=(double) QuantumRange/2;
           else
-            threshold=SiPrefixToDouble(args[0],QuantumRange);
+            threshold=InterpretLocaleInterval(args[0],QuantumRange);
           (void) BilevelImage(*image,threshold,exception);
           break;
         }
index b7c82954e135abb94328398182ad7fc05ced0dee..c6e861eea90f28115c09bad37e93a41b5da33cc0 100644 (file)
@@ -341,8 +341,8 @@ am__installdirs = "$(DESTDIR)$(codersdir)" "$(DESTDIR)$(filtersdir)" \
        "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
        "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
        "$(DESTDIR)$(configlibdir)" "$(DESTDIR)$(configsharedir)" \
-       "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" \
-       "$(DESTDIR)$(MagickCoreincdir)" \
+       "$(DESTDIR)$(configsharearchdir)" "$(DESTDIR)$(docdir)" \
+       "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(MagickCoreincdir)" \
        "$(DESTDIR)$(MagickWandincdir)" "$(DESTDIR)$(includedir)" \
        "$(DESTDIR)$(ltdlincludedir)" "$(DESTDIR)$(magickppincdir)" \
        "$(DESTDIR)$(magickpptopincdir)"
@@ -2183,8 +2183,8 @@ DIST_SOURCES = $(Magick___lib_libMagick___la_SOURCES) \
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(man_MANS)
-DATA = $(configlib_DATA) $(configshare_DATA) $(doc_DATA) \
-       $(pkgconfig_DATA)
+DATA = $(configlib_DATA) $(configshare_DATA) $(configsharearch_DATA) \
+       $(doc_DATA) $(pkgconfig_DATA)
 am__include_HEADERS_DIST = ltdl/ltdl.h
 am__ltdlinclude_HEADERS_DIST = ltdl/libltdl/lt_system.h \
        ltdl/libltdl/lt_error.h ltdl/libltdl/lt_dlloader.h
@@ -2374,7 +2374,7 @@ HTMLDecodeDelegate = @HTMLDecodeDelegate@
 ILBMDecodeDelegate = @ILBMDecodeDelegate@
 ILBMEncodeDelegate = @ILBMEncodeDelegate@
 INCLTDL = @INCLTDL@
-INCLUDEDIR_ARCH = @INCLUDEDIR_ARCH@
+INCLUDEARCH_DIR = @INCLUDEARCH_DIR@
 INCLUDE_DIR = @INCLUDE_DIR@
 INCLUDE_PATH = @INCLUDE_PATH@
 INFO_DIR = @INFO_DIR@
@@ -2535,7 +2535,8 @@ SBIN_DIR = @SBIN_DIR@
 SCANDecodeDelegate = @SCANDecodeDelegate@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
-SHAREDIR_ARCH = @SHAREDIR_ARCH@
+SHAREARCH_DIR = @SHAREARCH_DIR@
+SHAREARCH_PATH = @SHAREARCH_PATH@
 SHAREDSTATE_DIR = @SHAREDSTATE_DIR@
 SHARE_PATH = @SHARE_PATH@
 SHELL = @SHELL@
@@ -2776,12 +2777,18 @@ M4_EXTRA_DIST = \
 # (share/ImageMagick-version)
 configsharedir = $(SHARE_PATH)
 configshare_DATA = \
-       config/configure.xml \
        config/english.xml \
        config/francais.xml \
        config/locale.xml
 
 
+# Where architecture-independent configuration files get installed
+# (share/arch/ImageMagick-version)
+configsharearchdir = $(SHAREARCH_PATH)
+configsharearch_DATA = \
+       config/configure.xml
+
+
 # Where architecture-dependent configuration files get installed
 # (share/ImageMagick-version)
 configlibdir = $(CONFIGURE_PATH)
@@ -10746,6 +10753,26 @@ uninstall-configshareDATA:
        test -n "$$files" || exit 0; \
        echo " ( cd '$(DESTDIR)$(configsharedir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(configsharedir)" && rm -f $$files
+install-configsharearchDATA: $(configsharearch_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(configsharearchdir)" || $(MKDIR_P) "$(DESTDIR)$(configsharearchdir)"
+       @list='$(configsharearch_DATA)'; test -n "$(configsharearchdir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(configsharearchdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(configsharearchdir)" || exit $$?; \
+       done
+
+uninstall-configsharearchDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(configsharearch_DATA)'; test -n "$(configsharearchdir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(configsharearchdir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(configsharearchdir)" && rm -f $$files
 install-docDATA: $(doc_DATA)
        @$(NORMAL_INSTALL)
        test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
@@ -11290,7 +11317,7 @@ all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
 install-binPROGRAMS: install-libLTLIBRARIES
 
 installdirs:
-       for dir in "$(DESTDIR)$(codersdir)" "$(DESTDIR)$(filtersdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(configlibdir)" "$(DESTDIR)$(configsharedir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(MagickCoreincdir)" "$(DESTDIR)$(MagickWandincdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)" "$(DESTDIR)$(magickppincdir)" "$(DESTDIR)$(magickpptopincdir)"; do \
+       for dir in "$(DESTDIR)$(codersdir)" "$(DESTDIR)$(filtersdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(configlibdir)" "$(DESTDIR)$(configsharedir)" "$(DESTDIR)$(configsharearchdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(MagickCoreincdir)" "$(DESTDIR)$(MagickWandincdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)" "$(DESTDIR)$(magickppincdir)" "$(DESTDIR)$(magickpptopincdir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: $(BUILT_SOURCES)
@@ -11376,10 +11403,11 @@ info-am:
 install-data-am: install-MagickCoreincHEADERS \
        install-MagickWandincHEADERS install-codersLTLIBRARIES \
        install-configlibDATA install-configshareDATA \
-       install-data-local install-docDATA install-filtersLTLIBRARIES \
-       install-includeHEADERS install-ltdlincludeHEADERS \
-       install-magickppincHEADERS install-magickpptopincHEADERS \
-       install-man install-pkgconfigDATA
+       install-configsharearchDATA install-data-local install-docDATA \
+       install-filtersLTLIBRARIES install-includeHEADERS \
+       install-ltdlincludeHEADERS install-magickppincHEADERS \
+       install-magickpptopincHEADERS install-man \
+       install-pkgconfigDATA
 
 install-dvi: install-dvi-am
 
@@ -11433,11 +11461,12 @@ uninstall-am: uninstall-MagickCoreincHEADERS \
        uninstall-MagickWandincHEADERS uninstall-binPROGRAMS \
        uninstall-binSCRIPTS uninstall-codersLTLIBRARIES \
        uninstall-configlibDATA uninstall-configshareDATA \
-       uninstall-docDATA uninstall-filtersLTLIBRARIES \
-       uninstall-includeHEADERS uninstall-libLTLIBRARIES \
-       uninstall-local uninstall-ltdlincludeHEADERS \
-       uninstall-magickppincHEADERS uninstall-magickpptopincHEADERS \
-       uninstall-man uninstall-pkgconfigDATA
+       uninstall-configsharearchDATA uninstall-docDATA \
+       uninstall-filtersLTLIBRARIES uninstall-includeHEADERS \
+       uninstall-libLTLIBRARIES uninstall-local \
+       uninstall-ltdlincludeHEADERS uninstall-magickppincHEADERS \
+       uninstall-magickpptopincHEADERS uninstall-man \
+       uninstall-pkgconfigDATA
 
 uninstall-man: uninstall-man1
 
@@ -11457,9 +11486,10 @@ uninstall-man: uninstall-man1
        html-am info info-am install install-MagickCoreincHEADERS \
        install-MagickWandincHEADERS install-am install-binPROGRAMS \
        install-binSCRIPTS install-codersLTLIBRARIES \
-       install-configlibDATA install-configshareDATA install-data \
-       install-data-am install-data-local install-docDATA install-dvi \
-       install-dvi-am install-exec install-exec-am install-exec-local \
+       install-configlibDATA install-configshareDATA \
+       install-configsharearchDATA install-data install-data-am \
+       install-data-local install-docDATA install-dvi install-dvi-am \
+       install-exec install-exec-am install-exec-local \
        install-filtersLTLIBRARIES install-html install-html-am \
        install-includeHEADERS install-info install-info-am \
        install-libLTLIBRARIES install-ltdlincludeHEADERS \
@@ -11473,12 +11503,12 @@ uninstall-man: uninstall-man1
        uninstall-MagickCoreincHEADERS uninstall-MagickWandincHEADERS \
        uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
        uninstall-codersLTLIBRARIES uninstall-configlibDATA \
-       uninstall-configshareDATA uninstall-docDATA \
-       uninstall-filtersLTLIBRARIES uninstall-includeHEADERS \
-       uninstall-libLTLIBRARIES uninstall-local \
-       uninstall-ltdlincludeHEADERS uninstall-magickppincHEADERS \
-       uninstall-magickpptopincHEADERS uninstall-man uninstall-man1 \
-       uninstall-pkgconfigDATA
+       uninstall-configshareDATA uninstall-configsharearchDATA \
+       uninstall-docDATA uninstall-filtersLTLIBRARIES \
+       uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+       uninstall-local uninstall-ltdlincludeHEADERS \
+       uninstall-magickppincHEADERS uninstall-magickpptopincHEADERS \
+       uninstall-man uninstall-man1 uninstall-pkgconfigDATA
 
 
 # We need the following in order to create an <argz.h> when the system
index ecc723dbbd12900d05f04bbc49fcce7f3587bd96..8bc91dd279938f5f7d25bc03865dda0d78fd2cf3 100644 (file)
@@ -1026,7 +1026,7 @@ static struct PackageInfo *GetPackageInfo(pTHX_ void *reference,
 %
 */
 
-static double SiPrefixToDouble(const char *string,const double interval)
+static double InterpretLocaleInterval(const char *string,const double interval)
 {
   char
     *q;
@@ -1137,7 +1137,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
           (void) SetMagickResourceLimit(AreaResource,limit);
           break;
         }
@@ -1175,7 +1175,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
       if (LocaleCompare(attribute,"bias") == 0)
         {
           for ( ; image; image=image->next)
-            image->bias=SiPrefixToDouble(SvPV(sval,na),QuantumRange);
+            image->bias=InterpretLocaleInterval(SvPV(sval,na),QuantumRange);
           break;
         }
       if (LocaleCompare(attribute,"blue-primary") == 0)
@@ -1213,9 +1213,9 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
       if (LocaleCompare(attribute,"cache-threshold") == 0)
         {
           (void) SetMagickResourceLimit(MemoryResource,(MagickSizeType)
-            SiPrefixToDouble(SvPV(sval,na),100.0));
+            InterpretLocaleInterval(SvPV(sval,na),100.0));
           (void) SetMagickResourceLimit(MapResource,(MagickSizeType)
-            (2*SiPrefixToDouble(SvPV(sval,na),100.0)));
+            (2*InterpretLocaleInterval(SvPV(sval,na),100.0)));
           break;
         }
       if (LocaleCompare(attribute,"clip-mask") == 0)
@@ -1340,7 +1340,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
           (void) SetMagickResourceLimit(DiskResource,limit);
           break;
         }
@@ -1505,9 +1505,9 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
       if (LocaleCompare(attribute,"fuzz") == 0)
         {
           if (info)
-            info->image_info->fuzz=SiPrefixToDouble(SvPV(sval,na),QuantumRange);
+            info->image_info->fuzz=InterpretLocaleInterval(SvPV(sval,na),QuantumRange);
           for ( ; image; image=image->next)
-            image->fuzz=SiPrefixToDouble(SvPV(sval,na),QuantumRange);
+            image->fuzz=InterpretLocaleInterval(SvPV(sval,na),QuantumRange);
           break;
         }
       if (info)
@@ -1665,7 +1665,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
           (void) SetMagickResourceLimit(MapResource,limit);
           break;
         }
@@ -1712,7 +1712,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
           (void) SetMagickResourceLimit(MemoryResource,limit);
           break;
         }
@@ -2035,7 +2035,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
           (void) SetMagickResourceLimit(ThreadResource,limit);
           break;
         }
@@ -2060,7 +2060,7 @@ static void SetAttribute(pTHX_ struct PackageInfo *info,Image *image,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
           (void) SetMagickResourceLimit(TimeResource,limit);
           break;
         }
@@ -3180,7 +3180,7 @@ Compare(ref,...)
         {
           if (LocaleCompare(attribute,"fuzz") == 0)
             {
-              image->fuzz=SiPrefixToDouble(SvPV(ST(i),na),100.0);
+              image->fuzz=InterpretLocaleInterval(SvPV(ST(i),na),100.0);
               break;
             }
           ThrowPerlException(exception,OptionError,"UnrecognizedAttribute",
@@ -7623,7 +7623,7 @@ Mogrify(ref,...)
             geometry.y=argument_list[4].integer_reference;
           if (attribute_flag[5] != 0)
             image->fuzz=
-              SiPrefixToDouble(argument_list[5].string_reference,QuantumRange);
+              InterpretLocaleInterval(argument_list[5].string_reference,QuantumRange);
           image=CropImage(image,&geometry,exception);
           break;
         }
@@ -8222,7 +8222,7 @@ Mogrify(ref,...)
               invert=MagickTrue;
             }
           if (attribute_flag[5] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
               QuantumRange);
           if (attribute_flag[6] != 0)
             invert=(MagickBooleanType) argument_list[6].integer_reference;
@@ -8258,7 +8258,7 @@ Mogrify(ref,...)
             {
               if (compose != DissolveCompositeOp)
                 (void) SetImageAlpha(composite_image,(Quantum)
-                  SiPrefixToDouble(argument_list[6].string_reference,
+                  InterpretLocaleInterval(argument_list[6].string_reference,
                   QuantumRange),exception);
               else
                 {
@@ -8286,7 +8286,7 @@ Mogrify(ref,...)
                   */
                   (void) CloneString(&image->geometry,
                     argument_list[6].string_reference);
-                  opacity=(Quantum) SiPrefixToDouble(
+                  opacity=(Quantum) InterpretLocaleInterval(
                     argument_list[6].string_reference,QuantumRange);
                   if (composite_image->matte != MagickTrue)
                     (void) SetImageAlpha(composite_image,OpaqueAlpha,exception);
@@ -8789,10 +8789,10 @@ Mogrify(ref,...)
             QueryColorCompliance(argument_list[4].string_reference,
               AllCompliance,&target,exception);
           if (attribute_flag[3] != 0)
-            target.alpha=SiPrefixToDouble(argument_list[3].string_reference,
+            target.alpha=InterpretLocaleInterval(argument_list[3].string_reference,
               QuantumRange);
           if (attribute_flag[5] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
               QuantumRange);
           invert=MagickFalse;
           if (attribute_flag[6] != 0)
@@ -8887,7 +8887,7 @@ Mogrify(ref,...)
             (void) QueryColorCompliance(argument_list[1].string_reference,
               AllCompliance,&fill_color,exception);
           if (attribute_flag[2] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[2].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[2].string_reference,
               QuantumRange);
           if (attribute_flag[3] != 0)
             channel=(ChannelType) argument_list[3].integer_reference;
@@ -9006,7 +9006,7 @@ Mogrify(ref,...)
             flags=ParseGeometry(argument_list[0].string_reference,
               &geometry_info);
           if (attribute_flag[1] != 0)
-            geometry_info.rho=SiPrefixToDouble(
+            geometry_info.rho=InterpretLocaleInterval(
              argument_list[1].string_reference,QuantumRange);
           (void) SolarizeImage(image,geometry_info.rho,exception);
           break;
@@ -9059,10 +9059,10 @@ Mogrify(ref,...)
               AllCompliance,&target,exception);
           opacity=TransparentAlpha;
           if (attribute_flag[1] != 0)
-            opacity=SiPrefixToDouble(argument_list[1].string_reference,
+            opacity=InterpretLocaleInterval(argument_list[1].string_reference,
               QuantumRange);
           if (attribute_flag[2] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[2].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[2].string_reference,
               QuantumRange);
           if (attribute_flag[3] == 0)
             argument_list[3].integer_reference=0;
@@ -9082,7 +9082,7 @@ Mogrify(ref,...)
             argument_list[0].string_reference="50%";
           if (attribute_flag[1] != 0)
             channel=(ChannelType) argument_list[1].integer_reference;
-          threshold=SiPrefixToDouble(argument_list[0].string_reference,
+          threshold=InterpretLocaleInterval(argument_list[0].string_reference,
             QuantumRange);
           channel_mask=SetPixelChannelMask(image,channel);
           (void) BilevelImage(image,threshold,exception);
@@ -9111,7 +9111,7 @@ Mogrify(ref,...)
         case 59:  /* Trim */
         {
           if (attribute_flag[0] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[0].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[0].string_reference,
               QuantumRange);
           image=TrimImage(image,exception);
           break;
@@ -9247,7 +9247,7 @@ Mogrify(ref,...)
           if (attribute_flag[1] != 0)
             channel=(ChannelType) argument_list[1].integer_reference;
           if (attribute_flag[2] != 0)
-            image->bias=SiPrefixToDouble(argument_list[2].string_reference,
+            image->bias=InterpretLocaleInterval(argument_list[2].string_reference,
               QuantumRange);
           if (attribute_flag[3] != 0)
             {
@@ -9600,7 +9600,7 @@ Mogrify(ref,...)
               goto PerlException;
             }
           if (attribute_flag[1] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[1].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[1].string_reference,
               QuantumRange);
           (void) IsImagesEqual(image,argument_list[0].image_reference,
             exception);
@@ -9773,7 +9773,7 @@ Mogrify(ref,...)
           if (attribute_flag[4] != 0)
             geometry.y=argument_list[4].integer_reference;
           if (attribute_flag[5] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
               QuantumRange);
           if (attribute_flag[6] != 0)
             (void) QueryColorCompliance(argument_list[6].string_reference,
@@ -9898,7 +9898,7 @@ Mogrify(ref,...)
           if (attribute_flag[4] != 0)
             geometry.y=argument_list[4].integer_reference;
           if (attribute_flag[5] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
               QuantumRange);
           if (attribute_flag[6] != 0)
             (void) QueryColorCompliance(argument_list[6].string_reference,
@@ -10273,7 +10273,7 @@ Mogrify(ref,...)
             QueryColorCompliance(argument_list[4].string_reference,
               AllCompliance,&target,exception);
           if (attribute_flag[5] != 0)
-            image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+            image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
               QuantumRange);
           if (attribute_flag[6] != 0)
             channel=(ChannelType) argument_list[6].integer_reference;
@@ -10392,7 +10392,7 @@ Mogrify(ref,...)
             flags=ParseGeometry(argument_list[0].string_reference,
               &geometry_info);
           if (attribute_flag[1] != 0)
-            geometry_info.rho=SiPrefixToDouble(
+            geometry_info.rho=InterpretLocaleInterval(
               argument_list[1].string_reference,QuantumRange);
           image=DeskewImage(image,geometry_info.rho,exception);
           break;
index ece1a9afa498da0e067f6411d752f7860c8b5bab..65549e51fb7398ccb44fc987c8ba50907af58ab2 100644 (file)
@@ -1991,7 +1991,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info,
             Search for compression quality that does not exceed image extent.
           */
           jpeg_info->quality=0;
-          extent=(MagickSizeType) SiPrefixToDouble(option,100.0);
+          extent=(MagickSizeType) InterpretLocaleInterval(option,100.0);
           (void) DeleteImageOption(jpeg_info,"jpeg:extent");
           (void) AcquireUniqueFilename(jpeg_image->filename);
           maximum=101;
index c5403672fc1579dffcfd3216500235310c3b8498..b9de76ee81c8c9b4bdf4ca71bd32dadadf78ea8e 100644 (file)
@@ -8000,7 +8000,7 @@ static MagickBooleanType SetMSLAttributes(MSLInfo *msl_info,const char *keyword,
 
           limit=MagickResourceInfinity;
           if (LocaleCompare(value,"unlimited") != 0)
-            limit=(MagickSizeType) SiPrefixToDouble(value,100.0);
+            limit=(MagickSizeType) InterpretLocaleInterval(value,100.0);
           (void) SetMagickResourceLimit(AreaResource,limit);
           break;
         }
@@ -8030,7 +8030,7 @@ static MagickBooleanType SetMSLAttributes(MSLInfo *msl_info,const char *keyword,
         {
           if (image == (Image *) NULL)
             break;
-          image->bias=SiPrefixToDouble(value,QuantumRange);
+          image->bias=InterpretLocaleInterval(value,QuantumRange);
           break;
         }
       if (LocaleCompare(keyword,"blue-primary") == 0)
index e496fb8ee0395b2be1b60caec7f251bd607d15cb..9e4bc04c3b1323c8926a6eae103d2c1347bbb116 100644 (file)
 # (share/ImageMagick-version)
 configsharedir = $(SHARE_PATH)
 configshare_DATA = \
-       config/configure.xml \
        config/english.xml \
        config/francais.xml \
        config/locale.xml
 
+# Where architecture-independent configuration files get installed
+# (share/arch/ImageMagick-version)
+configsharearchdir = $(SHAREARCH_PATH)
+configsharearch_DATA = \
+       config/configure.xml
+
 # Where architecture-dependent configuration files get installed
 # (share/ImageMagick-version)
 configlibdir =  $(CONFIGURE_PATH)
index 48c1bdd58d3de57ecb540e8837d984056728a00c..4f621e428cfaa123a08209dd920c4c7abd86990a 100644 (file)
 /* Define to the type of arg 5 for `select'. */
 #undef SELECT_TYPE_ARG5
 
+/* Directory where architecture-independent configuration files live. */
+#undef SHAREARCH_PATH
+
+/* Subdirectory of lib where architecture-independent configuration files
+   live. */
+#undef SHAREARCH_RELATIVE_PATH
+
 /* Directory where architecture-independent configuration files live. */
 #undef SHARE_PATH
 
index fca8b55be6c3856a3f08ef6548b83761dc2a685c..bd235cb0596bbd3c21100312b7d1dab9630f07b3 100644 (file)
@@ -10,8 +10,8 @@
   <configure name="VERSION" value="7.0.0"/>
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
-  <configure name="SVN_REVISION" value="5819" />
-  <configure name="RELEASE_DATE" value="2011-10-30"/>
+  <configure name="SVN_REVISION" value="5835" />
+  <configure name="RELEASE_DATE" value="2011-11-02"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>
index c99582d4ec9634c680c216a58e9a117e2f75be80..cc20ec7739a6e0f79dd62e38f52da371f2c23186 100755 (executable)
--- a/configure
+++ b/configure
@@ -721,6 +721,7 @@ BrowseDelegate
 BZIPDelegate
 BlenderDecodeDelegate
 AutotraceDecodeDelegate
+SHAREARCH_PATH
 SHARE_PATH
 CONFIGURE_PATH
 DOCUMENTATION_PATH
@@ -918,8 +919,8 @@ PTHREAD_CFLAGS
 PTHREAD_LIBS
 PTHREAD_CC
 ax_pthread_config
-SHAREDIR_ARCH
-INCLUDEDIR_ARCH
+SHAREARCH_DIR
+INCLUDEARCH_DIR
 WinPathScript
 USING_CL_FALSE
 USING_CL_TRUE
@@ -1086,8 +1087,8 @@ with_gnu_ld
 with_dmalloc
 enable_bounds_checking
 enable_osx_universal_binary
-with_includedir_arch
-with_sharedir_arch
+with_includearch_dir
+with_sharearch_dir
 with_threads
 enable_openmp
 enable_opencl
@@ -1855,8 +1856,8 @@ Optional Packages:
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-dmalloc          use dmalloc, as in
                          http://www.dmalloc.com/dmalloc.tar.gz
-  --includedir-arch=DIR   ARCH specific include directory
-  --sharedir-arch=DIR     ARCH specific config directory
+  --includearch-dir=DIR   ARCH specific include directory
+  --sharearch-dir=DIR     ARCH specific config directory
   --without-threads       disable threads support
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
@@ -3603,7 +3604,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`
 
 MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
 
-MAGICK_SVN_REVISION=5819
+MAGICK_SVN_REVISION=5835
 
 
 
@@ -8260,31 +8261,31 @@ esac
 # ARCH specific include directory
 #
 
-# Check whether --with-includedir-arch was given.
-if test "${with_includedir_arch+set}" = set; then :
-  withval=$with_includedir_arch; includedir_arch=$withval
+# Check whether --with-includearch-dir was given.
+if test "${with_includearch_dir+set}" = set; then :
+  withval=$with_includearch_dir; includearch_dir=$withval
 else
-  includedir_arch=$INCLUDE_DIR
+  includearch_dir=$INCLUDE_DIR
 fi
 
 
-eval "eval INCLUDEDIR_ARCH=$includedir_arch"
+eval "eval INCLUDEARCH_DIR=$includearch_dir"
 
 
 #
 # ARCH specific configuration directory
 #
 
-# Check whether --with-sharedir-arch was given.
-if test "${with_sharedir_arch+set}" = set; then :
-  withval=$with_sharedir_arch; sharedir_arch=$withval
+# Check whether --with-sharearch-dir was given.
+if test "${with_sharearch_dir+set}" = set; then :
+  withval=$with_sharearch_dir; sharearch_dir=$withval
 else
-  sharedir_arch="${DATA_DIR}"
+  sharearch_dir="${DATA_DIR}"
 fi
 
 
-eval "eval SHAREDIR_ARCH=$sharedir_arch"
-SHAREDIR_ARCH="$sharedir_arch"
+eval "eval SHAREARCH_DIR=$sharearch_dir"
+SHAREARCH_DIR="$sharearch_dir"
 
 
 #
@@ -31909,8 +31910,8 @@ fi
 
 # Path to ImageMagick header files
 INCLUDE_RELATIVE_PATH="ImageMagick"
-INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}"
-DEFINE_INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}/"
+INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}"
+DEFINE_INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}/"
 case "${build_os}" in
   mingw* )
     DEFINE_INCLUDE_PATH=`$WinPathScript "$DEFINE_INCLUDE_PATH" 1`
@@ -32050,7 +32051,7 @@ cat >>confdefs.h <<_ACEOF
 #define SHARE_RELATIVE_PATH "$SHARE_RELATIVE_PATH"
 _ACEOF
 
-SHARE_PATH="${SHAREDIR_ARCH}/${SHARE_RELATIVE_PATH}"
+SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
 DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
 case "${build_os}" in
   mingw* )
@@ -32064,6 +32065,27 @@ _ACEOF
 
 
 
+# Subdirectory to place architecture-independent configuration files
+SHAREARCH_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
+
+cat >>confdefs.h <<_ACEOF
+#define SHAREARCH_RELATIVE_PATH "$SHAREARCH_RELATIVE_PATH"
+_ACEOF
+
+SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}"
+DEFINE_SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}/"
+case "${build_os}" in
+  mingw* )
+    DEFINE_SHAREARCH_PATH=`$WinPathScript "$DEFINE_SHAREARCH_PATH" 1`
+    ;;
+esac
+
+cat >>confdefs.h <<_ACEOF
+#define SHAREARCH_PATH "$DEFINE_SHAREARCH_PATH"
+_ACEOF
+
+
+
 #
 # program_transform_name is formed for use in a Makefile, so create a
 # modified version for use in a shell script.
index c53930866c244aca0ef0878ba195a24bf002a78f..e1d6ad3fd5e4ffd1b83ec7a24f6bf96a4af3dbe2 100755 (executable)
@@ -379,27 +379,27 @@ esac
 #
 # ARCH specific include directory
 #
-AC_ARG_WITH([includedir-arch],
-    [AC_HELP_STRING([--includedir-arch=DIR],
+AC_ARG_WITH([includearch-dir],
+    [AC_HELP_STRING([--includearch-dir=DIR],
                     [ARCH specific include directory])],
-                    [includedir_arch=$withval],
-                    [includedir_arch=$INCLUDE_DIR])
+                    [includearch_dir=$withval],
+                    [includearch_dir=$INCLUDE_DIR])
 
-eval "eval INCLUDEDIR_ARCH=$includedir_arch"
-AC_SUBST(INCLUDEDIR_ARCH)
+eval "eval INCLUDEARCH_DIR=$includearch_dir"
+AC_SUBST(INCLUDEARCH_DIR)
 
 #
 # ARCH specific configuration directory
 #
-AC_ARG_WITH([sharedir-arch],
-    [AC_HELP_STRING([--sharedir-arch=DIR],
+AC_ARG_WITH([sharearch-dir],
+    [AC_HELP_STRING([--sharearch-dir=DIR],
                     [ARCH specific config directory])],
-                    [sharedir_arch=$withval],
-                    [sharedir_arch="${DATA_DIR}"])
+                    [sharearch_dir=$withval],
+                    [sharearch_dir="${DATA_DIR}"])
 
-eval "eval SHAREDIR_ARCH=$sharedir_arch"
-SHAREDIR_ARCH="$sharedir_arch"
-AC_SUBST(SHAREDIR_ARCH)
+eval "eval SHAREARCH_DIR=$sharearch_dir"
+SHAREARCH_DIR="$sharearch_dir"
+AC_SUBST(SHAREARCH_DIR)
 
 #
 # Enable support for threads
@@ -2876,8 +2876,8 @@ AC_SUBST(PERLMAINCC)
 
 # Path to ImageMagick header files
 INCLUDE_RELATIVE_PATH="ImageMagick"
-INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}"
-DEFINE_INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}/"
+INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}"
+DEFINE_INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}/"
 case "${build_os}" in
   mingw* )
     DEFINE_INCLUDE_PATH=`$WinPathScript "$DEFINE_INCLUDE_PATH" 1`
@@ -2969,7 +2969,7 @@ AC_SUBST(CONFIGURE_PATH)
 # Subdirectory to place architecture-independent configuration files
 SHARE_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
 AC_DEFINE_UNQUOTED(SHARE_RELATIVE_PATH,"$SHARE_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
-SHARE_PATH="${SHAREDIR_ARCH}/${SHARE_RELATIVE_PATH}"
+SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
 DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
 case "${build_os}" in
   mingw* )
@@ -2979,6 +2979,19 @@ esac
 AC_DEFINE_UNQUOTED(SHARE_PATH,"$DEFINE_SHARE_PATH",Directory where architecture-independent configuration files live.)
 AC_SUBST(SHARE_PATH)
 
+# Subdirectory to place architecture-independent configuration files
+SHAREARCH_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
+AC_DEFINE_UNQUOTED(SHAREARCH_RELATIVE_PATH,"$SHAREARCH_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
+SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}"
+DEFINE_SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}/"
+case "${build_os}" in
+  mingw* )
+    DEFINE_SHAREARCH_PATH=`$WinPathScript "$DEFINE_SHAREARCH_PATH" 1`
+    ;;
+esac
+AC_DEFINE_UNQUOTED(SHAREARCH_PATH,"$DEFINE_SHAREARCH_PATH",Directory where architecture-independent configuration files live.)
+AC_SUBST(SHAREARCH_PATH)
+
 #
 # program_transform_name is formed for use in a Makefile, so create a
 # modified version for use in a shell script.