diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2021-12-05 09:47:21 -0800 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2021-12-05 10:54:20 -0800 |
commit | 521d01e8ad87e931af3e9a763cc84a6cf7fe5ee3 (patch) | |
tree | f544119060c3eefc7b0fec6cff1740a362541213 /src/base/string/raw/ecompare.c | |
parent | 158d9b84f14457136379f42e7c071eb79d87ee6b (diff) |
Feat: basic string and memory functions
Continue filling out the basic standard lib functions.
Included prototypes of the str* and mem* families.
Plan to add e(str|mem) and n(str|mem) variants as well.
Diffstat (limited to 'src/base/string/raw/ecompare.c')
-rw-r--r-- | src/base/string/raw/ecompare.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/base/string/raw/ecompare.c b/src/base/string/raw/ecompare.c new file mode 100644 index 0000000..f0e20e8 --- /dev/null +++ b/src/base/string/raw/ecompare.c @@ -0,0 +1,20 @@ +#include <u.h> +#include <base.h> + +int +strĀ·ecompare(char *l, char *e, char *r) +{ + int cl, cr; + + if(l > e) /* l is nil */ + return *r ? -1 : 0; + + while(l != e){ + cl=*l++, cr=*r++; + if(cl != cr) + return cl-cr; + if(!cl) + return 0; + } + return *r ? -1 : 0; +} |