refactor: one more step towards arch-agnostic design
[lunaix-os.git] / lunaix-os / kernel / fs / xattr.c
index 94f85b76dce7489708124e87a8a34f7988e4451d..3fa09a0a8e564ccd945cb066453a25a453cde992 100644 (file)
@@ -1,7 +1,11 @@
 #include <klibc/string.h>
 #include <lunaix/fs.h>
 #include <lunaix/mm/valloc.h>
+#include <lunaix/process.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)
@@ -11,7 +15,8 @@ xattr_new(struct hstr* name)
         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;
@@ -20,7 +25,7 @@ xattr_new(struct hstr* name)
 void
 xattr_free(struct v_xattr_entry* entry)
 {
-    vfree(entry->name.value);
+    vfree((void*)entry->name.value);
     vfree(entry);
 }