add path impl for linux

This commit is contained in:
Julian Daube 2020-12-02 15:36:48 +01:00
parent ab099339b2
commit e42a53786a
1 changed files with 44 additions and 0 deletions

44
fs_linux.c Normal file
View File

@ -0,0 +1,44 @@
/*
* fs_linux.c
*
* Created on: 20.10.2017
* Author: julian
*/
#include "fs.h"
#include <string.h>
#include <stdlib.h>
void create_path(struct path * p, const char * fsPath) {
free_path(p);
const char *start = fsPath, *current = fsPath;
if (*start == '/') {
// absolute path
p->absolute = 1;
current = ++start;
}
for (;*current != '\0'; ++current) {
if (*current == '/') {
p->entries = realloc(p->entries, sizeof(p->entries[0]) * (p->len+1));
p->entries[p->len] = strndup(start, current-start);
// skip delimiter
start = current+1;
p->len++;
}
}
if (start != current) {
p->entries = realloc(p->entries, sizeof(p->entries[0]) *(p->len+1));
p->entries[p->len] = strdup(start);
p->len++;
}
}
FILE * path_fopen(struct path * p, const char * flags) {
// reconstruct system path
return NULL;
}