git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5406
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2009-03-03 Borut Razem <borut.razem AT siol.net>
+
+ * device/lib/printf_large.c: fixed bug #2656821: bug in printf
+
2009-03-03 Raphael Neider <rneider AT web.de>
* device/lib/pic/libdev/Makefile.in: build device-specific
2009-03-03 Raphael Neider <rneider AT web.de>
* device/lib/pic/libdev/Makefile.in: build device-specific
/*--------------------------------------------------------------------------*/
#ifdef SDCC_STACK_AUTO
/*--------------------------------------------------------------------------*/
#ifdef SDCC_STACK_AUTO
- #define OUTPUT_2DIGITS( B ) { output_2digits( B, lower_case, output_char, p ); charsOutputted += 2; }
+ #define OUTPUT_2DIGITS( B ) { output_2digits( B, lower_case, output_char, p ); charsOutputted += 2; }
static void output_2digits( unsigned char b, BOOL lower_case, pfn_outputchar output_char, void* p )
{
output_digit( b>>4, lower_case, output_char, p );
output_digit( b&0x0F, lower_case, output_char, p );
}
#else
static void output_2digits( unsigned char b, BOOL lower_case, pfn_outputchar output_char, void* p )
{
output_digit( b>>4, lower_case, output_char, p );
output_digit( b&0x0F, lower_case, output_char, p );
}
#else
- #define OUTPUT_2DIGITS( B ) output_2digits( B )
+ #define OUTPUT_2DIGITS( B ) output_2digits( B )
static void output_2digits( unsigned char b )
{
output_digit( b>>4 );
static void output_2digits( unsigned char b )
{
output_digit( b>>4 );
#define DEFAULT_FLOAT_PRECISION 6
#ifdef SDCC_STACK_AUTO
#define DEFAULT_FLOAT_PRECISION 6
#ifdef SDCC_STACK_AUTO
-#define OUTPUT_FLOAT(F, W, D, L, Z, S, P) output_float(F, W, D, L, Z, S, P, output_char, p)
+#define OUTPUT_FLOAT(F, W, D, L, Z, S, P) output_float(F, W, D, L, Z, S, P, output_char, p)
static unsigned char
output_float (float f, unsigned char reqWidth,
signed char reqDecimals,
static unsigned char
output_float (float f, unsigned char reqWidth,
signed char reqDecimals,
char fpBuffer[128];
#endif
#else
char fpBuffer[128];
#endif
#else
-#define OUTPUT_FLOAT(F, W, D, L, Z, S, P) output_float(F, W, D, L, Z, S, P)
+#define OUTPUT_FLOAT(F, W, D, L, Z, S, P) output_float(F, W, D, L, Z, S, P)
static void
output_float (float f, unsigned char reqWidth,
signed char reqDecimals,
static void
output_float (float f, unsigned char reqWidth,
signed char reqDecimals,
goto get_conversion_spec;
case 'C':
goto get_conversion_spec;
case 'C':
c = va_arg(ap,char);
else
c = va_arg(ap,int);
c = va_arg(ap,char);
else
c = va_arg(ap,int);
#if defined (SDCC_ds390)
{
unsigned char memtype = value.byte[3];
#if defined (SDCC_ds390)
{
unsigned char memtype = value.byte[3];
- else if (memtype > 0x60)
+ else if (memtype >= 0x60)
- else if (memtype > 0x40)
+ else if (memtype >= 0x40)
#elif defined (SDCC_mcs51)
{
unsigned char memtype = value.byte[2];
#elif defined (SDCC_mcs51)
{
unsigned char memtype = value.byte[2];
- else if (memtype > 0x60)
+ else if (memtype >= 0x60)
- else if (memtype > 0x40)
+ else if (memtype >= 0x40)