summaryrefslogtreecommitdiffstats
path: root/Src/Modules
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2026-05-11 22:33:16 +0200
committerMikael Magnusson <mikachu@gmail.com>2026-05-16 18:28:29 +0200
commit7dc85fe4dbb2709018ce53890c1e2f7263f0ac39 (patch)
tree27d3ee2963031fdb3be783e606b1f63301d2303d /Src/Modules
parent54546: Remove incorrect array access that was also never used (diff)
downloadzsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.tar
zsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.tar.gz
zsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.tar.bz2
zsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.tar.lz
zsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.tar.xz
zsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.tar.zst
zsh-7dc85fe4dbb2709018ce53890c1e2f7263f0ac39.zip
54549: attr: various minor issues
The flags parameter is always 0 so the precedence mistake doesn't actually matter. Attributes are quite unlikely to be over 2GB in length, but use the correct types. The module is load=no so the autofeatures isn't used, but be consistent and list all builtins in the mdd file.
Diffstat (limited to 'Src/Modules')
-rw-r--r--Src/Modules/attr.c8
-rw-r--r--Src/Modules/attr.mdd2
2 files changed, 6 insertions, 4 deletions
diff --git a/Src/Modules/attr.c b/Src/Modules/attr.c
index f4bd04982..dd29e42f6 100644
--- a/Src/Modules/attr.c
+++ b/Src/Modules/attr.c
@@ -68,7 +68,7 @@ xsetxattr(const char *path, const char *name, const void *value,
size_t size, int flags, int symlink)
{
#ifdef XATTR_EXTRA_ARGS
- return setxattr(path, name, value, size, 0, flags | symlink ? XATTR_NOFOLLOW : 0);
+ return setxattr(path, name, value, size, 0, flags | (symlink ? XATTR_NOFOLLOW : 0));
#else
switch (symlink) {
case 0:
@@ -98,7 +98,8 @@ static int
bin_getattr(char *nam, char **argv, Options ops, UNUSED(int func))
{
int ret = 0;
- int val_len = 0, attr_len = 0, slen;
+ int slen;
+ ssize_t val_len = 0, attr_len = 0;
char *value, *file = argv[0], *attr = argv[1], *param = argv[2];
int symlink = OPT_ISSET(ops, 'h');
@@ -169,7 +170,8 @@ static int
bin_listattr(char *nam, char **argv, Options ops, UNUSED(int func))
{
int ret = 0;
- int val_len, list_len = 0, slen;
+ int slen;
+ ssize_t val_len, list_len = 0;
char *value, *file = argv[0], *param = argv[1];
int symlink = OPT_ISSET(ops, 'h');
diff --git a/Src/Modules/attr.mdd b/Src/Modules/attr.mdd
index fbe917bbf..3b765f489 100644
--- a/Src/Modules/attr.mdd
+++ b/Src/Modules/attr.mdd
@@ -7,6 +7,6 @@ fi
'
load=no
-autofeatures="b:zgetattr b:zsetattr b:zdelattr"
+autofeatures="b:zgetattr b:zsetattr b:zdelattr b:zlistattr"
objects="attr.o"