From: François Pinard <pinard@iro.umontreal.ca>
Date: Tue, 18 Mar 2008 14:06:58 +0000 (-0400)
Subject: Jim on gcc warnings
X-Git-Tag: v3.7~215
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7e18f2d8139e3c62d7f55aaf7d1c91123934535a;p=recode

Jim on gcc warnings
---

diff --git a/src/ChangeLog b/src/ChangeLog
index 2e651db..82bc813 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-17  Jim Meyering  <meyering@redhat.com>
+
+	Avoid gcc warning about ambiguous `else'.
+	* iconv.c (wrapped_transform): Add braces.
+
+	Avoid a warning from gcc -Wformat-security.
+	* names.c (list_concise_charset): Use fputs to print spaces,
+	not printf.
+
 2008-03-16  François Pinard  <pinard@iro.umontreal.ca>
 
 	* recodext.h.in: New name for recodext.h.
diff --git a/src/iconv.c b/src/iconv.c
index 1395017..a16c10f 100644
--- a/src/iconv.c
+++ b/src/iconv.c
@@ -98,28 +98,30 @@ wrapped_transform (iconv_t conversion, RECODE_SUBTASK subtask)
 
       drain_first = false;
       if (saved_errno != 0 && saved_errno != E2BIG)
-        if (saved_errno == EILSEQ)
-          {
-            /* Invalid input.  Skip one byte.  */
-            RETURN_IF_NOGO (RECODE_INVALID_INPUT, subtask);
-            assert (input_left > 0);
-            input++;
-            input_left--;
-            /* Why is draining required?  */
-            drain_first = true;
-          }
-        else if (saved_errno == EINVAL)
-          {
-            if (input + input_left < input_buffer + BUFFER_SIZE
-                && input_char == EOF)
-              /* Incomplete multibyte sequence at end of input.  */
-              RETURN_IF_NOGO (RECODE_INVALID_INPUT, subtask);
-          }
-        else
-          {
-            recode_perror (subtask->task->request->outer, "iconv ()");
-            RETURN_IF_NOGO (RECODE_SYSTEM_ERROR, subtask);
-          }
+	{
+	  if (saved_errno == EILSEQ)
+	    {
+	      /* Invalid input.  Skip one byte.  */
+	      RETURN_IF_NOGO (RECODE_INVALID_INPUT, subtask);
+	      assert (input_left > 0);
+	      input++;
+	      input_left--;
+	      /* Why is draining required?  */
+	      drain_first = true;
+	    }
+	  else if (saved_errno == EINVAL)
+	    {
+	      if (input + input_left < input_buffer + BUFFER_SIZE
+		  && input_char == EOF)
+		/* Incomplete multibyte sequence at end of input.  */
+		RETURN_IF_NOGO (RECODE_INVALID_INPUT, subtask);
+	    }
+	  else
+	    {
+	      recode_perror (subtask->task->request->outer, "iconv ()");
+	      RETURN_IF_NOGO (RECODE_SYSTEM_ERROR, subtask);
+	    }
+	}
 
       /* Move back any unprocessed part of the input buffer.  */
       for (cursor = input_buffer; input_left != 0; input_left--)
diff --git a/src/names.c b/src/names.c
index f01c3c4..bf94bf4 100644
--- a/src/names.c
+++ b/src/names.c
@@ -919,7 +919,7 @@ list_concise_charset (RECODE_OUTER outer,
 	    if (ucs2 >= 0)
 	      printf (format, code);
 	    else if (mnemonic || counter2 != 112)
-	      printf (blanks);
+	      fputs (blanks,  stdout);
 
 	    if (mnemonic)
 	      printf (counter2 == 112 ? " %s\n" : " %-3s", mnemonic);