Rewrite and filling of libc/ctype.c (thus adjusting copyright line).
Use a simple one-liner for each of the functions. You can surely optimize the code some more, but I chose not to do that in order to keep it readable. When compiling with -Os the size differences are minimal. Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3236 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
b103345a14
commit
72199bc49a
|
@ -99,9 +99,21 @@ extern int last_putchar;
|
||||||
#define havechar havekey
|
#define havechar havekey
|
||||||
|
|
||||||
/* libc/ctype.c */
|
/* libc/ctype.c */
|
||||||
int isspace(int c);
|
int isalnum(int c);
|
||||||
|
int isalpha(int c);
|
||||||
|
int isascii(int c);
|
||||||
|
int isblank(int c);
|
||||||
|
int iscntrl(int c);
|
||||||
int isdigit(int c);
|
int isdigit(int c);
|
||||||
|
int isgraph(int c);
|
||||||
|
int islower(int c);
|
||||||
|
int isprint(int c);
|
||||||
|
int ispunct(int c);
|
||||||
|
int isspace(int c);
|
||||||
|
int isupper(int c);
|
||||||
|
int isxdigit(int c);
|
||||||
int tolower(int c);
|
int tolower(int c);
|
||||||
|
int toupper(int c);
|
||||||
|
|
||||||
/* libc/ipchecksum.c */
|
/* libc/ipchecksum.c */
|
||||||
unsigned short ipchksum(const unsigned short *ptr, unsigned long nbytes);
|
unsigned short ipchksum(const unsigned short *ptr, unsigned long nbytes);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This file is part of the libpayload project.
|
* This file is part of the libpayload project.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008 Advanced Micro Devices, Inc.
|
* Copyright (C) 2008 Uwe Hermann <uwe@hermann-uwe.de>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
@ -29,34 +29,78 @@
|
||||||
|
|
||||||
#include <libpayload.h>
|
#include <libpayload.h>
|
||||||
|
|
||||||
int isspace(int c)
|
int isalpha(int c)
|
||||||
{
|
{
|
||||||
switch (c) {
|
return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
|
||||||
case ' ':
|
}
|
||||||
case '\f':
|
|
||||||
case '\n':
|
int isascii(int c)
|
||||||
case '\r':
|
{
|
||||||
case '\t':
|
return (c >= 0 && c <= 127);
|
||||||
case '\v':
|
}
|
||||||
return 1;
|
|
||||||
default:
|
int isblank(int c)
|
||||||
return 0;
|
{
|
||||||
}
|
return (c == ' ' || c == '\t');
|
||||||
|
}
|
||||||
|
|
||||||
|
int iscntrl(int c)
|
||||||
|
{
|
||||||
|
return (c <= 31 || c == 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
int isdigit(int c)
|
int isdigit(int c)
|
||||||
{
|
{
|
||||||
switch (c) {
|
return (c >= '0' && c <= '9');
|
||||||
case '0'...'9':
|
}
|
||||||
return 1;
|
|
||||||
default:
|
int isalnum(int c)
|
||||||
return 0;
|
{
|
||||||
}
|
return isalpha(c) || isdigit(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
int isgraph(int c)
|
||||||
|
{
|
||||||
|
return (c >= 33 && c <= 126);
|
||||||
|
}
|
||||||
|
|
||||||
|
int islower(int c)
|
||||||
|
{
|
||||||
|
return (c >= 'a' && c <= 'z');
|
||||||
|
}
|
||||||
|
|
||||||
|
int isprint(int c)
|
||||||
|
{
|
||||||
|
return (c >= 32 && c <= 126);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ispunct(int c)
|
||||||
|
{
|
||||||
|
return isprint(c) && !isspace(c) && !isalnum(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
int isspace(int c)
|
||||||
|
{
|
||||||
|
return (c == ' ' || (c >= '\t' || c <= '\r'));
|
||||||
|
}
|
||||||
|
|
||||||
|
int isupper(int c)
|
||||||
|
{
|
||||||
|
return (c >= 'A' && c <= 'Z');
|
||||||
|
}
|
||||||
|
|
||||||
|
int isxdigit(int c)
|
||||||
|
{
|
||||||
|
return isdigit(c) || (tolower(c) >= 'a' && tolower(c) <= 'z');
|
||||||
}
|
}
|
||||||
|
|
||||||
int tolower(int c)
|
int tolower(int c)
|
||||||
{
|
{
|
||||||
if (c >= 'A' && c <= 'Z')
|
return (c >= 'A' && c <= 'Z') ? (c + 32) : c;
|
||||||
return c - 'A' + 'a';
|
|
||||||
return c;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int toupper(int c)
|
||||||
|
{
|
||||||
|
return (c >= 'a' && c <= 'z') ? (c - 32) : c;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue