diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-07 16:42:49 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-07 16:42:49 -0400 |
commit | 13ecb2f5cb0bbfee814508f6d05d05074d426807 (patch) | |
tree | d74710f058264611f36c3a8fa1eafcf5be3e4086 /arm9/lib/include/FSi_util.h | |
parent | 3e723988b8596fe450a5f3dd3f43a55d9a13cff5 (diff) |
FS_archive through FS_LoadArchive
Diffstat (limited to 'arm9/lib/include/FSi_util.h')
-rw-r--r-- | arm9/lib/include/FSi_util.h | 33 |
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_ |