1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-29 17:31:02 +01:00

27357: fix compiler warnings in attr module

27358: fix error if $0 altered in sourced file
This commit is contained in:
Peter Stephenson 2009-11-06 22:38:47 +00:00
parent d6c4e4c692
commit f30af94885
3 changed files with 16 additions and 7 deletions

View file

@ -42,7 +42,7 @@ xgetxattr(const char *path, const char *name, void *value, size_t size, int syml
switch (symlink) {
case 0:
return getxattr(path, name, value, size);
case 1:
default:
return lgetxattr(path, name, value, size);
}
#endif
@ -57,7 +57,7 @@ xlistxattr(const char *path, char *list, size_t size, int symlink)
switch (symlink) {
case 0:
return listxattr(path, list, size);
case 1:
default:
return llistxattr(path, list, size);
}
#endif
@ -73,7 +73,7 @@ xsetxattr(const char *path, const char *name, const void *value,
switch (symlink) {
case 0:
return setxattr(path, name, value, size, flags);
case 1:
default:
return lsetxattr(path, name, value, size, flags);
}
#endif
@ -88,7 +88,7 @@ xremovexattr(const char *path, const char *name, int symlink)
switch (symlink) {
case 0:
return removexattr(path, name);
case 1:
default:
return lremovexattr(path, name);
}
#endif

View file

@ -4747,7 +4747,7 @@ bin_dot(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
enam = arg0 = ztrdup(*argv);
if (isset(FUNCTIONARGZERO)) {
old0 = argzero;
argzero = arg0;
argzero = ztrdup(arg0);
}
s = unmeta(enam);
errno = ENOENT;
@ -4802,8 +4802,10 @@ bin_dot(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
if (ret == SOURCE_NOT_FOUND)
zwarnnam(name, "%e: %s", errno, enam);
zsfree(arg0);
if (old0)
if (old0) {
zsfree(argzero);
argzero = old0;
}
return ret == SOURCE_OK ? lastval : 128 - ret;
}