summaryrefslogtreecommitdiff
path: root/arm9/lib/include/FSi_util.h
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-05-07 16:42:49 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-05-07 16:42:49 -0400
commit13ecb2f5cb0bbfee814508f6d05d05074d426807 (patch)
treed74710f058264611f36c3a8fa1eafcf5be3e4086 /arm9/lib/include/FSi_util.h
parent3e723988b8596fe450a5f3dd3f43a55d9a13cff5 (diff)
FS_archive through FS_LoadArchive
Diffstat (limited to 'arm9/lib/include/FSi_util.h')
-rw-r--r--arm9/lib/include/FSi_util.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/arm9/lib/include/FSi_util.h b/arm9/lib/include/FSi_util.h
new file mode 100644
index 00000000..babb6d75
--- /dev/null
+++ b/arm9/lib/include/FSi_util.h
@@ -0,0 +1,33 @@
+#ifndef NITRO_FSI_UTIL_H_
+#define NITRO_FSI_UTIL_H_
+
+static inline BOOL FSi_IsSlash(u32 c)
+{
+ return (c == '/') || (c == '\\');
+}
+
+static inline void FSi_CutFromListCore(FSFileLink *trg)
+{
+ FSFile *const pr = trg->prev;
+ FSFile *const nx = trg->next;
+ if (pr)
+ pr->link.next = nx;
+ if (nx)
+ nx->link.prev = pr;
+}
+
+static inline void FSi_AppendToList(FSFile *elem, FSFile *list)
+{
+ FSFileLink *const trg = &elem->link;
+ FSi_CutFromListCore(trg);
+ {
+ while (list->link.next)
+ list = list->link.next;
+ list->link.next = elem;
+ trg->prev = list;
+ trg->next = NULL;
+ }
+}
+
+
+#endif //NITRO_FSI_UTIL_H_