]> granicus.if.org Git - graphviz/commitdiff
fix: incorrect failure diagnosis in lab_gamut_quadtree call
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 20 Jun 2021 18:34:35 +0000 (11:34 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 26 Jun 2021 21:27:34 +0000 (14:27 -0700)
This function can only fail due to exhausting memory, not due to the lab_gamut
file failing to be opened. As per the previous commit, this file is no longer
relevant as the gamut information is in the source itself.

CHANGELOG.md
lib/edgepaint/node_distinct_coloring.c
lib/edgepaint/node_distinct_coloring.h

index 12bccb3a35c1f1a8efd54b6b17ce4d03903e68cd..fa3350aa83db9a6a2ce01152e4ea9ea6f0d8adab 100644 (file)
@@ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 - ortho's eqEndSeg incorrectly modifies its arguments #2047
 - Autotools enables -Wtrampolines and -Wlogical-op for Clang #2066
+- node_distinct_coloring failure due to out-of-memory now reported correctly
+  instead of referring to a failure to open lab_gamut
 
 ## [2.47.3] - 2021-06-19
 
index 7c17d9dbd628bdfc912d475624f3aa82f5baed40..61e210d105d2c1735dd61f42145bb5b2ce68f1b3 100644 (file)
@@ -249,8 +249,8 @@ void node_distinct_coloring(char *color_scheme, char *lightness, int weightedQ,
     scheme =  COLOR_LAB;
     qt = lab_gamut_quadtree(lightness, max_qtree_level);
     if (!qt){
-      fprintf(stderr," can not open file \"lab_gamut\"\n");
-      *flag = ERROR_BAD_LAB_GAMUT_FILE;
+      fprintf(stderr, "out of memory\n");
+      *flag = -1;
       return;
     }
   } else if (strcmp(color_scheme, "rgb") == 0){
index 6d47d3455b1520b7f36f66812636a68b1e5b25fd..7a5dc69137916f225efa023407b902cb0d491265 100644 (file)
@@ -12,7 +12,7 @@
 #define NODE_DISTINCT_COLORING_H
 
 enum {COLOR_RGB, COLOR_GRAY, COLOR_LAB};
-enum {ERROR_BAD_LAB_GAMUT_FILE = -10, ERROR_BAD_COLOR_SCHEME = -9};
+enum {ERROR_BAD_COLOR_SCHEME = -9};
 void node_distinct_coloring(char *color_scheme, char *lightness, int weightedQ, SparseMatrix A, real accuracy, int iter_max, int seed, int *cdim, real **colors, real *color_diff, real *color_diff_sum, int *flag);
 
 #endif