diff --git a/TODO b/TODO index 5d871ee..988342c 100644 --- a/TODO +++ b/TODO @@ -6,23 +6,38 @@ - allow to control disk cache size - replace atol and atoi with strtol with proper error checking - find permanent solution for --no-as-needed on Ubuntu - - make buckets ordered so that queries and insertions can be done using bisection + - make buckets ordered so that queries and insertions can be done using + bisection - make array of children of h_entry ordered for quicker member search - use __attribute__ ((warn_unused_result)); - replace sizeof for key, name and hash with #define-ed values - - use less realloc but instead only realloc to double the size when array gets full - - store more efficient structure on disk (for example by making filenames zero terminated) - - make h_entry more efficient in memory (for example by making filenames zero terminated) - - when handling device/get_changes, make sure to only use the latest revision of the same file-/folderkey + - use less realloc but instead only realloc to double the size when array + gets full + - store more efficient structure on disk (for example by making filenames + zero terminated) + - make h_entry more efficient in memory (for example by making filenames + zero terminated) + - when handling device/get_changes, make sure to only use the latest + revision of the same file-/folderkey - allow different cache directory (useful for running test suite) - delete patches in cache that have been applied - - after uploading a file it is immediately downloaded - instead, the existing local file should be used by checking the remote hash + - after uploading a file it is immediately downloaded - instead, the existing + local file should be used by checking the remote hash - add an option to only call device/get_status in configurable intervals - add an option to make file cache size configurable - write man pages - - username and password must be urlencoded in mfapi/apicalls/user_get_session_token.c + - username and password must be urlencoded in + mfapi/apicalls/user_get_session_token.c - implement truncate (problem: zero byte files are not allowed at the remote) - - move uploading of files from release() to flush() because the return value of release is ignored and because the calling close() returns before release() finishes (problem: zero byte files are not allowed at the remote) + - move uploading of files from release() to flush() because the return + value of release is ignored and because the calling close() returns + before release() finishes (problem: zero byte files are not allowed at + the remote) - create a Debian package - - call folder/get_content in a loop until more_chunks=no because folder/get_content only returns 100 items (or up to 1000 as given by the chunk_size parameter) + - call folder/get_content in a loop until more_chunks=no because it currently + stops at 1000 (max value for chunk_size param) - proper versioning of the directory cache + - implement intelligent rename() fuse callback for REST API operations + file/move & folder/move + - call upload/check & upload/instant to perform an "instant" upload + whenever possible