vsprintf: add ustrtoll function
Add 'ustrtoull' function to convert size from string (ex: 1GiB) to unsigned long long type Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
This commit is contained in:
parent
7b395232da
commit
7df54d316e
|
@ -24,6 +24,7 @@ int setenv (const char *varname, const char *varvalue);
|
||||||
long simple_strtol(const char *cp,char **endp,unsigned int base);
|
long simple_strtol(const char *cp,char **endp,unsigned int base);
|
||||||
int strcmp(const char * cs,const char * ct);
|
int strcmp(const char * cs,const char * ct);
|
||||||
unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
|
unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
|
||||||
|
unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
|
||||||
#if defined(CONFIG_CMD_I2C)
|
#if defined(CONFIG_CMD_I2C)
|
||||||
int i2c_write (uchar, uint, int , uchar* , int);
|
int i2c_write (uchar, uint, int , uchar* , int);
|
||||||
int i2c_read (uchar, uint, int , uchar* , int);
|
int i2c_read (uchar, uint, int , uchar* , int);
|
||||||
|
|
|
@ -126,6 +126,29 @@ unsigned long ustrtoul(const char *cp, char **endp, unsigned int base)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base)
|
||||||
|
{
|
||||||
|
unsigned long long result = simple_strtoull(cp, endp, base);
|
||||||
|
switch (**endp) {
|
||||||
|
case 'G':
|
||||||
|
result *= 1024;
|
||||||
|
/* fall through */
|
||||||
|
case 'M':
|
||||||
|
result *= 1024;
|
||||||
|
/* fall through */
|
||||||
|
case 'K':
|
||||||
|
case 'k':
|
||||||
|
result *= 1024;
|
||||||
|
if ((*endp)[1] == 'i') {
|
||||||
|
if ((*endp)[2] == 'B')
|
||||||
|
(*endp) += 3;
|
||||||
|
else
|
||||||
|
(*endp) += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned long long simple_strtoull(const char *cp, char **endp,
|
unsigned long long simple_strtoull(const char *cp, char **endp,
|
||||||
unsigned int base)
|
unsigned int base)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue