projects
/
fw
/
pdclib
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reworked scanf() testing. General cleanups.
[fw/pdclib]
/
functions
/
_PDCLIB
/
print.c
diff --git
a/functions/_PDCLIB/print.c
b/functions/_PDCLIB/print.c
index 8d19fe57e856ad3c6c564f81b758de4157febba2..5027c5fa8e5aaada9972292fa590a1c40b359a95 100644
(file)
--- a/
functions/_PDCLIB/print.c
+++ b/
functions/_PDCLIB/print.c
@@
-42,15
+42,15
@@
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
- TODO: ref. fputs() for a better way to buffer handling
*/
#define DELIVER( x ) \
do { \
*/
#define DELIVER( x ) \
do { \
+ int character = x; \
if ( status->i < status->n ) { \
if ( status->stream != NULL ) \
if ( status->i < status->n ) { \
if ( status->stream != NULL ) \
- putc(
x
, status->stream ); \
+ putc(
character
, status->stream ); \
else \
else \
- status->s[status->i] =
x
; \
+ status->s[status->i] =
character
; \
} \
++(status->i); \
} while ( 0 )
} \
++(status->i); \
} while ( 0 )
@@
-498,7
+498,7
@@
const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status
++(status->current);
}
}
++(status->current);
}
}
- if ( status->i >= status->n )
+ if ( status->i >= status->n
&& status->n > 0
)
{
status->s[status->n - 1] = '\0';
}
{
status->s[status->n - 1] = '\0';
}
@@
-507,10
+507,10
@@
const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status
}
#ifdef TEST
}
#ifdef TEST
-#include <_PDCLIB_test.h>
+#define _PDCLIB_FILEID "_PDCLIB/print.c"
+#define _PDCLIB_STRINGIO
-#include <limits.h>
-#include <string.h>
+#include <_PDCLIB_test.h>
static int testprintf( char * buffer, const char * format, ... )
{
static int testprintf( char * buffer, const char * format, ... )
{
@@
-538,13
+538,10
@@
static int testprintf( char * buffer, const char * format, ... )
#define TEST_CONVERSION_ONLY
#define TEST_CONVERSION_ONLY
-#define TESTCASE_SPRINTF( x ) if ( strcmp( target, x ) == 0 ) {} \
- else { TEST_RESULTS += 1; printf( "FAILED: " __FILE__ ", line %d - \"%s\" != %s\n", __LINE__, target, #x ); }
-
int main( void )
{
char target[100];
int main( void )
{
char target[100];
-#include "printf_testcases.
incl
"
+#include "printf_testcases.
h
"
return TEST_RESULTS;
}
return TEST_RESULTS;
}