projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* Optimised many of the library functions
[fw/sdcc]
/
device
/
lib
/
_strcmp.c
diff --git
a/device/lib/_strcmp.c
b/device/lib/_strcmp.c
index ea1cc68f5e3bc708a4e332b845595b76ab4e5486..1e6121fd7ef69d321eeb8de02602b4f350972268 100644
(file)
--- a/
device/lib/_strcmp.c
+++ b/
device/lib/_strcmp.c
@@
-22,22
+22,35
@@
what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
#include "string.h"
what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
#include "string.h"
+#include <sdcc-lib.h>
+
#define NULL (void *)0
int strcmp (
#define NULL (void *)0
int strcmp (
- char _generic *src,
- char _generic *dst
+ char _generic *
a
src,
+ char _generic *
a
dst
)
{
)
{
- register int ret = 0 ;
+#if _SDCC_Z80_STYLE_LIB_OPT
+ char ret = 0 ;
+ char _generic *src = asrc;
+ char _generic *dst = adst;
- while( ! (
ret =
*src - *dst) && *dst)
+ while( ! (*src - *dst) && *dst)
++src, ++dst;
++src, ++dst;
+ return *src - *dst;
+#else
+ register int ret = 0 ;
+
+ while( ! (ret = *asrc - *adst) && *adst)
+ ++asrc, ++adst;
+
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return( ret );
+#endif
}
}