psa_constant_names: new function append_integer

Factor repeated code into a new function append_integer.
diff --git a/programs/psa/psa_constant_names.c b/programs/psa/psa_constant_names.c
index d422e14..755bc8c 100644
--- a/programs/psa/psa_constant_names.c
+++ b/programs/psa/psa_constant_names.c
@@ -21,6 +21,16 @@
     }
 }
 
+static void append_integer(char **buffer, size_t buffer_size,
+                           size_t *required_size,
+                           const char *format /*printf format for value*/,
+                           unsigned long value)
+{
+    size_t n = snprintf(*buffer, buffer_size - *required_size, format, value);
+    if (n < buffer_size - *required_size) *buffer += n;
+    *required_size += n;
+}
+
 /* The code of these function is automatically generated and included below. */
 static const char *psa_ecc_curve_name(psa_ecc_curve_t curve);
 static const char *psa_hash_algorithm_name(psa_algorithm_t hash_alg);
@@ -37,10 +47,8 @@
         append(buffer, buffer_size, required_size,
                curve_name, strlen(curve_name));
     } else {
-        size_t n = snprintf(*buffer, buffer_size - *required_size,
-                            "0x%04x", (unsigned) curve);
-        if (n < buffer_size - *required_size) *buffer += n;
-        *required_size += n;
+        append_integer(buffer, buffer_size, required_size,
+                       "0x%04x", curve);
     }
     append(buffer, buffer_size, required_size, ")", 1);
 }
@@ -57,10 +65,8 @@
         append(buffer, buffer_size, required_size,
                hash_name, strlen(hash_name));
     } else {
-        size_t n = snprintf(*buffer, buffer_size - *required_size,
-                            "0x%08lx", (unsigned long) hash_alg);
-        if (n < buffer_size - *required_size) *buffer += n;
-        *required_size += n;
+        append_integer(buffer, buffer_size, required_size,
+                       "0x%08lx", hash_alg);
     }
     append(buffer, buffer_size, required_size, ")", 1);
 }
diff --git a/scripts/generate_psa_constants.py b/scripts/generate_psa_constants.py
index 7ab1c0a..0e80f40 100755
--- a/scripts/generate_psa_constants.py
+++ b/scripts/generate_psa_constants.py
@@ -55,8 +55,8 @@
     %(algorithm_cases)s
     default:
         %(algorithm_code)s{
-            return snprintf(buffer, buffer_size,
-                            "0x%%08lx", (unsigned long) alg);
+            append_integer(&buffer, buffer_size, &required_size,
+                           "0x%%08lx", (unsigned long) alg);
         }
         break;
     }
@@ -82,8 +82,8 @@
         if (required_size != 0) {
             append(&buffer, buffer_size, &required_size, " | ", 3);
         }
-        required_size += snprintf(buffer, buffer_size - required_size,
-                                  "0x%%08x", usage);
+        append_integer(&buffer, buffer_size, &required_size,
+                       "0x%%08lx", (unsigned long) usage);
     } else {
         buffer[0] = 0;
     }