]> diplodocus.org Git - nmh/blobdiff - sbr/fmt_scan.c
Rearranged the variable settings at the top of test/common.sh.in.
[nmh] / sbr / fmt_scan.c
index 5732af910c73cd0ac39e113a805aeb4d64a06689..97a4a05a83a78c370eb7b0925f1a0cc0fb6294a3 100644 (file)
@@ -93,13 +93,18 @@ cpnumber(charstring_t dest, int num, unsigned int wid, char fill, size_t max) {
            charstring_push_back (rev, '?');
        } else if (num < 0  &&  wid > 0) {
            /* Shouldn't need the wid > 0 check, that's why the condition
-               at the top checks wid < max-1 when num < 0. */
-           charstring_push_back (rev, '-');
+              at the top checks wid < max-1 when num < 0. */
            --wid;
+           if (fill == ' ') {
+               charstring_push_back (rev, '-');
+           }
        }
        while (wid-- > 0  &&  fill != 0) {
            charstring_push_back (rev, fill);
        }
+       if (num < 0  &&  fill == '0') {
+           charstring_push_back (rev, '-');
+       }
 
        {
            /* Output the string in reverse. */