]> pd.if.org Git - pdclib.old/commitdiff
Minor touches.
authorsolar <>
Sat, 15 May 2010 00:28:09 +0000 (00:28 +0000)
committersolar <>
Sat, 15 May 2010 00:28:09 +0000 (00:28 +0000)
functions/_PDCLIB/print.c

index e131cbbdcc84bd8292c9cf01bb3a1c078a05191d..d0476be857c470281de45c319c406b676aaed0aa 100644 (file)
@@ -15,7 +15,9 @@
 /* Using an integer's bits as flags for both the conversion flags and length
    modifiers.
 */
 /* Using an integer's bits as flags for both the conversion flags and length
    modifiers.
 */
-/* FIXME: one too many flags to work on a 16-bit machine */
+/* FIXME: one too many flags to work on a 16-bit machine, join some (e.g. the
+          width flags) into a combined field.
+*/
 #define E_minus    1<<0
 #define E_plus     1<<1
 #define E_alt      1<<2
 #define E_minus    1<<0
 #define E_plus     1<<1
 #define E_alt      1<<2
@@ -40,7 +42,7 @@
    i - pointer to number of characters already delivered in this call
    n - pointer to maximum number of characters to be delivered in this call
    s - the buffer into which the character shall be delivered
    i - pointer to number of characters already delivered in this call
    n - pointer to maximum number of characters to be delivered in this call
    s - the buffer into which the character shall be delivered
-   FIXME: ref. fputs() for a better way to buffer handling
+   TODO: ref. fputs() for a better way to buffer handling
 */
 #define DELIVER( x ) \
 do { \
 */
 #define DELIVER( x ) \
 do { \
@@ -253,7 +255,6 @@ const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status
     if ( *spec == '*' )
     {
         /* Retrieve width value from argument stack */
     if ( *spec == '*' )
     {
         /* Retrieve width value from argument stack */
-#if 1
         int width = va_arg( status->arg, int );
         if ( width < 0 )
         {
         int width = va_arg( status->arg, int );
         if ( width < 0 )
         {
@@ -264,15 +265,6 @@ const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status
         {
             status->width = width;
         }
         {
             status->width = width;
         }
-#else
-        /* FIXME: Old version - with unsigned status->width, condition <0 is never true */
-        if ( ( status->width = va_arg( status->arg, int ) ) < 0 )
-        {
-            /* Negative value is '-' flag plus absolute value */
-            status->flags |= E_minus;
-            status->width *= -1;
-        }
-#endif
         ++spec;
     }
     else
         ++spec;
     }
     else