Patchwork [U-Boot,v5,1/7] vsprintf:fix: Change type returned by ustrtoul

login
register
mail settings
Submitter Piotr Wilczek
Date Dec. 11, 2012, 10:09 a.m.
Message ID <1355220588-25905-2-git-send-email-p.wilczek@samsung.com>
Download mbox | patch
Permalink /patch/205144/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Piotr Wilczek - Dec. 11, 2012, 10:09 a.m.
From: Lukasz Majewski <l.majewski@samsung.com>

The ustrtoul shall convert string defined size (e.g. 1GiB) to unsigned
long type (as its name implies).

Up till now it had returned int, which might cause problems with large
numbers (GiB range), when interpreted as U2 signed numbers.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>

---
Changes in v5:
- changed return type in ustrtoul function decalration

Changes in v4:
- None

Changes in v3:
- None

Changes in v2:
- None

 include/exports.h |    2 +-
 lib/vsprintf.c    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/include/exports.h b/include/exports.h
index 63aa4b2..6cf31aa 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -23,7 +23,7 @@  char *getenv (const char *name);
 int setenv (const char *varname, const char *varvalue);
 long simple_strtol(const char *cp,char **endp,unsigned int base);
 int strcmp(const char * cs,const char * ct);
-int ustrtoul(const char *cp, char **endp, unsigned int base);
+unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
 #if defined(CONFIG_CMD_I2C)
 int i2c_write (uchar, uint, int , uchar* , int);
 int i2c_read (uchar, uint, int , uchar* , int);
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index b7a79c0..3c432f8 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -103,7 +103,7 @@  long simple_strtol(const char *cp, char **endp, unsigned int base)
 	return simple_strtoul(cp, endp, base);
 }
 
-int ustrtoul(const char *cp, char **endp, unsigned int base)
+unsigned long ustrtoul(const char *cp, char **endp, unsigned int base)
 {
 	unsigned long result = simple_strtoul(cp, endp, base);
 	switch (**endp) {