summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWayne Davison <wayned@users.sourceforge.net>2005-11-15 08:44:24 +0000
committerWayne Davison <wayned@users.sourceforge.net>2005-11-15 08:44:24 +0000
commit01875dc4a1fbbe7088d4e0004de082c39f6a6ef1 (patch)
tree0be3bcf65e1250889652d5ec559e4879f5eecf71
parentChanged two zle functions to each return a char pointer, not an (diff)
downloadzsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.tar
zsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.tar.gz
zsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.tar.bz2
zsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.tar.lz
zsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.tar.xz
zsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.tar.zst
zsh-01875dc4a1fbbe7088d4e0004de082c39f6a6ef1.zip
Changed ztrcmp() to take normal char pointers, not unsigned char.
-rw-r--r--Src/utils.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/Src/utils.c b/Src/utils.c
index 58bf3286f..f32b162f7 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -3223,35 +3223,34 @@ unmeta(const char *file_name)
return fn;
}
-/* Unmetafy and compare two strings, with unsigned characters. *
- * "a\0" sorts after "a". */
+/* Unmetafy and compare two strings, comparing unsigned character values.
+ * "a\0" sorts after "a". */
/**/
int
-ztrcmp(unsigned char const *s1, unsigned char const *s2)
+ztrcmp(char const *s1, char const *s2)
{
int c1, c2;
- while(*s1 && *s1 == *s2) {
+ while (*s1 && *s1 == *s2) {
s1++;
s2++;
}
- if(!(c1 = *s1))
+ if (!(c1 = STOUC(*s1)))
c1 = -1;
- else if(c1 == STOUC(Meta))
- c1 = *++s1 ^ 32;
- if(!(c2 = *s2))
+ else if (c1 == STOUC(Meta))
+ c1 = STOUC(*++s1) ^ 32;
+ if (!(c2 = STOUC(*s2)))
c2 = -1;
- else if(c2 == STOUC(Meta))
- c2 = *++s2 ^ 32;
+ else if (c2 == STOUC(Meta))
+ c2 = STOUC(*++s2) ^ 32;
- if(c1 == c2)
+ if (c1 == c2)
return 0;
- else if(c1 < c2)
+ if (c1 < c2)
return -1;
- else
- return 1;
+ return 1;
}
/* Return the unmetafied length of a metafied string. */
@@ -3262,7 +3261,7 @@ ztrlen(char const *s)
{
int l;
- for (l = 0; *s; l++)
+ for (l = 0; *s; l++) {
if (*s++ == Meta) {
#ifdef DEBUG
if (! *s)
@@ -3271,6 +3270,7 @@ ztrlen(char const *s)
#endif
s++;
}
+ }
return l;
}
@@ -3282,7 +3282,7 @@ ztrsub(char const *t, char const *s)
{
int l = t - s;
- while (s != t)
+ while (s != t) {
if (*s++ == Meta) {
#ifdef DEBUG
if (! *s || s == t)
@@ -3292,6 +3292,7 @@ ztrsub(char const *t, char const *s)
s++;
l--;
}
+ }
return l;
}
@@ -3586,9 +3587,10 @@ mb_width(const char *s)
mod_export int
hasspecial(char const *s)
{
- for (; *s; s++)
+ for (; *s; s++) {
if (ispecial(*s == Meta ? *++s ^ 32 : *s))
return 1;
+ }
return 0;
}