summaryrefslogtreecommitdiff
path: root/entry.c
diff options
context:
space:
mode:
Diffstat (limited to 'entry.c')
-rw-r--r--entry.c17
1 files changed, 14 insertions, 3 deletions
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;