1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-18 15:21:16 +02: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

@ -1,3 +1,10 @@
2009-11-06 Peter Stephenson <p.w.stephenson@ntlworld.com>
* 27358: Src/builtin.c: error if $0 was altered within
a sourced file.
* 27357: Src/Modules/attr.c: fix compiler warnings
2009-11-06 Peter Stephenson <pws@csr.com>
* Frank Terbeck: 27353: Functions/VCS_Info/VCS_INFO_bydir_detect,
@ -12301,5 +12308,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
* $Revision: 1.4803 $
* $Revision: 1.4804 $
*****************************************************

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;
}