]> granicus.if.org Git - imagemagick/commitdiff
Export the temporary path for convert -list configure
authorCristy <urban-warrior@imagemagick.org>
Thu, 15 Nov 2018 12:59:32 +0000 (07:59 -0500)
committerCristy <urban-warrior@imagemagick.org>
Thu, 15 Nov 2018 12:59:32 +0000 (07:59 -0500)
MagickCore/configure.c

index a09c8e4e8db24abbd2b44a1e8bcdc3475cd1b9da..552ed8b0297f5aa946a0efaa69af651d72bbf9bc 100644 (file)
@@ -148,9 +148,35 @@ static MagickBooleanType
 %    o exception: return any errors or warnings in this structure.
 %
 */
+
+static ConfigureInfo *NewConfigureKey(const char *path,const char *name,
+  const char *value)
+{
+  ConfigureInfo
+    *configure_info;
+
+  configure_info=(ConfigureInfo *) AcquireMagickMemory(sizeof(*configure_info));
+  if (configure_info == (ConfigureInfo *) NULL)
+    return((ConfigureInfo *) NULL);
+  (void) memset(configure_info,0,sizeof(*configure_info));
+  configure_info->path=(char *) path;
+  configure_info->name=(char *) name;
+  configure_info->value=(char *) value;
+  configure_info->exempt=MagickTrue;
+  configure_info->signature=MagickCoreSignature;
+  return(configure_info);
+}
+
 static LinkedListInfo *AcquireConfigureCache(const char *filename,
   ExceptionInfo *exception)
 {
+  char
+    head_path[MagickPathExtent],
+    path[MagickPathExtent];
+
+  ConfigureInfo
+    *configure_info;
+
   LinkedListInfo
     *cache;
 
@@ -189,33 +215,32 @@ static LinkedListInfo *AcquireConfigureCache(const char *filename,
   */
   for (i=0; i < (ssize_t) (sizeof(ConfigureMap)/sizeof(*ConfigureMap)); i++)
   {
-    ConfigureInfo
-      *configure_info;
-
     register const ConfigureMapInfo
       *p;
 
     p=ConfigureMap+i;
-    configure_info=(ConfigureInfo *) AcquireMagickMemory(
-      sizeof(*configure_info));
+    configure_info=NewConfigureKey("[built-in]",p->name,p->value);
     if (configure_info == (ConfigureInfo *) NULL)
       {
         (void) ThrowMagickException(exception,GetMagickModule(),
           ResourceLimitError,"MemoryAllocationFailed","`%s'",p->name);
         continue;
       }
-    (void) memset(configure_info,0,sizeof(*configure_info));
-    configure_info->path=(char *) "[built-in]";
-    configure_info->name=(char *) p->name;
-    configure_info->value=(char *) p->value;
-    configure_info->exempt=MagickTrue;
-    configure_info->signature=MagickCoreSignature;
     status&=AppendValueToLinkedList(cache,configure_info);
     if (status == MagickFalse)
       (void) ThrowMagickException(exception,GetMagickModule(),
         ResourceLimitError,"MemoryAllocationFailed","`%s'",
         configure_info->name);
   }
+  /*
+    Load runtime configuration.
+  */
+  (void) AcquireUniqueFilename(path);
+  GetPathComponent(path,HeadPath,head_path);
+  configure_info=NewConfigureKey("[built-in]","MAGICK_TEMPORARY_PATH",
+    head_path);
+  if (configure_info != (ConfigureInfo *) NULL)
+    status&=AppendValueToLinkedList(cache,configure_info);
   return(cache);
 }
 \f
@@ -1088,7 +1113,7 @@ MagickExport MagickBooleanType ListConfigureInfo(FILE *file,
         if (configure_info[i]->path != (char *) NULL)
           (void) FormatLocaleFile(file,"\nPath: %s\n\n",
             configure_info[i]->path);
-        (void) FormatLocaleFile(file,"Name           Value\n");
+        (void) FormatLocaleFile(file,"Name                  Value\n");
         (void) FormatLocaleFile(file,
           "-------------------------------------------------"
           "------------------------------\n");
@@ -1098,7 +1123,7 @@ MagickExport MagickBooleanType ListConfigureInfo(FILE *file,
     if (configure_info[i]->name != (char *) NULL)
       name=configure_info[i]->name;
     (void) FormatLocaleFile(file,"%s",name);
-    for (j=(ssize_t) strlen(name); j <= 13; j++)
+    for (j=(ssize_t) strlen(name); j <= 20; j++)
       (void) FormatLocaleFile(file," ");
     (void) FormatLocaleFile(file," ");
     value="unknown";