git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: corner cases when printing large content through term interface
[lunaix-os.git]
/
lunaix-os
/
kernel
/
fs
/
xattr.c
diff --git
a/lunaix-os/kernel/fs/xattr.c
b/lunaix-os/kernel/fs/xattr.c
index 94f85b76dce7489708124e87a8a34f7988e4451d..3fa09a0a8e564ccd945cb066453a25a453cde992 100644
(file)
--- a/
lunaix-os/kernel/fs/xattr.c
+++ b/
lunaix-os/kernel/fs/xattr.c
@@
-1,7
+1,11
@@
#include <klibc/string.h>
#include <lunaix/fs.h>
#include <lunaix/mm/valloc.h>
#include <klibc/string.h>
#include <lunaix/fs.h>
#include <lunaix/mm/valloc.h>
+#include <lunaix/process.h>
#include <lunaix/syscall.h>
#include <lunaix/syscall.h>
+#include <lunaix/syscall_utils.h>
+
+#define DO_STATUS(errno) SYSCALL_ESTATUS(__current->k_status = errno)
struct v_xattr_entry*
xattr_new(struct hstr* name)
struct v_xattr_entry*
xattr_new(struct hstr* name)
@@
-11,7
+15,8
@@
xattr_new(struct hstr* name)
return NULL;
}
*entry =
return NULL;
}
*entry =
- (struct v_xattr_entry){ .name = HHSTR(valloc(VFS_NAME_MAXLEN), 0, 0) };
+ (struct v_xattr_entry){ .name = HHSTR(valloc(VFS_NAME_MAXLEN), 0, 0),
+ .value = NULL };
hstrcpy(&entry->name, name);
return entry;
hstrcpy(&entry->name, name);
return entry;
@@
-20,7
+25,7
@@
xattr_new(struct hstr* name)
void
xattr_free(struct v_xattr_entry* entry)
{
void
xattr_free(struct v_xattr_entry* entry)
{
- vfree(entry->name.value);
+ vfree(
(void*)
entry->name.value);
vfree(entry);
}
vfree(entry);
}