diff options
Diffstat (limited to '02_exercise/prompt_utils.c')
-rw-r--r-- | 02_exercise/prompt_utils.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/02_exercise/prompt_utils.c b/02_exercise/prompt_utils.c index 238f47c..168c088 100644 --- a/02_exercise/prompt_utils.c +++ b/02_exercise/prompt_utils.c @@ -1,13 +1,10 @@ -#include "prompt_utils.h" - -#include "array.h" -#include <errno.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> -char const *relative_path(char const *const from_dir, char const *const to_dir) { +#include "array.h" +#include "prompt_utils.h" +char const *relative_path(char const *const from_dir, char const *const to_dir) { // easiest cases first { if (strcmp(from_dir, to_dir) == 0) { @@ -24,9 +21,10 @@ char const *relative_path(char const *const from_dir, char const *const to_dir) return return_value; } } - // Splitting path into pieces so we can do strcmp on each of them - size_t const *const from_dir_indeces = get_seperator_indeces(from_dir, '/'); - size_t const *const to_dir_indeces = get_seperator_indeces(to_dir, '/'); + + // splitting path into pieces so we can do strcmp on each of them + size_t const *const from_dir_indeces = get_separator_indices(from_dir, '/'); + size_t const *const to_dir_indeces = get_separator_indices(to_dir, '/'); size_t from_dir_len = arrayLen(from_dir_indeces); size_t to_dir_len = arrayLen(to_dir_indeces); @@ -50,7 +48,7 @@ char const *relative_path(char const *const from_dir, char const *const to_dir) size_t levels_up = from_dir_len - i - 1; char *return_value; if (levels_up == 0) { - // Equal dirs for whole length of path and not equal => subdir + // equal dirs for whole length of path and not equal => subdir size_t length = strlen(to_dir + common_position) + strlen("./") + 1; return_value = malloc(length * sizeof(char)); strcpy(return_value, "."); @@ -75,18 +73,18 @@ char const *relative_path(char const *const from_dir, char const *const to_dir) return return_value; } -size_t *get_seperator_indeces(char const *const text, char seperator) { - size_t *indeces; - arrayInit(indeces); +size_t *get_separator_indices(char const *const text, char seperator) { + size_t *indices; + arrayInit(indices); char const *current = text; if (strchr(current, seperator) == NULL) { - arrayRelease(indeces); + arrayRelease(indices); return NULL; } while ((current = strchr(current, seperator)) != NULL) { - arrayPush(indeces) = (size_t) (current - text); + arrayPush(indices) = (size_t) (current - text); ++current; } - arrayPush(indeces) = strlen(text); - return indeces; + arrayPush(indices) = strlen(text); + return indices; } |