]> Kevux Git Server - fll/commitdiff
Bugfix: directory remove is not handling all errors.
authorKevin Day <thekevinday@gmail.com>
Thu, 20 Aug 2020 02:18:22 +0000 (21:18 -0500)
committerKevin Day <thekevinday@gmail.com>
Thu, 20 Aug 2020 02:18:22 +0000 (21:18 -0500)
The errno ENOTEMPTY is not being handled and is now added.
The errno EOVERFLOW is not used and is now removed.

Update the relevant documentation.

level_0/f_directory/c/directory.c
level_0/f_directory/c/directory.h

index de23fc88e3116fbdf671460c2c7a8d99eb107d9c..82ff60f4e421d50b0189367d253bee7926eaf652 100644 (file)
@@ -290,9 +290,9 @@ extern "C" {
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
+      if (errno == ENOTEMPTY) return F_status_set_error(F_directory_empty_not);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
 
       return F_status_set_error(F_failure);
     }
@@ -337,7 +337,7 @@ extern "C" {
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
+      if (errno == ENOTEMPTY) return F_status_set_error(F_directory_empty_not);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
 
index 69104b5f686f6fab9509f9deaab9561b420115d0..9277ab2696e8f6a3d4e7f2f897130ed415176ced 100644 (file)
@@ -394,6 +394,7 @@ extern "C" {
  *   F_access_denied (with error bit) on access denied.
  *   F_busy (with error bit) if file is busy.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_empty_not (with error bit) if the directory is not empty.
  *   F_file_descriptor_max (with error bit) if max file descriptors was reached.
  *   F_file_found_not (with error bit) if file not found.
  *   F_file_open_max (with error bit) too many open files.
@@ -405,7 +406,6 @@ extern "C" {
  *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for removing.
  *   F_read_only (with error bit) if file is read-only.
- *   F_number_overflow (with error bit) on integer overflow.
  *   F_failure (with error bit) for any other error.
  *
  * @see nftw()
@@ -436,7 +436,10 @@ extern "C" {
  *   F_access_denied (with error bit) on access denied.
  *   F_busy (with error bit) if file is busy.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_empty_not (with error bit) if the directory is not empty.
+ *   F_file_descriptor_max (with error bit) if max file descriptors was reached.
  *   F_file_found_not (with error bit) if file not found.
+ *   F_file_open_max (with error bit) too many open files.
  *   F_file_type_directory (with error bit) file is a directory (directories cannot be removed via this function).
  *   F_input_output (with error bit) if an I/O error occurred.
  *   F_loop (with error bit) on loop error.