From 35306d123149bbbb80414691022def865bc2d80d Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Sun, 6 Jan 2008 11:49:06 +0000 Subject: - fixed a bug with integer conversion in srUtils.c - changed some lib functions to work on long instead of int to care for 64 bit platforms (just to be on the save side) --- srUtils.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'srUtils.c') diff --git a/srUtils.c b/srUtils.c index a0dae0b7..b500cab3 100755 --- a/srUtils.c +++ b/srUtils.c @@ -58,11 +58,11 @@ * public members * * ################################################################# */ -rsRetVal srUtilItoA(char *pBuf, int iLenBuf, int iToConv) +rsRetVal srUtilItoA(char *pBuf, int iLenBuf, long iToConv) { int i; int bIsNegative; - char szBuf[32]; /* sufficiently large for my lifespan and those of my children... ;) */ + char szBuf[64]; /* sufficiently large for my lifespan and those of my children... ;) */ assert(pBuf != NULL); assert(iLenBuf > 1); /* This is actually an app error and as thus checked for... */ @@ -79,9 +79,10 @@ rsRetVal srUtilItoA(char *pBuf, int iLenBuf, int iToConv) i = 0; do { - szBuf[i] = iToConv % 10 + '0'; + szBuf[i++] = iToConv % 10 + '0'; iToConv /= 10; } while(iToConv > 0); /* warning: do...while()! */ + --i; /* undo last increment - we were pointing at NEXT location */ /* make sure we are within bounds... */ if(i + 2 > iLenBuf) /* +2 because: a) i starts at zero! b) the \0 byte */ -- cgit