From 0eb46442f5541f365ebb327375b9e5992194fbd8 Mon Sep 17 00:00:00 2001 From: louie Date: Fri, 26 Jun 2020 19:43:29 -0700 Subject: Added compatability for spaces in filename --- entry.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'entry.c') diff --git a/entry.c b/entry.c index 4b6d03d..f9647f5 100644 --- a/entry.c +++ b/entry.c @@ -22,17 +22,28 @@ char *get_epath(ENTRY *e); ENTRY *create_entry(char *new_name, char *new_path){ ENTRY *new; + char adjusted_path[BUF_LEN]; //double check if file exists if(access(new_path, F_OK) == -1){ - printf("Error: Invalid File Name \"%s\"\n", new_path); - return NULL; + //try to adjust the path, in case of lingering quotes + strcpy(adjusted_path, &new_path[1]); + adjusted_path[strlen(adjusted_path)-1] = '\0'; + + if(access(adjusted_path, F_OK) == -1){ + printf("Error: Invalid File Name \"%s\"\n", new_path); + return NULL; + } } + else strcpy(adjusted_path, new_path); + new = malloc(sizeof(ENTRY)); strcpy(new->name, new_name); - strcpy(new->path, new_path); + strcpy(new->path, adjusted_path); + printf("1 DEBUG: %s\n", adjusted_path); + printf("2 DEBUG: %s\n", adjusted_path); new->next = NULL; return new; -- cgit