2009-11-20 Colin D Bennett <colin@gibibit.com>
* include/grub/misc.h (grub_iscntrl): New inline function. (grub_isalnum): Likewise. (grub_strtol): Likewise.
This commit is contained in:
parent
cbf97a87d9
commit
bd86691a07
2 changed files with 55 additions and 0 deletions
6
ChangeLog.gfxmenumisc
Normal file
6
ChangeLog.gfxmenumisc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
2009-11-20 Colin D Bennett <colin@gibibit.com>
|
||||||
|
|
||||||
|
* include/grub/misc.h (grub_iscntrl): New inline function.
|
||||||
|
(grub_isalnum): Likewise.
|
||||||
|
(grub_strtol): Likewise.
|
||||||
|
|
|
@ -94,6 +94,12 @@ char *EXPORT_FUNC(grub_strstr) (const char *haystack, const char *needle);
|
||||||
int EXPORT_FUNC(grub_isspace) (int c);
|
int EXPORT_FUNC(grub_isspace) (int c);
|
||||||
int EXPORT_FUNC(grub_isprint) (int c);
|
int EXPORT_FUNC(grub_isprint) (int c);
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
grub_iscntrl (int c)
|
||||||
|
{
|
||||||
|
return (c >= 0x00 && c <= 0x1F) || c == 0x7F;
|
||||||
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
grub_isalpha (int c)
|
grub_isalpha (int c)
|
||||||
{
|
{
|
||||||
|
@ -112,6 +118,12 @@ grub_isdigit (int c)
|
||||||
return (c >= '0' && c <= '9');
|
return (c >= '0' && c <= '9');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
grub_isalnum (int c)
|
||||||
|
{
|
||||||
|
return grub_isalpha (c) || grub_isdigit (c);
|
||||||
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
grub_tolower (int c)
|
grub_tolower (int c)
|
||||||
{
|
{
|
||||||
|
@ -166,6 +178,43 @@ grub_strncasecmp (const char *s1, const char *s2, grub_size_t n)
|
||||||
|
|
||||||
unsigned long EXPORT_FUNC(grub_strtoul) (const char *str, char **end, int base);
|
unsigned long EXPORT_FUNC(grub_strtoul) (const char *str, char **end, int base);
|
||||||
unsigned long long EXPORT_FUNC(grub_strtoull) (const char *str, char **end, int base);
|
unsigned long long EXPORT_FUNC(grub_strtoull) (const char *str, char **end, int base);
|
||||||
|
|
||||||
|
static inline long
|
||||||
|
grub_strtol (const char *str, char **end, int base)
|
||||||
|
{
|
||||||
|
int negative = 0;
|
||||||
|
unsigned long magnitude;
|
||||||
|
|
||||||
|
while (*str && grub_isspace (*str))
|
||||||
|
str++;
|
||||||
|
|
||||||
|
if (*str == '-')
|
||||||
|
{
|
||||||
|
negative = 1;
|
||||||
|
str++;
|
||||||
|
}
|
||||||
|
|
||||||
|
magnitude = grub_strtoull (str, end, base);
|
||||||
|
if (negative)
|
||||||
|
{
|
||||||
|
if (magnitude > (unsigned long) GRUB_LONG_MAX + 1)
|
||||||
|
{
|
||||||
|
grub_error (GRUB_ERR_OUT_OF_RANGE, "negative overflow");
|
||||||
|
return GRUB_LONG_MIN;
|
||||||
|
}
|
||||||
|
return -((long) magnitude);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (magnitude > GRUB_LONG_MAX)
|
||||||
|
{
|
||||||
|
grub_error (GRUB_ERR_OUT_OF_RANGE, "positive overflow");
|
||||||
|
return GRUB_LONG_MAX;
|
||||||
|
}
|
||||||
|
return (long) magnitude;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
char *EXPORT_FUNC(grub_strdup) (const char *s);
|
char *EXPORT_FUNC(grub_strdup) (const char *s);
|
||||||
char *EXPORT_FUNC(grub_strndup) (const char *s, grub_size_t n);
|
char *EXPORT_FUNC(grub_strndup) (const char *s, grub_size_t n);
|
||||||
void *EXPORT_FUNC(grub_memset) (void *s, int c, grub_size_t n);
|
void *EXPORT_FUNC(grub_memset) (void *s, int c, grub_size_t n);
|
||||||
|
|
Loading…
Reference in a new issue