cvs: php4 /ext/standard formatted_print.c
| From: | Stanislav Malyshev | Date: | Wed, 18 Jul 2001 16:48:52 +0000 |
| Subject: | cvs: php4 /ext/standard formatted_print.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-6254@lists.php.net to get a copy of this message | ||
stas Wed Jul 18 12:48:52 2001 EDT
Modified files:
/php4/ext/standard formatted_print.c
Log:
Make variables receiving long be long
Fix binary (x,o,b) formats - they should not be signed
Index: php4/ext/standard/formatted_print.c
diff -u php4/ext/standard/formatted_print.c:1.34 php4/ext/standard/formatted_print.c:1.35
--- php4/ext/standard/formatted_print.c:1.34 Wed Jun 6 09:05:51 2001
+++ php4/ext/standard/formatted_print.c Wed Jul 18 12:48:52 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: formatted_print.c,v 1.34 2001/06/06 13:05:51 rasmus Exp $ */
+/* $Id: formatted_print.c,v 1.35 2001/07/18 16:48:52 stas Exp $ */
#include <math.h> /* modf() */
#include "php.h"
@@ -195,19 +195,20 @@
inline static void
-php_sprintf_appendint(char **buffer, int *pos, int *size, int number,
+php_sprintf_appendint(char **buffer, int *pos, int *size, long number,
int width, char padding, int alignment)
{
char numbuf[NUM_BUF_SIZE];
- register unsigned int magn, nmagn, i = NUM_BUF_SIZE - 1, neg = 0;
+ register unsigned long magn, nmagn;
+ register unsigned int i = NUM_BUF_SIZE - 1, neg = 0;
PRINTF_DEBUG(("sprintf: appendint(%x, %x, %x, %d, %d, '%c', %d)\n",
*buffer, pos, size, number, width, padding, alignment));
if (number < 0) {
neg = 1;
- magn = ((unsigned int) -(number + 1)) + 1;
+ magn = ((unsigned long) -(number + 1)) + 1;
} else {
- magn = (unsigned int) number;
+ magn = (unsigned long) number;
}
/* Can't right-pad 0's on integers */
@@ -233,11 +234,13 @@
}
inline static void
-php_sprintf_appenduint(char **buffer, int *pos, int *size, int number,
- int width, char padding, int alignment)
+php_sprintf_appenduint(char **buffer, int *pos, int *size,
+ unsigned long number,
+ int width, char padding, int alignment)
{
char numbuf[NUM_BUF_SIZE];
- register unsigned int magn, nmagn, i = NUM_BUF_SIZE - 1;
+ register unsigned long magn, nmagn;
+ register unsigned int i = NUM_BUF_SIZE - 1;
PRINTF_DEBUG(("sprintf: appenduint(%x, %x, %x, %d, %d, '%c', %d)\n",
*buffer, pos, size, number, width, padding, alignment));
@@ -337,12 +340,13 @@
inline static void
-php_sprintf_append2n(char **buffer, int *pos, int *size, int number,
+php_sprintf_append2n(char **buffer, int *pos, int *size, long number,
int width, char padding, int alignment, int n,
char *chartable, int expprec)
{
char numbuf[NUM_BUF_SIZE];
- register unsigned int num, i = NUM_BUF_SIZE - 1, neg = 0;
+ register unsigned long num;
+ register unsigned int i = NUM_BUF_SIZE - 1;
register int andbits = (1 << n) - 1;
PRINTF_DEBUG(("sprintf: append2n(%x, %x, %x, %d, %d, '%c', %d, %d, %x)\n",
@@ -350,13 +354,7 @@
chartable));
PRINTF_DEBUG(("sprintf: append2n 2^%d andbits=%x\n", n, andbits));
- if (number < 0) {
- neg = 1;
- num = ((unsigned int) -(number + 1)) + 1;
- } else {
- num = (unsigned int) number;
- }
-
+ num = (unsigned long) number;
numbuf[i] = '\0';
do {
@@ -365,20 +363,17 @@
}
while (num > 0);
- if (neg) {
- numbuf[--i] = '-';
- }
php_sprintf_appendstring(buffer, pos, size, &numbuf[i], width, 0,
padding, alignment, (NUM_BUF_SIZE - 1) - i,
- neg, expprec);
+ 0, expprec);
}
-inline static int
+inline static long
php_sprintf_getnumber(char *buffer, int *pos)
{
char *endptr;
- register int num = strtol(&buffer[*pos], &endptr, 10);
+ register long num = strtol(&buffer[*pos], &endptr, 10);
register int i = 0;
if (endptr != NULL) {