Andreas Krennmair:
[apps/madmutt.git] / snprintf.c
index 8a5586a..2a40c4f 100644 (file)
 
 #if defined(HAVE_STDARG_H)
 # include <stdarg.h>
-# define HAVE_STDARGS    /* let's hope that works everywhere (mj) */
+# define HAVE_STDARGS           /* let's hope that works everywhere (mj) */
 # define VA_LOCAL_DECL   va_list ap
 # define VA_START(f)     va_start(ap, f)
-# define VA_SHIFT(v,t)  ;   /* no-op for ANSI */
+# define VA_SHIFT(v,t)  ;       /* no-op for ANSI */
 # define VA_END          va_end(ap)
 #else
 # if defined(HAVE_VARARGS_H)
 #  include <varargs.h>
 #  undef HAVE_STDARGS
 #  define VA_LOCAL_DECL   va_list ap
-#  define VA_START(f)     va_start(ap)      /* f is ignored! */
+#  define VA_START(f)     va_start(ap)  /* f is ignored! */
 #  define VA_SHIFT(v,t) v = va_arg(ap,t)
 #  define VA_END        va_end(ap)
 # else
 /*int snprintf (char *str, size_t count, const char *fmt, ...);*/
 /*int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);*/
 
-static void dopr (char *buffer, size_t maxlen, const char *format, 
+static void dopr (char *buffer, size_t maxlen, const char *format,
                   va_list args);
-static void fmtstr (char *buffer, size_t *currlen, size_t maxlen,
-                   char *value, int flags, int min, int max);
-static void fmtint (char *buffer, size_t *currlen, size_t maxlen,
-                   long value, int base, int min, int max, int flags);
-static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
-                  long double fvalue, int min, int max, int flags);
-static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c );
+static void fmtstr (char *buffer, size_t * currlen, size_t maxlen,
+                    char *value, int flags, int min, int max);
+static void fmtint (char *buffer, size_t * currlen, size_t maxlen,
+                    long value, int base, int min, int max, int flags);
+static void fmtfp (char *buffer, size_t * currlen, size_t maxlen,
+                   long double fvalue, int min, int max, int flags);
+static void dopr_outch (char *buffer, size_t * currlen, size_t maxlen,
+                        char c);
 
 /*
  * dopr(): poor man's version of doprintf
@@ -121,7 +122,8 @@ static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c );
 #undef MAX
 #define MAX(p,q) ((p >= q) ? p : q)
 
-static void dopr (char *buffer, size_t maxlen, const char *format, va_list args)
+static void dopr (char *buffer, size_t maxlen, const char *format,
+                  va_list args)
 {
   char ch;
   long value;
@@ -133,228 +135,242 @@ static void dopr (char *buffer, size_t maxlen, const char *format, va_list args)
   int flags;
   int cflags;
   size_t currlen;
-  
+
   state = DP_S_DEFAULT;
   currlen = flags = cflags = min = 0;
   max = -1;
   ch = *format++;
 
-  while (state != DP_S_DONE)
-  {
-    if ((ch == '\0') || (currlen >= maxlen)) 
+  while (state != DP_S_DONE) {
+    if ((ch == '\0') || (currlen >= maxlen))
       state = DP_S_DONE;
 
-    switch(state) 
-    {
+    switch (state) {
     case DP_S_DEFAULT:
-      if (ch == '%') 
-       state = DP_S_FLAGS;
-      else 
-       dopr_outch (buffer, &currlen, maxlen, ch);
+      if (ch == '%')
+        state = DP_S_FLAGS;
+      else
+        dopr_outch (buffer, &currlen, maxlen, ch);
       ch = *format++;
       break;
     case DP_S_FLAGS:
-      switch (ch) 
-      {
+      switch (ch) {
       case '-':
-       flags |= DP_F_MINUS;
+        flags |= DP_F_MINUS;
         ch = *format++;
-       break;
+        break;
       case '+':
-       flags |= DP_F_PLUS;
+        flags |= DP_F_PLUS;
         ch = *format++;
-       break;
+        break;
       case ' ':
-       flags |= DP_F_SPACE;
+        flags |= DP_F_SPACE;
         ch = *format++;
-       break;
+        break;
       case '#':
-       flags |= DP_F_NUM;
+        flags |= DP_F_NUM;
         ch = *format++;
-       break;
+        break;
       case '0':
-       flags |= DP_F_ZERO;
+        flags |= DP_F_ZERO;
         ch = *format++;
-       break;
+        break;
       default:
-       state = DP_S_MIN;
-       break;
+        state = DP_S_MIN;
+        break;
       }
       break;
     case DP_S_MIN:
-      if (isdigit((unsigned char)ch)) 
-      {
-       min = 10*min + char_to_int (ch);
-       ch = *format++;
-      } 
-      else if (ch == '*') 
-      {
-       min = va_arg (args, int);
-       ch = *format++;
-       state = DP_S_DOT;
-      } 
-      else 
-       state = DP_S_DOT;
+      if (isdigit ((unsigned char) ch)) {
+        min = 10 * min + char_to_int (ch);
+        ch = *format++;
+      }
+      else if (ch == '*') {
+        min = va_arg (args, int);
+
+        ch = *format++;
+        state = DP_S_DOT;
+      }
+      else
+        state = DP_S_DOT;
       break;
     case DP_S_DOT:
-      if (ch == '.') 
-      {
-       state = DP_S_MAX;
-       ch = *format++;
-      } 
-      else 
-       state = DP_S_MOD;
+      if (ch == '.') {
+        state = DP_S_MAX;
+        ch = *format++;
+      }
+      else
+        state = DP_S_MOD;
       break;
     case DP_S_MAX:
-      if (isdigit((unsigned char)ch)) 
-      {
-       if (max < 0)
-         max = 0;
-       max = 10*max + char_to_int (ch);
-       ch = *format++;
-      } 
-      else if (ch == '*') 
-      {
-       max = va_arg (args, int);
-       ch = *format++;
-       state = DP_S_MOD;
-      } 
-      else 
-       state = DP_S_MOD;
+      if (isdigit ((unsigned char) ch)) {
+        if (max < 0)
+          max = 0;
+        max = 10 * max + char_to_int (ch);
+        ch = *format++;
+      }
+      else if (ch == '*') {
+        max = va_arg (args, int);
+
+        ch = *format++;
+        state = DP_S_MOD;
+      }
+      else
+        state = DP_S_MOD;
       break;
     case DP_S_MOD:
       /* Currently, we don't support Long Long, bummer */
