]> diplodocus.org Git - nmh/blobdiff - sbr/m_name.c
Fix invalid pointer arithmetic.
[nmh] / sbr / m_name.c
index 2c403d0cb36f1d4c014c0dac1b681a735ea695f5..9bc8c0b5e0c0e11e81399a89c1cf45f1dd4dacfa 100644 (file)
@@ -1,25 +1,21 @@
-
-/*
- * m_name.c -- return a message number as a string
- *
- * $Id$
+/* m_name.c -- return a message number as a string
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  * complete copyright information.
  */
 
+#include <limits.h>
 #include <h/mh.h>
+#include <h/utils.h>
 
-static char name[BUFSIZ];
-
+#define STR(s) #s
+#define SIZE(n) (sizeof STR(n)) /* Includes NUL. */
 
 char *
 m_name (int num)
 {
-    if (num <= 0)
-       return "?";
+    if (num <= 0) return "?";
 
-    snprintf (name, sizeof(name), "%d", num);
-    return name;
+    return m_strn(num, SIZE(INT_MAX));
 }