The fl_file project has been empty for some time, fully remove it.
Continue the work on updating the comment documentation.
Fix any observed problems.
Begin using the "Errors from .." style to simplify comment documentation maintainability.
Update the bootstrap-example.sh script, adding support for building the fake project as an example.
build_linker ar
build_libraries -lc
build_libraries-level -lfll_0
-build_sources_library color.c console.c directory.c private-directory.c file.c fss.c fss_basic.c fss_basic_list.c fss_extended.c fss_extended_list.c print.c serialized.c private-serialized.c socket.c status.c string.c private-string.c utf.c private-utf.c utf_file.c private-utf_file.c
+build_sources_library color.c console.c directory.c private-directory.c fss.c fss_basic.c fss_basic_list.c fss_extended.c fss_extended_list.c print.c serialized.c private-serialized.c socket.c status.c string.c private-string.c utf.c private-utf.c utf_file.c private-utf_file.c
build_sources_program
-build_sources_headers color.h console.h directory.h file.h fss.h fss_basic.h fss_basic_list.h fss_extended.h fss_extended_list.h fss_macro.h fss_status.h print.h serialized.h socket.h status.h string.h utf.h utf_file.h
+build_sources_headers color.h console.h directory.h fss.h fss_basic.h fss_basic_list.h fss_extended.h fss_extended_list.h fss_macro.h fss_status.h print.h serialized.h socket.h status.h string.h utf.h utf_file.h
build_sources_script
build_sources_setting
build_script yes
build_linker ar
build_libraries -lc
build_libraries-monolithic
-build_sources_library level_0/console.c level_0/conversion.c level_0/directory.c level_0/private-directory.c level_0/environment.c level_0/private-environment.c level_0/file.c level_0/private-file.c level_0/memory.c level_0/path.c level_0/pipe.c level_0/print.c level_0/utf.c level_0/private-utf.c level_1/color.c level_1/console.c level_1/directory.c level_1/private-directory.c level_1/file.c level_1/fss.c level_1/fss_basic.c level_1/fss_basic_list.c level_1/fss_extended.c level_1/fss_extended_list.c level_1/print.c level_1/serialized.c level_1/private-serialized.c level_1/socket.c level_1/status.c level_1/string.c level_1/private-string.c level_1/utf.c level_1/private-utf.c level_1/utf_file.c level_1/private-utf_file.c level_2/directory.c level_2/execute.c level_2/private-execute.c level_2/file.c level_2/fss.c level_2/fss_basic.c level_2/fss_basic_list.c level_2/fss_extended.c level_2/fss_extended_list.c level_2/fss_status.c level_2/program.c level_2/status.c
+build_sources_library level_0/console.c level_0/conversion.c level_0/directory.c level_0/private-directory.c level_0/environment.c level_0/private-environment.c level_0/file.c level_0/private-file.c level_0/memory.c level_0/path.c level_0/pipe.c level_0/print.c level_0/utf.c level_0/private-utf.c level_1/color.c level_1/console.c level_1/directory.c level_1/private-directory.c level_1/fss.c level_1/fss_basic.c level_1/fss_basic_list.c level_1/fss_extended.c level_1/fss_extended_list.c level_1/print.c level_1/serialized.c level_1/private-serialized.c level_1/socket.c level_1/status.c level_1/string.c level_1/private-string.c level_1/utf.c level_1/private-utf.c level_1/utf_file.c level_1/private-utf_file.c level_2/directory.c level_2/execute.c level_2/private-execute.c level_2/file.c level_2/fss.c level_2/fss_basic.c level_2/fss_basic_list.c level_2/fss_extended.c level_2/fss_extended_list.c level_2/fss_status.c level_2/program.c level_2/status.c
build_sources_program
-build_sources_headers level_0/color.h level_0/console.h level_0/conversion.h level_0/directory.h level_0/directory_type.h level_0/environment.h level_0/file.h level_0/fss.h level_0/memory.h level_0/path.h level_0/pipe.h level_0/print.h level_0/serialized.h level_0/socket.h level_0/status.h level_0/status_array.h level_0/string.h level_0/type.h level_0/type_array.h level_0/utf.h level_1/color.h level_1/console.h level_1/directory.h level_1/file.h level_1/fss.h level_1/fss_basic.h level_1/fss_basic_list.h level_1/fss_extended.h level_1/fss_extended_list.h level_1/fss_macro.h level_1/fss_status.h level_1/print.h level_1/serialized.h level_1/socket.h level_1/status.h level_1/string.h level_1/utf.h level_1/utf_file.h level_2/directory.h level_2/execute.h level_2/file.h level_2/fss.h level_2/fss_basic.h level_2/fss_basic_list.h level_2/fss_extended.h level_2/fss_extended_list.h level_2/fss_status.h level_2/program.h level_2/status.h
+build_sources_headers level_0/color.h level_0/console.h level_0/conversion.h level_0/directory.h level_0/directory_type.h level_0/environment.h level_0/file.h level_0/fss.h level_0/memory.h level_0/path.h level_0/pipe.h level_0/print.h level_0/serialized.h level_0/socket.h level_0/status.h level_0/status_array.h level_0/string.h level_0/type.h level_0/type_array.h level_0/utf.h level_1/color.h level_1/console.h level_1/directory.h level_1/fss.h level_1/fss_basic.h level_1/fss_basic_list.h level_1/fss_extended.h level_1/fss_extended_list.h level_1/fss_macro.h level_1/fss_status.h level_1/print.h level_1/serialized.h level_1/socket.h level_1/status.h level_1/string.h level_1/utf.h level_1/utf_file.h level_2/directory.h level_2/execute.h level_2/file.h level_2/fss.h level_2/fss_basic.h level_2/fss_basic_list.h level_2/fss_extended.h level_2/fss_extended_list.h level_2/fss_status.h level_2/program.h level_2/status.h
build_sources_script
build_sources_setting
build_script yes
# Instead this provides a functional example on what commands to perform to perform the bootstrap.
#
# This only accepts a two arguments (both are required):
-# 1) One of "individual", "level", or "monolithic".
+# 1) One of "individual", "level", "monolithic", "fake-individual", "fake-level", or "fake-monolithic"..
# 2) The version number of the project, such as "0.5.0".
#
# This will create a directory at he present working directory of the script caller called "fll" where everything will be installed.
if [[ $1 == "individual" ]] ; then
bash build/scripts/package.sh build -i &&
- for i in f_type f_status f_memory f_string f_utf f_color f_console f_conversion f_directory f_environment f_file f_fss f_path f_pipe f_print f_serialized f_socket fl_color fl_console fl_directory fl_file fl_fss fl_print fl_serialized fl_socket fl_status fl_string fl_utf fl_utf_file fll_directory fll_execute fll_file fll_fss fll_program fll_status ; do
+ for i in f_type f_status f_memory f_string f_utf f_color f_console f_conversion f_directory f_environment f_file f_fss f_path f_pipe f_print f_serialized f_socket fl_color fl_console fl_directory fl_fss fl_print fl_serialized fl_socket fl_status fl_string fl_utf fl_utf_file fll_directory fll_execute fll_file fll_fss fll_program fll_status ; do
cd package/individual/$i-$2/ &&
./bootstrap.sh clean &&
fi
# the following in an example on building the Featureless Make project (fake) from the project bootstrapped from above.
+if [[ $1 == "fake-individual" || $1 == "fake-level" || $1 == "fake-monolithic" ]] ; then
+ if [[ $1 == "fake-individual" ]] ; then
+ build_mode="individual"
+ elif [[ $1 == "fake-level" ]] ; then
+ build_mode="level"
+ elif [[ $1 == "fake-monolithic" ]] ; then
+ build_mode="monolithic"
+ fi
-#bash build/scripts/package.sh build -p &&
+ bash build/scripts/package.sh build -p &&
-#cd package/programs/fake-$2/ &&
+ cd package/program/fake-$2/ &&
-#./bootstrap.sh clean &&
+ ./bootstrap.sh clean &&
-#./bootstrap.sh build -w $install_path -m $1 &&
+ ./bootstrap.sh build -w $install_path -m $build_mode &&
-#./install.sh -w $install_path
+ ./install.sh -w $install_path
+fi
# regardless of what happens always return to the starting directory.
cd $original_path
#endif // _di_fl_color_save_
#ifndef _di_fl_color_print_
- f_return_status fl_color_print(FILE *file, const f_string_static start_color, const f_string_static end_color, const int8_t *string, ...) {
+ f_return_status fl_color_print(FILE *file, const f_string_static start_color, const f_string_static end_color, const f_string string, ...) {
#ifndef _di_level_1_parameter_checking_
if (file == 0) return F_status_set_error(F_parameter);
if (string == 0) return F_status_set_error(F_parameter);
if (start_color.used != 0) {
f_status status = f_print_string_dynamic(file, start_color);
-
if (F_status_is_error(status)) return status;
}
#endif // _di_fl_color_print_
#ifndef _di_fl_color_print2_
- f_return_status fl_color_print2(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const int8_t *string, ...) {
+ f_return_status fl_color_print2(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const f_string string, ...) {
#ifndef _di_level_1_parameter_checking_
if (file == 0) return F_status_set_error(F_parameter);
if (string == 0) return F_status_set_error(F_parameter);
if (start_color.used != 0) {
f_status status = f_print_string_dynamic(file, start_color);
-
if (F_status_is_error(status)) return status;
status = f_print_string_dynamic(file, extra_color);
-
if (F_status_is_error(status)) return status;
}
if (end_color.used != 0) {
f_status status = f_print_string_dynamic(file, end_color);
-
if (F_status_is_error(status)) return status;
}
#endif // _di_fl_color_print2_
#ifndef _di_fl_color_print_line_
- f_return_status fl_color_print_line(FILE *file, const f_string_static start_color, const f_string_static end_color, const int8_t *string, ...) {
+ f_return_status fl_color_print_line(FILE *file, const f_string_static start_color, const f_string_static end_color, const f_string string, ...) {
#ifndef _di_level_1_parameter_checking_
if (file == 0) return F_status_set_error(F_parameter);
if (string == 0) return F_status_set_error(F_parameter);
if (start_color.used != 0) {
f_status status = f_print_string_dynamic(file, start_color);
-
if (F_status_is_error(status)) return status;
}
if (end_color.used != 0) {
f_status status = f_print_string_dynamic(file, end_color);
-
if (F_status_is_error(status)) return status;
}
#endif // _di_fl_color_print_line_
#ifndef _di_fl_color_print2_line_
- f_return_status fl_color_print2_line(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const int8_t *string, ...) {
+ f_return_status fl_color_print2_line(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const f_string string, ...) {
#ifndef _di_level_1_parameter_checking_
if (file == 0) return F_status_set_error(F_parameter);
if (string == 0) return F_status_set_error(F_parameter);
if (start_color.used != 0) {
f_status status = f_print_string_dynamic(file, start_color);
-
if (F_status_is_error(status)) return status;
status = f_print_string_dynamic(file, extra_color);
-
if (F_status_is_error(status)) return status;
}
if (end_color.used != 0) {
f_status status = f_print_string_dynamic(file, end_color);
-
if (F_status_is_error(status)) return status;
}
f_return_status fl_color_print_code(FILE *file, const f_string_static color) {
if (color.used != 0) {
f_status status = f_print_string_dynamic(file, color);
-
if (F_status_is_error(status)) return status;
}
*
* @return
* F_none on success.
- * F_output (with error bit) on output error.
* F_parameter (with error bit) if a parameter is invalid.
+ *
+ * Errors from (with error bit): f_print_string_dynamic().
*/
#ifndef _di_fl_color_print_
- extern f_return_status fl_color_print(FILE *file, const f_string_static start_color, const f_string_static end_color, const int8_t *string, ...);
+ extern f_return_status fl_color_print(FILE *file, const f_string_static start_color, const f_string_static end_color, const f_string string, ...);
#endif // _di_fl_color_print_
/**
*
* @return
* F_none on success.
- * F_output (with error bit) on output error.
* F_parameter (with error bit) if a parameter is invalid.
+ *
+ * Errors from (with error bit): f_print_string_dynamic().
*/
#ifndef _di_fl_color_print2_
- extern f_return_status fl_color_print2(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const int8_t *string, ...);
+ extern f_return_status fl_color_print2(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const f_string string, ...);
#endif // _di_fl_color_print2_
/**
*
* @return
* F_none on success.
- * F_output (with error bit) on output error.
* F_parameter (with error bit) if a parameter is invalid.
+ *
+ * Errors from (with error bit): f_print_string_dynamic().
*/
#ifndef _di_fl_color_print_line_
- extern f_return_status fl_color_print_line(FILE *file, const f_string_static start_color, const f_string_static end_color, const int8_t *string, ...);
+ extern f_return_status fl_color_print_line(FILE *file, const f_string_static start_color, const f_string_static end_color, const f_string string, ...);
#endif // _di_fl_color_print_line_
/**
*
* @return
* F_none on success.
- * F_output (with error bit) on output error.
* F_parameter (with error bit) if a parameter is invalid.
+ *
+ * Errors from (with error bit): f_print_string_dynamic().
*/
#ifndef _di_fl_color_print2_line_
- extern f_return_status fl_color_print2_line(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const int8_t *string, ...);
+ extern f_return_status fl_color_print2_line(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const f_string string, ...);
#endif // _di_fl_color_print2_line_
/**
*
* @return
* F_none on success.
- * F_output (with error bit) on output error.
* F_parameter (with error bit) if a parameter is invalid.
+ *
+ * Errors from (with error bit): f_print_string_dynamic().
*/
#ifndef _di_fl_color_print_code_
extern f_return_status fl_color_print_code(FILE *file, const f_string_static color);
#ifndef _fl_console_parameter_to_string_dynamic_directory_
f_return_status fl_console_parameter_to_string_dynamic_directory(const f_string argument, f_string_dynamic *directory) {
+ #ifndef _di_level_0_parameter_checking_
+ if (argument == 0) return F_status_set_error(F_parameter);
+ #endif // _di_level_0_parameter_checking_f
+
f_status status = F_none;
f_string_length length = strlen(argument);
* @return
* F_none on success.
* F_memory_allocation (with error bit) on allocation error.
+ * F_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _fl_console_parameter_to_string_dynamic_directory_
extern f_return_status fl_console_parameter_to_string_dynamic_directory(const f_string argument, f_string_dynamic *directory);
* @return
* F_none on success.
* F_data_not if string starts wth a null (length is 0).
- * F_number (with error bit) if parameter is not a number.
- * F_number_overflow (with error bit) on integer overflow.
- * F_number_underflow (with error bit) on integer underflow.
- * F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
* F_parameter (with error bit) if a parameter is invalid.
*
+ * Errors from (with error bit): f_conversion_string_to_number_signed().
+ *
* @see f_conversion_string_to_number_signed()
*/
#ifndef _fl_console_parameter_to_number_signed_
* @return
* F_none on success.
* F_data_not if string starts wth a null (length is 0).
- * F_number (with error bit) if parameter is not a number.
- * F_number_negative (with error bit) on negative value.
- * F_number_overflow (with error bit) on integer overflow.
- * F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
* F_parameter (with error bit) if a parameter is invalid.
*
+ * Errors from (with error bit): f_conversion_string_to_number_unsigned().
+ *
* @see f_conversion_string_to_number_unsigned()
*/
#ifndef _fl_console_parameter_to_number_unsigned_
#ifndef _di_fl_directory_clone_
f_return_status fl_directory_clone(const f_string source, const f_string destination, const f_string_length source_length, const f_string_length destination_length, const bool role, const f_number_unsigned size_block, const bool exclusive, FILE *verbose, f_directory_statuss *failures) {
+ #ifndef _di_level_1_parameter_checking_
+ if (source) return F_status_set_error(F_parameter);
+ if (destination) return F_status_set_error(F_parameter);
+ #endif // _di_level_1_parameter_checking_
+
f_status status = f_directory_exists(source);
if (F_status_is_error(status)) return status;
#ifndef _di_fl_directory_clone_content_
f_return_status fl_directory_clone_content(const f_string source, const f_string destination, const f_string_length source_length, const f_string_length destination_length, const bool role, const f_number_unsigned size_block, const bool exclusive, FILE *verbose, f_directory_statuss *failures) {
+ #ifndef _di_level_1_parameter_checking_
+ if (source) return F_status_set_error(F_parameter);
+ if (destination) return F_status_set_error(F_parameter);
+ #endif // _di_level_1_parameter_checking_
+
f_status status = f_directory_exists(source);
if (F_status_is_error(status)) return status;
#ifndef _di_fl_directory_copy_
f_return_status fl_directory_copy(const f_string source, const f_string destination, const f_string_length source_length, const f_string_length destination_length, const f_mode mode, const f_number_unsigned size_block, const bool exclusive, FILE *verbose, f_directory_statuss *failures) {
+ #ifndef _di_level_1_parameter_checking_
+ if (source) return F_status_set_error(F_parameter);
+ if (destination) return F_status_set_error(F_parameter);
+ #endif // _di_level_1_parameter_checking_
+
f_status status = f_directory_exists(source);
if (F_status_is_error(status)) return status;
#ifndef _di_fl_directory_copy_content_
f_return_status fl_directory_copy_content(const f_string source, const f_string destination, const f_string_length source_length, const f_string_length destination_length, const f_mode mode, const f_number_unsigned size_block, const bool exclusive, FILE *verbose, f_directory_statuss *failures) {
+ #ifndef _di_level_1_parameter_checking_
+ if (source) return F_status_set_error(F_parameter);
+ if (destination) return F_status_set_error(F_parameter);
+ #endif // _di_level_1_parameter_checking_
+
f_status status = f_directory_exists(source);
if (F_status_is_error(status)) return status;
#ifndef _di_fl_directory_list_
f_return_status fl_directory_list(const f_string path, int (*filter)(const struct dirent *), int (*sort)(const struct dirent **, const struct dirent **), const bool dereference, f_directory_listing *listing) {
- #ifndef _di_level_2_parameter_checking_
+ #ifndef _di_level_1_parameter_checking_
+ if (path) return F_status_set_error(F_parameter);
if (listing == 0) return F_status_set_error(F_parameter);
- #endif // _di_level_2_parameter_checking_
+ #endif // _di_level_1_parameter_checking_
return private_fl_directory_list(path, filter, sort, dereference, listing);
}
return F_data_not;
}
- bool null_terminated = path->string[path->used] == 0;
+ const bool null_terminated = path->string[path->used] == 0;
bool first_nulless = F_false;
f_string_length i = path->used - 1;
#ifndef _di_fl_directory_path_push_
f_return_status fl_directory_path_push(const f_string source, f_string_length length, f_string_dynamic *destination) {
#ifndef _di_level_0_parameter_checking_
+ if (source) return F_status_set_error(F_parameter);
if (destination->used > destination->size) return F_status_set_error(F_parameter);
#endif // _di_level_0_parameter_checking_
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
+ *
+ * Errors from (with error bit): f_directory_create().
+ * Errors from (with error bit): f_directory_exists().
+ * Errors from (with error bit): f_file_change_mode().
+ * Errors from (with error bit): f_file_change_owner().
+ * Errors from (with error bit): f_file_stat().
*
* @see f_file_clone()
*/
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
+ *
+ * Errors from (with error bit): f_directory_exists().
*
* @see f_file_clone()
*/
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
+ *
+ * Errors from (with error bit): f_directory_create().
+ * Errors from (with error bit): f_directory_exists().
+ * Errors from (with error bit): f_file_change_mode().
+ * Errors from (with error bit): f_file_change_owner().
+ * Errors from (with error bit): f_file_stat().
*
* @see f_file_copy()
*/
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
+ *
+ * Errors from (with error bit): f_directory_exists().
*
* @see f_file_copy()
*/
*
* @return
* F_none on success.
- * F_data_not if directory is empty (@fixme: unlikely due to '.' and '..' probably always being returned.).
- * F_failure (with error bit) if failed to read directory information.
- * F_parameter (with error bit) if a parameter is invalid.
- * F_memory_reallocation (with error bit) on memory reallocation error.
- * F_directory_open (with error bit) on directory open error.
+ * F_data_not if directory is empty.
* F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
* F_directory_stream (with error bit) on directory stream error.
* F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_failure (with error bit) if failed to read directory information.
* F_file_descriptor_max (with error bit) if max file descriptors was reached.
* F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
+ * F_parameter (with error bit) if a parameter is invalid.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
*
* @see alphasort()
* @see opendir()
* F_none on success.
* F_data_not if path.used is 0.
* F_parameter (with error bit) if a parameter is invalid.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
*/
#ifndef _di_fl_directory_path_pop_
extern f_return_status fl_directory_path_pop(f_string_static *path);
* F_none on success.
* F_data_not if length is 0.
* F_parameter (with error bit) if a parameter is invalid.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ *
+ * Errors from (with error bit): f_utf_is_control().
*/
#ifndef _di_fl_directory_path_push_
extern f_return_status fl_directory_path_push(const f_string source, f_string_length length, f_string_dynamic *destination);
* F_none on success.
* F_data_not if source.used is 0.
* F_parameter (with error bit) if a parameter is invalid.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ *
+ * Errors from (with error bit): f_utf_is_control().
*/
#ifndef _di_fl_directory_path_push_dynamic_
extern f_return_status fl_directory_path_push_dynamic(const f_string_static source, f_string_dynamic *destination);
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
*
* @see fl_directory_clone()
*/
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
*
* @see fl_directory_clone()
*/
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
*
* @see fl_directory_copy()
*/
*
* @return
* F_none on success.
+ * F_data_not if directory is empty.
+ * F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
+ * F_directory_stream (with error bit) on directory stream error.
+ * F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ * F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
* F_parameter (with error bit) if a parameter is invalid.
- * F_access_denied (with error bit) on access denied.
- * F_loop (with error bit) on loop error.
- * F_file_found (with error bit) if a file was found while exclusive is TRUE.
- * F_memory_out (with error bit) if out of memory.
- * F_memory_allocation (with error bit) on memory allocation error.
- * F_memory_reallocation (with error bit) on memory re-allocation error.
- * F_prohibited (with error bit) if filesystem does not allow for removing.
- * F_read_only (with error bit) if file is read-only.
- * F_failure (with error bit) for any other (mkdir()) error.
- * F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- * F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- * F_file_found (with error bit) of a directory aleady exists at the path.
- * F_name (with error bit) on path name error.
- * F_directory (with error bit) if a supposed directory in path is not actually a directory.
- * F_number_overflow (with error bit) on overflow error.
- * F_interrupted (with error bit) when program received an interrupt signal, halting operation.
- * F_file_open_max (with error bit) when system-wide max open files is reached.
- * F_busy (with error bit) if filesystem is too busy to perforrm write.
- * F_file_read (with error bit) on file read error.
- * F_file_write (with error bit) on file write error.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ * F_failure (with error bit) for any other failure, failures might be populated with individual status codes.
*
* @see fl_directory_copy()
*/
*
* @return
* F_none on success.
- * F_data_not if directory is empty (@fixme: unlikely due to '.' and '..' probably always being returned.).
- * F_failure (with error bit) if failed to read directory information.
- * F_parameter (with error bit) if a parameter is invalid.
- * F_memory_reallocation (with error bit) on memory reallocation error.
- * F_directory_open (with error bit) on directory open error.
+ * F_data_not if directory is empty.
* F_directory_descriptor (with error bit) on directory file descriptor error.
+ * F_directory_open (with error bit) on directory open error.
* F_directory_stream (with error bit) on directory stream error.
* F_directory_unsupported (with error bit) on directory file descriptor not supported.
+ * F_failure (with error bit) if failed to read directory information.
* F_file_descriptor_max (with error bit) if max file descriptors was reached.
* F_file_open_max (with error bit) too many open files.
+ * F_memory_reallocation (with error bit) on memory reallocation error.
+ * F_parameter (with error bit) if a parameter is invalid.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
*
* @see fl_directory_list()
*/
* F_none on success.
* F_data_not if length is 0.
* F_parameter (with error bit) if a parameter is invalid.
+ * F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
+ *
+ * Errors from (with error bit): f_utf_is_control().
*
* @see fl_directory_path_push()
* @see fl_directory_path_push_dynamic()
+++ /dev/null
-#include <level_1/file.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
+++ /dev/null
-/**
- * FLL - Level 1
- *
- * Project: File
- * API Version: 0.5
- * Licenses: lgplv2.1
- *
- * File Operations.
- */
-#ifndef _FL_file_h
-#define _FL_file_h
-
-// fll-0 includes
-#include <level_0/file.h>
-#include <level_0/string.h>
-#include <level_0/type.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _FL_file_h
+++ /dev/null
-# fss-0000
-
+++ /dev/null
-f_type
-f_status
-f_memory
-f_string
-f_file
+++ /dev/null
-# fss-0001
-
-project_name fl_file
-
-version_major 0
-version_minor 5
-version_micro 0
-version_target major
-
-environment
-
-process_pre
-process_post
-
-modes individual
-modes_default individual
-
-build_compiler gcc
-build_language c
-build_linker ar
-build_libraries -lc
-build_libraries-individual -lf_file -lf_memory
-build_sources_library file.c
-build_sources_program
-build_sources_headers file.h
-build_sources_bash
-build_sources_settings
-build_sources_script
-build_sources_setting
-build_script yes
-build_shared yes
-build_static yes
-
-path_headers level_1
-path_library_script script
-path_library_shared shared
-path_library_static static
-path_program_script script
-path_program_shared shared
-path_program_static static
-
-search_exclusive yes
-search_shared yes
-search_static yes
-
-defines_all
-defines_static
-defines_shared
-
-flags_all -z now -g
-flags_shared
-flags_static
-flags_library -fPIC
-flags_program -fPIE
* Errors from (with error bit): f_conversion_string_to_hexidecimal_unsigned().
* Errors from (with error bit): f_file_read_until().
* Errors from (with error bit): fl_fss_identify()
- * File errors (with error bit): f_file_seek().
+ * Errors from (with error bit): f_file_seek().
*
* @see f_file_read_until()
* @see fl_fss_identify()
f_utf
fl_color
fl_console
-fl_file
fl_string
fl_utf
fll_program
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfl_utf -lfl_string -lfl_file -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_conversion -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfl_utf -lfl_string -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_conversion -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library byte_dump.c private-byte_dump.c
#include <level_1/color.h>
#include <level_1/console.h>
#include <level_1/directory.h>
-#include <level_1/file.h>
#include <level_1/string.h>
// fll-2 includes
fl_color
fl_console
fl_directory
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_execute -lfll_fss -lfl_utf -lfl_string -lfl_status -lfl_fss -lfl_file -lfl_directory -lfl_console -lfl_color -lf_print -lf_path -lf_file -lf_environment -lf_directory -lf_conversion -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_execute -lfll_fss -lfl_utf -lfl_string -lfl_status -lfl_fss -lfl_directory -lfl_console -lfl_color -lf_print -lf_path -lf_file -lf_environment -lf_directory -lf_conversion -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fake.c private-fake.c private-clean.c private-build.c private-make.c private-print.c private-skeleton.c
// fll-1 includes
#include <level_1/color.h>
#include <level_1/console.h>
-#include <level_1/file.h>
#include <level_1/string.h>
// fll-2 includes
f_console
f_directory
f_environment
+f_file
f_fss
f_path
f_pipe
f_utf
fl_color
fl_console
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_execute -lfl_string -lfl_status -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_path -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_execute -lfl_string -lfl_status -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_path -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library firewall.c private-firewall.c
status = f_file_read(file, &data->buffer);
if (F_status_is_error(status)) {
- fss_basic_list_read_print_file_error(data->context, "fl_file_read", "-", F_status_set_fine(status));
+ fss_basic_list_read_print_file_error(data->context, "f_file_read", "-", F_status_set_fine(status));
macro_fss_basic_list_read_depths_delete_simple(depths);
fss_basic_list_read_delete_data(data);
// fll-1 includes
#include <level_1/color.h>
#include <level_1/console.h>
-#include <level_1/file.h>
#include <level_1/print.h>
#include <level_1/string.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
fl_console
-fl_file
fl_fss
fl_print
fl_status
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_basic_list_read.c private-fss_basic_list_read.c
status = F_status_set_fine(status);
if (status == F_parameter) {
- fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: Invalid parameter when calling fl_file_write()");
+ fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: Invalid parameter when calling f_file_write()");
}
else if (status == F_file_write) {
fl_color_print_line(f_type_error, data->context.error, data->context.reset, "ERROR: Unable to write to the file '%s'", arguments.argv[data->parameters[fss_basic_list_write_parameter_file].additional.array[0]]);
}
else {
- fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occurred while calling fl_file_write()", status);
+ fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occurred while calling f_file_write()", status);
}
fss_basic_list_write_delete_data(data);
// fll-0 includes
#include <level_0/console.h>
+#include <level_0/file.h>
#include <level_0/pipe.h>
#include <level_0/print.h>
#include <level_0/string.h>
#include <level_1/color.h>
#include <level_1/console.h>
#include <level_1/status.h>
-#include <level_1/file.h>
#include <level_1/fss_basic_list.h>
#include <level_1/string.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
fl_console
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_basic_list_write.c
status = f_file_read(file, &data->buffer);
if (F_status_is_error(status)) {
- fss_basic_read_print_file_error(data->context, "fl_file_read", "-", F_status_set_fine(status));
+ fss_basic_read_print_file_error(data->context, "f_file_read", "-", F_status_set_fine(status));
macro_fss_basic_read_depths_delete_simple(depths);
fss_basic_read_delete_data(data);
// fll-1 includes
#include <level_1/color.h>
#include <level_1/console.h>
-#include <level_1/file.h>
#include <level_1/print.h>
#include <level_1/string.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
fl_console
-fl_file
fl_fss
fl_print
fl_status
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_basic_read.c private-fss_basic_read.c
status = F_status_set_fine(status);
if (status == F_parameter) {
- fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: Invalid parameter when calling fl_file_write()");
+ fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: Invalid parameter when calling f_file_write()");
}
else if (status == F_file_write) {
fl_color_print_line(f_type_error, data->context.error, data->context.reset, "ERROR: Unable to write to the file '%s'", arguments.argv[data->parameters[fss_basic_write_parameter_file].additional.array[0]]);
}
else {
- fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occurred while calling fl_file_write()", status);
+ fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occurred while calling f_file_write()", status);
}
fss_basic_write_delete_data(data);
// fll-0 includes
#include <level_0/console.h>
+#include <level_0/file.h>
#include <level_0/pipe.h>
#include <level_0/print.h>
#include <level_0/string.h>
#include <level_1/color.h>
#include <level_1/console.h>
#include <level_1/status.h>
-#include <level_1/file.h>
#include <level_1/string.h>
// fll-2 includes
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
fl_console
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_basic_write.c
status = f_file_read(file, &data->buffer);
if (F_status_is_error(status)) {
- fss_extended_list_read_print_file_error(data->context, "fl_file_read", "-", F_status_set_fine(status));
+ fss_extended_list_read_print_file_error(data->context, "f_file_read", "-", F_status_set_fine(status));
macro_fss_extended_list_read_depths_delete_simple(depths);
fss_extended_list_read_delete_data(data);
// fll-1 includes
#include <level_1/color.h>
#include <level_1/console.h>
-#include <level_1/file.h>
#include <level_1/print.h>
#include <level_1/string.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
fl_console
-fl_file
fl_fss
fl_print
fl_status
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_extended_list_read.c private-fss_extended_list_read.c
status = f_file_read(file, &data->buffer);
if (F_status_is_error(status)) {
- fss_extended_read_print_file_error(data->context, "fl_file_read", "-", F_status_set_fine(status));
+ fss_extended_read_print_file_error(data->context, "f_file_read", "-", F_status_set_fine(status));
macro_fss_extended_read_depths_delete_simple(depths);
fss_extended_read_delete_data(data);
// fll-1 includes
#include <level_1/color.h>
#include <level_1/console.h>
-#include <level_1/file.h>
#include <level_1/print.h>
#include <level_1/string.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
fl_console
-fl_file
fl_fss
fl_print
fl_status
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_print -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_extended_read.c private-fss_extended_read.c
status = F_status_set_fine(status);
if (status == F_parameter) {
- fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: Invalid parameter when calling fl_file_write()");
+ fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: Invalid parameter when calling f_file_write()");
}
else if (status == F_file_write) {
fl_color_print_line(f_type_error, data->context.error, data->context.reset, "ERROR: Unable to write to the file '%s'", arguments.argv[data->parameters[fss_extended_write_parameter_file].additional.array[0]]);
}
else {
- fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occurred while calling fl_file_write()", status);
+ fl_color_print_line(f_type_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occurred while calling f_file_write()", status);
}
fss_extended_write_delete_data(data);
// fll-0 includes
#include <level_0/console.h>
+#include <level_0/file.h>
#include <level_0/pipe.h>
#include <level_0/print.h>
#include <level_0/string.h>
// fll-1 includes
#include <level_1/color.h>
#include <level_1/status.h>
-#include <level_1/file.h>
#include <level_1/fss_extended.h>
#include <level_1/string.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
fl_color
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lf_conversion -lfl_file -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_extended_write.c
f_utf
fl_color
fl_console
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_status -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_utf -lfl_string -lfl_status -lfl_fss -lfl_file -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_conversion -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_status -lfll_program -lfll_fss -lfll_file -lfll_execute -lf_path -lfl_utf -lfl_string -lfl_status -lfl_fss -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_conversion -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library fss_status_code.c private-fss_status_code.c
// fll-1 includes
#include <level_1/color.h>
#include <level_1/console.h>
-#include <level_1/file.h>
#include <level_1/fss.h>
#include <level_1/fss_basic_list.h>
#include <level_1/fss_extended.h>
f_console
f_directory
f_environment
+f_file
f_fss
f_pipe
f_print
f_utf
fl_color
fl_console
-fl_file
fl_fss
fl_status
fl_string
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_program -lfll_fss -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lfl_file -lfl_console -lf_conversion -lfl_color -lf_file -lf_print -lf_pipe -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_program -lfll_fss -lfll_execute -lf_path -lfl_string -lfl_status -lfl_fss -lfl_console -lf_conversion -lfl_color -lf_print -lf_pipe -lf_file -lf_environment -lf_directory -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library init.c private-init.c
f_utf
fl_color
fl_console
-fl_file
fl_status
fl_string
fl_utf
build_language c
build_linker ar
build_libraries -lc
-build_libraries-individual -lfll_status -lfll_program -lfl_utf -lfl_string -lfl_status -lfl_file -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_conversion -lf_console -lf_utf -lf_memory
+build_libraries-individual -lfll_status -lfll_program -lfl_utf -lfl_string -lfl_status -lfl_console -lfl_color -lf_print -lf_pipe -lf_file -lf_conversion -lf_console -lf_utf -lf_memory
build_libraries-level -lfll_2 -lfll_1 -lfll_0
build_libraries-monolithic -lfll
build_sources_library status_code.c private-status_code.c