-      switch (ch) 
-      {
+      switch (ch) {
       case 'h':
-       cflags = DP_C_SHORT;
-       ch = *format++;
-       break;
+        cflags = DP_C_SHORT;
+        ch = *format++;
+        break;
       case 'l':
-       cflags = DP_C_LONG;
-       ch = *format++;
-       break;
+        cflags = DP_C_LONG;
+        ch = *format++;
+        break;
       case 'L':
-       cflags = DP_C_LDOUBLE;
-       ch = *format++;
-       break;
+        cflags = DP_C_LDOUBLE;
+        ch = *format++;
+        break;
       default:
-       break;
+        break;
       }
       state = DP_S_CONV;
       break;
     case DP_S_CONV:
-      switch (ch) 
-      {
+      switch (ch) {
       case 'd':
       case 'i':
-       if (cflags == DP_C_SHORT) 
-         value = va_arg (args, short int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, long int);
-       else
-         value = va_arg (args, int);
-       fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
-       break;
+        if (cflags == DP_C_SHORT)
+          value = va_arg (args, short int);
+
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, long int);
+
+        else
+          value = va_arg (args, int);
+
+        fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
+        break;
       case 'o':
-       flags |= DP_F_UNSIGNED;
-       if (cflags == DP_C_SHORT)
-         value = va_arg (args, unsigned short int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, unsigned long int);
-       else
-         value = va_arg (args, unsigned int);
-       fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags);
-       break;
+        flags |= DP_F_UNSIGNED;
+        if (cflags == DP_C_SHORT)
+          value = va_arg (args, unsigned short int);
+
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, unsigned long int);
+
+        else
+          value = va_arg (args, unsigned int);
+
+        fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags);
+        break;
       case 'u':
-       flags |= DP_F_UNSIGNED;
-       if (cflags == DP_C_SHORT)
-         value = va_arg (args, unsigned short int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, unsigned long int);
-       else
-         value = va_arg (args, unsigned int);
-       fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
-       break;
+        flags |= DP_F_UNSIGNED;
+        if (cflags == DP_C_SHORT)
+          value = va_arg (args, unsigned short int);
+
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, unsigned long int);
+
+        else
+          value = va_arg (args, unsigned int);
+
+        fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
+        break;
       case 'X':
-       flags |= DP_F_UP;
+        flags |= DP_F_UP;
       case 'x':
-       flags |= DP_F_UNSIGNED;
-       if (cflags == DP_C_SHORT)
-         value = va_arg (args, unsigned short int);
-       else if (cflags == DP_C_LONG)
-         value = va_arg (args, unsigned long int);
-       else
-         value = va_arg (args, unsigned int);
-       fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags);
-       break;
+        flags |= DP_F_UNSIGNED;
+        if (cflags == DP_C_SHORT)
+          value = va_arg (args, unsigned short int);
+
+        else if (cflags == DP_C_LONG)
+          value = va_arg (args, unsigned long int);
+
+        else
+          value = va_arg (args, unsigned int);
+
+        fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags);
+        break;
       case 'f':
-       if (cflags == DP_C_LDOUBLE)
-         fvalue = va_arg (args, long double);
-       else
-         fvalue = va_arg (args, double);
-       /* um, floating point? */
-       fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
-       break;
+        if (cflags == DP_C_LDOUBLE)
+          fvalue = va_arg (args, long double);
+
+        else
+          fvalue = va_arg (args, double);
+
+        /* um, floating point? */
+        fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
+        break;
       case 'E':
-       flags |= DP_F_UP;
+        flags |= DP_F_UP;
       case 'e':
-       if (cflags == DP_C_LDOUBLE)
-         fvalue = va_arg (args, long double);
-       else
-         fvalue = va_arg (args, double);
-       break;
+        if (cflags == DP_C_LDOUBLE)
+          fvalue = va_arg (args, long double);
+
+        else
+          fvalue = va_arg (args, double);
+
+        break;
       case 'G':
-       flags |= DP_F_UP;
+        flags |= DP_F_UP;
       case 'g':
-       if (cflags == DP_C_LDOUBLE)
-         fvalue = va_arg (args, long double);
-       else
-         fvalue = va_arg (args, double);
-       break;
+        if (cflags == DP_C_LDOUBLE)
+          fvalue = va_arg (args, long double);
+
+        else
+          fvalue = va_arg (args, double);
+
+        break;
       case 'c':
-       dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
-       break;
+        dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
+
+        break;
       case 's':
-       strvalue = va_arg (args, char *);
-       if (max < 0) 
-         max = maxlen; /* ie, no max */
-       fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max);
-       break;
+        strvalue = va_arg (args, char *);
+
+        if (max < 0)
+          max = maxlen;         /* ie, no max */
+        fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max);
+        break;
       case 'p':
-       strvalue = va_arg (args, void *);
-       fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min, max, flags);
-       break;
+        strvalue = va_arg (args, void *);
+
+        fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min, max,
+                flags);
+        break;
       case 'n':
-       if (cflags == DP_C_SHORT) 
-       {
-         short int *num;
-         num = va_arg (args, short int *);
-         *num = currlen;
-        } 
-       else if (cflags == DP_C_LONG) 
-       {
-         long int *num;
-         num = va_arg (args, long int *);
-         *num = currlen;
-        } 
-       else 
-       {
-         int *num;
-         num = va_arg (args, int *);
-         *num = currlen;
+        if (cflags == DP_C_SHORT) {
+          short int *num;
+          num = va_arg (args, short int *);
+
+          *num = currlen;
         }
-       break;
+        else if (cflags == DP_C_LONG) {
+          long int *num;
+          num = va_arg (args, long int *);
+
+          *num = currlen;
+        }
+        else {
+          int *num;
+          num = va_arg (args, int *);
+
+          *num = currlen;
+        }
+        break;
       case '%':
-       dopr_outch (buffer, &currlen, maxlen, ch);
-       break;
+        dopr_outch (buffer, &currlen, maxlen, ch);
+        break;
       case 'w':
-       /* not supported yet, treat as next char */
-       ch = *format++;
-       break;
+        /* not supported yet, treat as next char */
+        ch = *format++;
+        break;
       default:
-       /* Unknown, skip */
-       break;
+        /* Unknown, skip */
+        break;
       }
       ch = *format++;
       state = DP_S_DEFAULT;
