remove "myfiles" as a moniker for the root. Use NULL or empty string instead

This commit is contained in:
josch
2014-09-24 09:34:56 +02:00
parent 00ff91c15a
commit 18db8742dd
9 changed files with 71 additions and 86 deletions

View File

@@ -37,19 +37,18 @@ int mfshell_cmd_chdir(mfshell * mfshell, int argc, char *const argv[])
if (mfshell == NULL)
return -1;
if (argc != 2) {
fprintf(stderr, "Invalid number of arguments\n");
return -1;
switch (argc) {
case 1:
folderkey = NULL;
break;
case 2:
folderkey = argv[1];
break;
default:
fprintf(stderr, "Invalid number of arguments\n");
return -1;
}
folderkey = argv[1];
if (folderkey == NULL)
return -1;
// change to root
if (strcmp(folderkey, "/") == 0)
folderkey = "myfiles";
// user wants to navigate up a level
if (strcmp(folderkey, "..") == 0) {
// do several sanity checks to see if we're already at the root
@@ -57,8 +56,6 @@ int mfshell_cmd_chdir(mfshell * mfshell, int argc, char *const argv[])
if (folder_curr == NULL)
return 0;
if (strcmp(folder_curr, "myfiles") == 0)
return 0;
folder_parent = folder_get_parent(mfshell->folder_curr);
@@ -69,17 +66,15 @@ int mfshell_cmd_chdir(mfshell * mfshell, int argc, char *const argv[])
folderkey = folder_parent;
}
// check the lenght of the key
if (strlen(folderkey) != 13) {
// as a folder moniker, "myfiles" is an exception
if (strcmp(folderkey, "myfiles") != 0)
return -1;
if (folderkey != NULL && strlen(folderkey) != 13) {
return -1;
}
// create a new folder object to store the results
folder_new = folder_alloc();
// navigate to root is a special case
if (strcmp(folderkey, "myfiles") == 0) {
folder_set_key(folder_new, "myfiles");
if (folderkey == NULL) {
folder_set_key(folder_new, NULL);
retval = 0;
} else {
retval = mfconn_api_folder_get_info(mfshell->conn,

View File

@@ -41,14 +41,6 @@ int mfshell_cmd_list(mfshell * mfshell, int argc, char *const argv[])
folder_curr = folder_get_key(mfshell->folder_curr);
// safety check... this should never happen
if (folder_curr == NULL)
folder_set_key(mfshell->folder_curr, "myfiles");
// safety check... this should never happen
if (folder_curr[0] == '\0')
folder_set_key(mfshell->folder_curr, "myfiles");
// first folders
retval =
mfconn_api_folder_get_content(mfshell->conn, 0, mfshell->folder_curr);

View File

@@ -45,19 +45,10 @@ int mfshell_cmd_mkdir(mfshell * mfshell, int argc, char *const argv[])
folder_curr = folder_get_key(mfshell->folder_curr);
// safety check... this should never happen
if (folder_curr == NULL)
folder_set_key(mfshell->folder_curr, "myfiles");
// safety check... this should never happen
if (folder_curr[0] == '\0')
folder_set_key(mfshell->folder_curr, "myfiles");
folder_curr = folder_get_key(mfshell->folder_curr);
retval =
mfconn_api_folder_create(mfshell->conn, (char *)folder_curr,
(char *)name);
retval = mfconn_api_folder_create(mfshell->conn, folder_curr,
(char *)name);
mfconn_update_secret_key(mfshell->conn);
return retval;