Thanks, I installed the attached slightly-different patch.
>From 00b5abcff31d86a9831b586421bfe89d36dbeda9 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Sat, 7 Feb 2015 15:09:00 -0800
Subject: [PATCH] crypto/gc: fix a -Wswitch warning

Reported by Bruce Korb in:
http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00046.html
* lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
---
 ChangeLog       |  7 +++++++
 lib/gc-gnulib.c | 13 +++----------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2f2e73e..82a2960 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-02-07  Paul Eggert  <egg...@cs.ucla.edu>
+
+	crypto/gc: fix a -Wswitch warning
+	Reported by Bruce Korb in:
+	http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00046.html
+	* lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
+
 2015-02-03  Pádraig Brady  <p...@draigbrady.com>
 
 	gnulib-tool: fix handling of patch(1) diagnostics
diff --git a/lib/gc-gnulib.c b/lib/gc-gnulib.c
index a1276c9..56b4664 100644
--- a/lib/gc-gnulib.c
+++ b/lib/gc-gnulib.c
@@ -626,6 +626,9 @@ gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle * outhandle)
   _gc_hash_ctx *ctx;
   Gc_rc rc = GC_OK;
 
+  if (mode != 0)
+    return GC_INVALID_HASH;
+
   ctx = calloc (sizeof (*ctx), 1);
   if (!ctx)
     return GC_MALLOC_ERROR;
@@ -664,16 +667,6 @@ gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle * outhandle)
       break;
     }
 
-  switch (mode)
-    {
-    case 0:
-      break;
-
-    default:
-      rc = GC_INVALID_HASH;
-      break;
-    }
-
   if (rc == GC_OK)
     *outhandle = ctx;
   else
-- 
2.1.0

Reply via email to