gpgscm: Fix error message.
authorJustus Winter <justus@g10code.com>
Tue, 8 Nov 2016 13:47:43 +0000 (14:47 +0100)
committerJustus Winter <justus@g10code.com>
Tue, 8 Nov 2016 15:02:55 +0000 (16:02 +0100)
* tests/gpgscm/ffi.c (do_wait_processes): Fix and improve error
messages.

Signed-off-by: Justus Winter <justus@g10code.com>
tests/gpgscm/ffi.c

index d4bf3ef..add82f7 100644 (file)
 #include "ffi.h"
 #include "ffi-private.h"
 
 #include "ffi.h"
 #include "ffi-private.h"
 
+/* For use in nice error messages.  */
+static const char *
+ordinal_suffix (int n)
+{
+  switch (n)
+    {
+    case 1: return "st";
+    case 2: return "nd";
+    case 3: return "rd";
+    default: return "th";
+    }
+  assert (! "reached");
+}
+
 \f
 
 int
 \f
 
 int
@@ -827,17 +841,19 @@ do_wait_processes (scheme *sc, pointer args)
 
   err = ffi_list2argv (sc, list_names, &names, &count);
   if (err == gpg_error (GPG_ERR_INV_VALUE))
 
   err = ffi_list2argv (sc, list_names, &names, &count);
   if (err == gpg_error (GPG_ERR_INV_VALUE))
-    return ffi_sprintf (sc, "%luth element of first argument is "
+    return ffi_sprintf (sc, "%lu%s element of first argument is "
                         "neither string nor symbol",
                         "neither string nor symbol",
-                        (unsigned long) count);
+                        (unsigned long) count,
+                        ordinal_suffix ((int) count));
   if (err)
     FFI_RETURN_ERR (sc, err);
 
   err = ffi_list2intv (sc, list_pids, (int **) &pids, &count);
   if (err == gpg_error (GPG_ERR_INV_VALUE))
   if (err)
     FFI_RETURN_ERR (sc, err);
 
   err = ffi_list2intv (sc, list_pids, (int **) &pids, &count);
   if (err == gpg_error (GPG_ERR_INV_VALUE))
-    return ffi_sprintf (sc, "%luth element of second argument is "
-                        "neither string nor symbol",
-                        (unsigned long) count);
+    return ffi_sprintf (sc, "%lu%s element of second argument is "
+                        "not a number",
+                        (unsigned long) count,
+                        ordinal_suffix ((int) count));
   if (err)
     FFI_RETURN_ERR (sc, err);
 
   if (err)
     FFI_RETURN_ERR (sc, err);
 
@@ -995,19 +1011,6 @@ do_file_equal (scheme *sc, pointer args)
   goto out;
 }
 
   goto out;
 }
 
-static const char *
-ordinal_suffix (int n)
-{
-  switch (n)
-    {
-    case 1: return "st";
-    case 2: return "nd";
-    case 3: return "rd";
-    default: return "th";
-    }
-  assert (! "reached");
-}
-
 static pointer
 do_splice (scheme *sc, pointer args)
 {
 static pointer
 do_splice (scheme *sc, pointer args)
 {