]> granicus.if.org Git - graphviz/commitdiff
fix 'gvpr' usage output
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 19 Feb 2022 21:04:13 +0000 (13:04 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 20 Feb 2022 19:54:39 +0000 (11:54 -0800)
Commit 83eea6075b8f4746d632a792b1d1b97c19797acb altered the calling convention
of `errorv`, but failed to take into account that the local variable `s` was
being used for something else prior to its use as the first unpacked parameter.
Following this commit, the first parameter was being discarded as `s` was
overwritten with `error_info.id` or `id`.

This fix restores the previous behavior.

CHANGELOG.md
lib/ast/error.c
rtest/test_regression.py

index 7db870ba90fe81f1f7ff5d34709ce07ba7c9f92b..a44c7aad0406e67654c2b0a693b028864585d9d2 100644 (file)
@@ -104,6 +104,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Gvedit on macOS now understands the `-?` help command line argument
 - CMAKE_LIBRARY_PATH is not honored #1973
 - assert failure with `nslimit1=0` #1902
+- `gvpr` usage output has been restored. This was a regression in Graphviz
+  2.46.0.
 
 ## [2.50.0] – 2021-12-04
 
index 81e04573e6b77407ca983deb005acad04ff3e48d..13d28a0fbc333a9d1fe4d339e6917e65cca99c4a 100644 (file)
@@ -50,11 +50,12 @@ void errorv(const char *id, int level, const char *s, va_list ap)
        flags = level & ~ERROR_LEVEL;
        level &= ERROR_LEVEL;
     }
-    if (level && ((s = error_info.id) || (s = id))) {
+    const char *prefix;
+    if (level && ((prefix = error_info.id) || (prefix = id))) {
        if (flags & ERROR_USAGE)
-           sfprintf(sfstderr, "Usage: %s ", s);
+           sfprintf(sfstderr, "Usage: %s ", prefix);
        else
-           sfprintf(sfstderr, "%s: ", s);
+           sfprintf(sfstderr, "%s: ", prefix);
     }
     if (flags & ERROR_USAGE)
        /*nop */ ;
index 908358529f74a6939019a9fa86efdd5725f2102a..f6144c5f0b5572c46d16d34364099bd7750fdefb 100644 (file)
@@ -1537,7 +1537,6 @@ def test_bitarray():
 
   _, _ = run_c(src, cflags=cflags)
 
-@pytest.mark.xfail(strict=True) # FIXME
 @pytest.mark.skipif(shutil.which("gvpr") is None, reason="gvpr not available")
 def test_gvpr_usage():
   """