@@ -365,46 +381,42 @@ static void dopr (char *buffer, size_t maxlen, const char *format, va_list args)
       break;
     default:
       /* hmm? */
-      break; /* some picky compilers need this */
+      break;                    /* some picky compilers need this */
     }
   }
-  if (currlen < maxlen - 1) 
+  if (currlen < maxlen - 1)
     buffer[currlen] = '\0';
-  else 
+  else
     buffer[maxlen - 1] = '\0';
 }
 
-static void fmtstr (char *buffer, size_t *currlen, size_t maxlen,
-                   char *value, int flags, int min, int max)
+static void fmtstr (char *buffer, size_t * currlen, size_t maxlen,
+                    char *value, int flags, int min, int max)
 {
-  int padlen, strln;     /* amount to pad */
+  int padlen, strln;            /* amount to pad */
   int cnt = 0;
-  
-  if (value == 0)
-  {
+
+  if (value == 0) {
     value = "<NULL>";
   }
 
-  for (strln = 0; value[strln]; ++strln); /* strlen */
+  for (strln = 0; value[strln]; ++strln);       /* strlen */
   padlen = min - strln;
-  if (padlen < 0) 
+  if (padlen < 0)
     padlen = 0;
-  if (flags & DP_F_MINUS) 
-    padlen = -padlen; /* Left Justify */
+  if (flags & DP_F_MINUS)
+    padlen = -padlen;           /* Left Justify */
 
-  while ((padlen > 0) && (cnt < max)) 
-  {
+  while ((padlen > 0) && (cnt < max)) {
     dopr_outch (buffer, currlen, maxlen, ' ');
     --padlen;
     ++cnt;
   }
-  while (*value && (cnt < max)) 
-  {
+  while (*value && (cnt < max)) {
     dopr_outch (buffer, currlen, maxlen, *value++);
     ++cnt;
   }
-  while ((padlen < 0) && (cnt < max)) 
-  {
+  while ((padlen < 0) && (cnt < max)) {
     dopr_outch (buffer, currlen, maxlen, ' ');
     ++padlen;
     ++cnt;
@@ -413,89 +425,85 @@ static void fmtstr (char *buffer, size_t *currlen, size_t maxlen,
 
 /* Have to handle DP_F_NUM (ie 0x and 0 alternates) */
 
-static void fmtint (char *buffer, size_t *currlen, size_t maxlen,
-                   long value, int base, int min, int max, int flags)
+static void fmtint (char *buffer, size_t * currlen, size_t maxlen,
+                    long value, int base, int min, int max, int flags)
 {
   int signvalue = 0;
   unsigned long uvalue;
   char convert[20];
   int place = 0;
-  int spadlen = 0; /* amount to space pad */
-  int zpadlen = 0; /* amount to zero pad */
+  int spadlen = 0;              /* amount to space pad */
+  int zpadlen = 0;              /* amount to zero pad */
   int caps = 0;
-  
+
   if (max < 0)
     max = 0;
 
   uvalue = value;
 
-  if(!(flags & DP_F_UNSIGNED))
-  {
-    if( value < 0 ) {
+  if (!(flags & DP_F_UNSIGNED)) {
+    if (value < 0) {
       signvalue = '-';
       uvalue = -value;
     }
-    else
-      if (flags & DP_F_PLUS)  /* Do a sign (+/i) */
-       signvalue = '+';
-    else
-      if (flags & DP_F_SPACE)
-       signvalue = ' ';
+    else if (flags & DP_F_PLUS) /* Do a sign (+/i) */
+      signvalue = '+';
+    else if (flags & DP_F_SPACE)
+      signvalue = ' ';
   }
-  
-  if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
+
+  if (flags & DP_F_UP)
+    caps = 1;                   /* Should characters be upper case? */
 
   do {
-    convert[place++] =
-      (caps? "0123456789ABCDEF":"0123456789abcdef")
-      [uvalue % (unsigned)base  ];
-    uvalue = (uvalue / (unsigned)base );
-  } while(uvalue && (place < 20));
-  if (place == 20) place--;
+    convert[place++] = (caps ? "0123456789ABCDEF" : "0123456789abcdef")
+      [uvalue % (unsigned) base];
+    uvalue = (uvalue / (unsigned) base);
+  } while (uvalue && (place < 20));
+  if (place == 20)
+    place--;
   convert[place] = 0;
 
   zpadlen = max - place;
   spadlen = min - MAX (max, place) - (signvalue ? 1 : 0);
-  if (zpadlen < 0) zpadlen = 0;
-  if (spadlen < 0) spadlen = 0;
-  if (flags & DP_F_ZERO)
-  {
-    zpadlen = MAX(zpadlen, spadlen);
+  if (zpadlen < 0)
+    zpadlen = 0;
+  if (spadlen < 0)
+    spadlen = 0;
+  if (flags & DP_F_ZERO) {
+    zpadlen = MAX (zpadlen, spadlen);
     spadlen = 0;
   }
-  if (flags & DP_F_MINUS) 
-    spadlen = -spadlen; /* Left Justifty */
+  if (flags & DP_F_MINUS)
+    spadlen = -spadlen;         /* Left Justifty */
 
 #ifdef DEBUG_SNPRINTF
   dprint (1, (debugfile, "zpad: %d, spad: %d, min: %d, max: %d, place: %d\n",
-      zpadlen, spadlen, min, max, place));
+              zpadlen, spadlen, min, max, place));
 #endif
 
   /* Spaces */
-  while (spadlen > 0) 
-  {
+  while (spadlen > 0) {
     dopr_outch (buffer, currlen, maxlen, ' ');
     --spadlen;
   }
 
   /* Sign */
-  if (signvalue) 
+  if (signvalue)
     dopr_outch (buffer, currlen, maxlen, signvalue);
 
   /* Zeros */
-  if (zpadlen > 0) 
-  {
-    while (zpadlen > 0)
-    {
+  if (zpadlen > 0) {
+    while (zpadlen > 0) {
       dopr_outch (buffer, currlen, maxlen, '0');
       --zpadlen;
     }
   }
 
   /* Digits */
-  while (place > 0) 
+  while (place > 0)
     dopr_outch (buffer, currlen, maxlen, convert[--place]);
-  
+
   /* Left Justified spaces */
   while (spadlen < 0) {
     dopr_outch (buffer, currlen, maxlen, ' ');
@@ -517,12 +525,11 @@ static long double pow10 (int exp)
 {
   long double result = 1;
 
-  while (exp)
-  {
+  while (exp) {
     result *= 10;
     exp--;
   }
-  
+
   return result;
 }
 
@@ -538,8 +545,8 @@ static long round (long double value)
   return intpart;
 }
 
-static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
-                  long double fvalue, int min, int max, int flags)
+static void fmtfp (char *buffer, size_t * currlen, size_t maxlen,
+                   long double fvalue, int min, int max, int flags)
 {
   int signvalue = 0;
   long double ufvalue;
@@ -547,12 +554,12 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
   char fconvert[20];
   int iplace = 0;
   int fplace = 0;
-  int padlen = 0; /* amount to pad */
-  int zpadlen = 0; 
+  int padlen = 0;               /* amount to pad */
+  int zpadlen = 0;
   int caps = 0;
   long intpart;
   long fracpart;
-  
+
   /* 
    * AIX manpage says the default is 0, but Solaris says the default
    * is 6, and sprintf on AIX defaults to 6
@@ -564,15 +571,14 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
 
   if (fvalue < 0)
     signvalue = '-';
-  else
-    if (flags & DP_F_PLUS)  /* Do a sign (+/i) */
-      signvalue = '+';
-    else
-      if (flags & DP_F_SPACE)
-       signvalue = ' ';
+  else if (flags & DP_F_PLUS)   /* Do a sign (+/i) */
+    signvalue = '+';
+  else if (flags & DP_F_SPACE)
+    signvalue = ' ';
 
 #if 0
-  if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
+  if (flags & DP_F_UP)
+    caps = 1;                   /* Should characters be upper case? */
 #endif
 
   intpart = ufvalue;
@@ -589,8 +595,7 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
    */
   fracpart = round ((pow10 (max)) * (ufvalue - intpart));
 
-  if (fracpart >= pow10 (max))
-  {
+  if (fracpart >= pow10 (max)) {
     intpart++;
     fracpart -= pow10 (max);
   }
@@ -602,54 +607,52 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
   /* Convert integer part */
   do {
     iconvert[iplace++] =
-      (caps? "0123456789ABCDEF":"0123456789abcdef")[intpart % 10];
+      (caps ? "0123456789ABCDEF" : "0123456789abcdef")[intpart % 10];
     intpart = (intpart / 10);
-  } while(intpart && (iplace < 20));
-  if (iplace == 20) iplace--;
+  } while (intpart && (iplace < 20));
+  if (iplace == 20)
+    iplace--;
   iconvert[iplace] = 0;
 
   /* Convert fractional part */
   do {
     fconvert[fplace++] =
-      (caps? "0123456789ABCDEF":"0123456789abcdef")[fracpart % 10];
+      (caps ? "0123456789ABCDEF" : "0123456789abcdef")[fracpart % 10];
     fracpart = (fracpart / 10);
-  } while(fracpart && (fplace < 20));
-  if (fplace == 20) fplace--;
+  } while (fracpart && (fplace < 20));
+  if (fplace == 20)
+    fplace--;
   fconvert[fplace] = 0;
 
   /* -1 for decimal point, another -1 if we are printing a sign */
-  padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); 
+  padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0);
   zpadlen = max - fplace;
   if (zpadlen < 0)
     zpadlen = 0;
-  if (padlen < 0) 
+  if (padlen < 0)
     padlen = 0;
-  if (flags & DP_F_MINUS) 
-    padlen = -padlen; /* Left Justifty */
+  if (flags & DP_F_MINUS)
+    padlen = -padlen;           /* Left Justifty */
 
-  if ((flags & DP_F_ZERO) && (padlen > 0)) 
-  {
-    if (signvalue) 
-    {
+  if ((flags & DP_F_ZERO) && (padlen > 0)) {
+    if (signvalue) {
       dopr_outch (buffer, currlen, maxlen, signvalue);
       --padlen;
       signvalue = 0;
     }
-    while (padlen > 0)
-    {
+    while (padlen > 0) {
       dopr_outch (buffer, currlen, maxlen, '0');
       --padlen;
     }
   }
-  while (padlen > 0)
-  {
+  while (padlen > 0) {
     dopr_outch (buffer, currlen, maxlen, ' ');
     --padlen;
   }
-  if (signvalue) 
+  if (signvalue)
     dopr_outch (buffer, currlen, maxlen, signvalue);
 
-  while (iplace > 0) 
+  while (iplace > 0)
     dopr_outch (buffer, currlen, maxlen, iconvert[--iplace]);
 
   /*
@@ -658,23 +661,21 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
    */
   dopr_outch (buffer, currlen, maxlen, '.');
 
-  while (fplace > 0) 
+  while (fplace > 0)
     dopr_outch (buffer, currlen, maxlen, fconvert[--fplace]);
 
-  while (zpadlen > 0)
-  {
+  while (zpadlen > 0) {
     dopr_outch (buffer, currlen, maxlen, '0');
     --zpadlen;
   }
 
-  while (padlen < 0) 
-  {
+  while (padlen < 0) {
     dopr_outch (buffer, currlen, maxlen, ' ');
     ++padlen;
   }
 }
 
-static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c)
+static void dopr_outch (char *buffer, size_t * currlen, size_t maxlen, char c)
 {
   if (*currlen < maxlen)
     buffer[(*currlen)++] = c;
@@ -685,17 +686,18 @@ static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c)
 int vsnprintf (char *str, size_t count, const char *fmt, va_list args)
 {
   str[0] = 0;
-  dopr(str, count, fmt, args);
-  return(strlen(str));
+  dopr (str, count, fmt, args);
+  return (strlen (str));
 }
 #endif /* !HAVE_VSNPRINTF */
 
 #ifndef HAVE_SNPRINTF
 /* VARARGS3 */
 #ifdef HAVE_STDARGS
-int snprintf (char *str,size_t count,const char *fmt,...)
+int snprintf (char *str, size_t count, const char *fmt, ...)
 #else
-int snprintf (va_alist) va_dcl
+int snprintf (va_alist)
+     va_dcl
 #endif
 {
 #ifndef HAVE_STDARGS
@@ -704,14 +706,16 @@ int snprintf (va_alist) va_dcl
   char *fmt;
 #endif
   VA_LOCAL_DECL;
-    
+
   VA_START (fmt);
   VA_SHIFT (str, char *);
-  VA_SHIFT (count, size_t );
+
+  VA_SHIFT (count, size_t);
   VA_SHIFT (fmt, char *);
-  (void) vsnprintf(str, count, fmt, ap);
+
+  (void) vsnprintf (str, count, fmt, ap);
   VA_END;
-  return(strlen(str));
+  return (strlen (str));
 }
 
 #ifdef TEST_SNPRINTF
@@ -736,8 +740,9 @@ int main (void)
     "%3.2f",
     NULL
   };
-  double fp_nums[] = { -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996, 
-    0.9996, 1.996, 4.136, 0};
+  double fp_nums[] = { -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996,
+    0.9996, 1.996, 4.136, 0
+  };
   char *int_fmt[] = {
     "%-1.5d",
     "%1.5d",
@@ -750,37 +755,33 @@ int main (void)
     "%4d",
     NULL
   };
-  long int_nums[] = { -1, 134, 91340, 341, 0203, 0};
+  long int_nums[] = { -1, 134, 91340, 341, 0203, 0 };
   int x, y;
   int fail = 0;
   int num = 0;
 
   printf ("Testing snprintf format codes against system sprintf...\n");
 
-  for (x = 0; fp_fmt[x] != NULL ; x++)
-    for (y = 0; fp_nums[y] != 0 ; y++)
-    {
+  for (x = 0; fp_fmt[x] != NULL; x++)
+    for (y = 0; fp_nums[y] != 0; y++) {
       snprintf (buf1, sizeof (buf1), fp_fmt[x], fp_nums[y]);
       sprintf (buf2, fp_fmt[x], fp_nums[y]);
-      if (strcmp (buf1, buf2))
-      {
-       printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", /* __SPRINTF_CHECKED__ */
-           fp_fmt[x], buf1, buf2);
-       fail++;
+      if (strcmp (buf1, buf2)) {
+        printf ("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n",        /* __SPRINTF_CHECKED__ */
+                fp_fmt[x], buf1, buf2);
+        fail++;
       }
       num++;
     }
 
-  for (x = 0; int_fmt[x] != NULL ; x++)
-    for (y = 0; int_nums[y] != 0 ; y++)
-    {
+  for (x = 0; int_fmt[x] != NULL; x++)
+    for (y = 0; int_nums[y] != 0; y++) {
       snprintf (buf1, sizeof (buf1), int_fmt[x], int_nums[y]);
       sprintf (buf2, int_fmt[x], int_nums[y]);
-      if (strcmp (buf1, buf2))
-      {
-       printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n", /* __SPRINTF_CHECKED__ */
-           int_fmt[x], buf1, buf2);
-       fail++;
+      if (strcmp (buf1, buf2)) {
+        printf ("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf  = %s\n",        /* __SPRINTF_CHECKED__ */
+                int_fmt[x], buf1, buf2);
+        fail++;
       }
       num++;
     }