From 45cef7ce4ce521d28771a69c6dbde30ca8905e83 Mon Sep 17 00:00:00 2001 From: solar Date: Fri, 19 Nov 2010 05:33:50 +0000 Subject: [PATCH] Fixing bug #37 and #38. --- functions/_PDCLIB/print.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/functions/_PDCLIB/print.c b/functions/_PDCLIB/print.c index 8d19fe5..46c00d9 100644 --- a/functions/_PDCLIB/print.c +++ b/functions/_PDCLIB/print.c @@ -46,11 +46,12 @@ */ #define DELIVER( x ) \ do { \ + int character = x; \ if ( status->i < status->n ) { \ if ( status->stream != NULL ) \ - putc( x, status->stream ); \ + putc( character, status->stream ); \ else \ - status->s[status->i] = x; \ + status->s[status->i] = character; \ } \ ++(status->i); \ } while ( 0 ) @@ -498,7 +499,7 @@ const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status ++(status->current); } } - if ( status->i >= status->n ) + if ( status->i >= status->n && status->n > 0 ) { status->s[status->n - 1] = '\0'; } -- 2.40.0