See patch.
Uwe.
On 11/04/08 21:03 +0200, Uwe Hermann wrote:
See patch.
Uwe.
http://www.hermann-uwe.de | http://www.holsham-traders.de http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
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
Also acknowledge the rewrite and the change in copyright.
Index: include/libpayload.h
--- include/libpayload.h (Revision 3234) +++ include/libpayload.h (Arbeitskopie) @@ -103,9 +103,21 @@ #define havechar havekey
/* libc/ctype.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 isgraph(int c); +int islower(int c); +int isprint(int c); +int ispunct(int c); int isspace(int c); -int isdigit(int c); +int isupper(int c); +int isxdigit(int c); int tolower(int c); +int toupper(int c);
/* libc/ipchecksum.c */ unsigned short ipchksum(const unsigned short *ptr, unsigned long nbytes); Index: libc/ctype.c =================================================================== --- libc/ctype.c (Revision 3234) +++ libc/ctype.c (Arbeitskopie) @@ -1,7 +1,7 @@ /*
- 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
- modification, are permitted provided that the following conditions
@@ -29,34 +29,78 @@
#include <libpayload.h>
-int isspace(int c) +int isalpha(int c) {
- switch (c) {
- case ' ':
- case '\f':
- case '\n':
- case '\r':
- case '\t':
- case '\v':
return 1;
- default:
return 0;
- }
- return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
}
+int isascii(int c) +{
- return (c >= 0 && c <= 127);
+}
+int isblank(int c) +{
- return (c == ' ' || c == '\t');
+}
+int iscntrl(int c) +{
- return (c <= 31 || c == 127);
+}
int isdigit(int c) {
- switch (c) {
- case '0'...'9':
return 1;
- default:
return 0;
- }
- return (c >= '0' && c <= '9');
}
+int isalnum(int c) +{
- 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) {
- if (c >= 'A' && c <= 'Z')
return c - 'A' + 'a';
- return c;
- return (c >= 'A' && c <= 'Z') ? (c + 32) : c;
}
+int toupper(int c) +{
- return (c >= 'a' && c <= 'z') ? (c - 32) : c;
+}
-- coreboot mailing list coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Fri, Apr 11, 2008 at 01:13:01PM -0600, Jordan Crouse wrote:
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
Also acknowledge the rewrite and the change in copyright.
Thanks, r3236.
Uwe.