]> Kevux Git Server - fll/commitdiff
Progress: Continue program related work.
authorKevin Day <thekevinday@gmail.com>
Thu, 17 Nov 2022 02:27:57 +0000 (20:27 -0600)
committerKevin Day <thekevinday@gmail.com>
Thu, 17 Nov 2022 03:23:09 +0000 (21:23 -0600)
Add additional prunt functions.

Fix out of date parameter names.

Make content_prepend function parameter a constant pointer to a constant string.
Should this instead be a constant pointer to a string?

level_1/fl_fss/c/fss/basic_list.c
level_1/fl_fss/c/fss/basic_list.h
level_2/fll_fss/c/fss/payload.c
level_2/fll_fss/c/fss/payload.h
level_2/fll_program/c/program/print.c
level_2/fll_program/c/program/print.h

index ff31dd35281bbf9ffeaff3b8d13b1c815d39ce40..d000c87ef8959f882c4fc8cd3244b65af42b9d32 100644 (file)
@@ -290,7 +290,7 @@ extern "C" {
 #endif // _di_fl_fss_basic_list_content_read_
 
 #ifndef _di_fl_fss_basic_list_content_write_
-  f_status_t fl_fss_basic_list_content_write(const f_string_static_t content, const uint8_t complete, const f_string_static_t *prepend, f_state_t state, f_string_range_t *range, f_string_dynamic_t *destination) {
+  f_status_t fl_fss_basic_list_content_write(const f_string_static_t content, const uint8_t complete, const f_string_static_t * const prepend, f_state_t state, f_string_range_t *range, f_string_dynamic_t *destination) {
     #ifndef _di_level_1_parameter_checking_
       if (!range) return F_status_set_error(F_parameter);
       if (!destination) return F_status_set_error(F_parameter);
index c5994f2cedb65147be6531577125df20d674123d..2b9854171fea75eb881359a049c7535f2c4d5db1 100644 (file)
@@ -155,7 +155,7 @@ extern "C" {
  * @see f_utf_buffer_increment()
  */
 #ifndef _di_fl_fss_basic_list_content_write_
-  extern f_status_t fl_fss_basic_list_content_write(const f_string_static_t content, const uint8_t complete, const f_string_static_t *prepend, f_state_t state, f_string_range_t * const range, f_string_dynamic_t * const destination);
+  extern f_status_t fl_fss_basic_list_content_write(const f_string_static_t content, const uint8_t complete, const f_string_static_t * const prepend, f_state_t state, f_string_range_t * const range, f_string_dynamic_t * const destination);
 #endif // _di_fl_fss_basic_list_content_write_
 
 /**
index 868bfc7c4eae9de74b11279767a19d9c6e31aa90..710fa068b6bd89586eaf70052edfd6c500747aff 100644 (file)
@@ -181,7 +181,7 @@ extern "C" {
 #endif // _di_fll_fss_payload_read_
 
 #ifndef _di_fll_fss_payload_write_
-  f_status_t fll_fss_payload_write(const f_string_static_t object, const f_string_static_t content, const bool trim, const f_string_static_t *content_prepend, f_state_t state, f_string_dynamic_t * const destination) {
+  f_status_t fll_fss_payload_write(const f_string_static_t object, const f_string_static_t content, const bool trim, const f_string_static_t * const content_prepend, f_state_t state, f_string_dynamic_t * const destination) {
     #ifndef _di_level_2_parameter_checking_
       if (!destination) return F_status_set_error(F_parameter);
     #endif // _di_level_2_parameter_checking_
index 62d0bed46cab29d043d7590daf75c2869b31f611..4c9f7eba057690095f1aa9f1a602222f47ae2582 100644 (file)
@@ -150,7 +150,7 @@ extern "C" {
  * @see fl_fss_basic_list_object_write()
  */
 #ifndef _di_fll_fss_payload_write_
-  extern f_status_t fll_fss_payload_write(const f_string_static_t object, const f_string_static_t content, const bool trim, const f_string_static_t *content_prepend, f_state_t state, f_string_dynamic_t * const destination);
+  extern f_status_t fll_fss_payload_write(const f_string_static_t object, const f_string_static_t content, const bool trim, const f_string_static_t * const content_prepend, f_state_t state, f_string_dynamic_t * const destination);
 #endif // _di_fll_fss_payload_write_
 
 #ifdef __cplusplus
index c7e6075f5e7dac962eb36f01479bc115e9ab739b..e15a805572e784292fd0df9ad18c4cdacff46415 100644 (file)
@@ -40,16 +40,16 @@ extern "C" {
 #endif // _di_fll_program_print_error_missing_variable_not_zero_
 
 #ifndef _di_fll_program_print_error_parameter_both_specified_same_amount_
-  f_status_t fll_program_print_error_parameter_both_specified_same_amount(const fl_print_t print, const f_string_static_t symbol, const f_string_static_t first, const f_string_static_t second) {
+  f_status_t fll_program_print_error_parameter_both_specified_same_amount(const fl_print_t print, const f_string_static_t symbol_first, const f_string_static_t symbol_second, const f_string_static_t first, const f_string_static_t second) {
 
     if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not;
 
     f_file_stream_lock(print.to);
 
     fl_print_format("%[%QThe '%]", print.to, print.set->error, print.prefix, print.set->error);
-    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol, first, print.set->notable);
+    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_first, first, print.set->notable);
     fl_print_format("%[' parameter and the '%]", print.to, print.set->error, print.set->error);
-    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol, second, print.set->notable);
+    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_second, second, print.set->notable);
     fl_print_format("%[' parameter must be specified the same number of times.%]%r", print.to, print.set->error, print.set->error, f_string_eol_s);
 
     f_file_stream_unlock(print.to);
@@ -58,6 +58,27 @@ extern "C" {
   }
 #endif // _di_fll_program_print_error_parameter_both_specified_same_amount_
 
+#ifndef _di_fll_program_print_error_parameter_both_specified_same_amount_without_
+  f_status_t fll_program_print_error_parameter_both_specified_same_amount_without(const fl_print_t print, const f_string_static_t symbol_first, const f_string_static_t symbol_second, const f_string_static_t symbol_third, const f_string_static_t first, const f_string_static_t second, const f_string_static_t third) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not;
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%[%QThe '%]", print.to, print.set->error, print.prefix, print.set->error);
+    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_first, first, print.set->notable);
+    fl_print_format("%[' parameter and the '%]", print.to, print.set->error, print.set->error);
+    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_second, second, print.set->notable);
+    fl_print_format("%[' parameter must be specified the same number of times when not specifying the '%]", print.to, print.set->error, print.set->error);
+    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_third, third, print.set->notable);
+    fl_print_format("%[' parameter.%]%r", print.to, print.set->error, print.set->error, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+    return F_none;
+  }
+#endif // _di_fll_program_print_error_parameter_both_specified_same_amount_without_
+
 #ifndef _di_fll_program_print_error_parameter_cannot_use_with_
   f_status_t fll_program_print_error_parameter_cannot_use_with(const fl_print_t print, const f_string_static_t symbol_first, const f_string_static_t symbol_second, const f_string_static_t first, const f_string_static_t second) {
 
@@ -101,7 +122,7 @@ extern "C" {
 
     f_file_stream_lock(print.to);
 
-    fl_print_format("%r%[%QThe '%]", print.to, f_string_eol_s, print.set->error, print.prefix, print.set->error);
+    fl_print_format("%[%QThe '%]", print.to, print.set->error, print.prefix, print.set->error);
     fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_first, first, print.set->notable);
     fl_print_format("%[' parameter only allows either the '%]", print.to, print.set->error, print.set->error);
     fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol_second, second, print.set->notable);
@@ -244,6 +265,27 @@ extern "C" {
   }
 #endif // _di_fll_program_print_error_parameter_must_specify_once_value_
 
+#ifndef _di_fll_program_print_error_parameter_range_start_before_stop_
+  f_status_t fll_program_print_error_parameter_range_start_before_stop(const fl_print_t print, const f_string_static_t symbol, const f_string_static_t parameter, const f_string_static_t value_start, const f_string_static_t value_stop) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e) return F_output_not;
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%[%QThe start range value '%]", print.to, print.set->error, print.prefix, print.set->error);
+    fl_print_format("%[%Q%]", print.to, print.set->notable, value_start, print.set->notable);
+    fl_print_format("%[' may not be greater than the stop value '%]", print.to, print.set->error, print.set->error);
+    fl_print_format("%[%Q%]", print.to, print.set->notable, value_stop, print.set->notable);
+    fl_print_format("%[' for the parameter '%]", print.to, print.set->error, print.set->error);
+    fl_print_format("%[%Q%Q%]", print.to, print.set->notable, symbol, parameter, print.set->notable);
+    fl_print_format("%['.%]%r", print.to, print.set->error, print.set->error, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+    return F_none;
+  }
+#endif // _di_fll_program_print_error_parameter_range_start_before_stop_
+
 #ifndef _di_fll_program_print_error_pipe_invalid_form_feed_
   f_status_t fll_program_print_error_pipe_invalid_form_feed(const fl_print_t print) {
 
index 77342351128373aad1e0244eb77e48bb06e770d3..a653f963e92e9ef254e377bffcf4a46504172fcd 100644 (file)
@@ -75,8 +75,11 @@ extern "C" {
  * @param print
  *   The output structure.
  *   This locks, uses, and unlocks the file stream.
- * @param symbol
- *   The symbol string prepended to both parameters.
+ * @param symbol_first
+ *   The symbol string prepended to the first parameter.
+ *   This is usually f_console_symbol_long_enable_s.
+ * @param symbol_second
+ *   The symbol string prepended to the second parameter.
  *   This is usually f_console_symbol_long_enable_s.
  * @param first
  *   The first parameter name.
@@ -88,10 +91,48 @@ extern "C" {
  *   F_output_not on success, but no printing is performed.
  */
 #ifndef _di_fll_program_print_error_parameter_both_specified_same_amount_
-  extern f_status_t fll_program_print_error_parameter_both_specified_same_amount(const fl_print_t print, const f_string_static_t symbol, const f_string_static_t first, const f_string_static_t second);
+  extern f_status_t fll_program_print_error_parameter_both_specified_same_amount(const fl_print_t print, const f_string_static_t symbol_first, const f_string_static_t symbol_second, const f_string_static_t first, const f_string_static_t second);
 #endif // _di_fll_program_print_error_parameter_both_specified_same_amount_
 
 /**
+ * Print an error message about two parameters being required to be specified the same number of times when not specifying the third parameter.
+ *
+ * This is only printed when verbosity is not set to quiet.
+ *
+ * This uses the following:
+ *   - print.set->error: For the error context.
+ *   - print.set->strong: For the highlighting context
+ *   - print.prefix: For the prefixing a string to the message (such as "ERROR:").
+ *
+ * @param print
+ *   The output structure.
+ *   This locks, uses, and unlocks the file stream.
+ * @param symbol_first
+ *   The symbol string prepended to the first parameter.
+ *   This is usually f_console_symbol_long_enable_s.
+ * @param symbol_second
+ *   The symbol string prepended to the second parameter.
+ *   This is usually f_console_symbol_long_enable_s.
+ * @param symbol_third
+ *   The symbol string prepended to the third parameter.
+ *   This is usually f_console_symbol_long_enable_s.
+ * @param first
+ *   The first parameter name.
+ * @param second
+ *   The second parameter name.
+ * @param third
+ *   The third parameter name, representing the "without" parameter.
+ *   The first and second parameter must be specified the same amount of times without this parameter.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fll_program_print_error_parameter_both_specified_same_amount_without_
+  extern f_status_t fll_program_print_error_parameter_both_specified_same_amount_without(const fl_print_t print, const f_string_static_t symbol_first, const f_string_static_t symbol_second, const f_string_static_t symbol_third, const f_string_static_t first, const f_string_static_t second, const f_string_static_t third);
+#endif // _di_fll_program_print_error_parameter_both_specified_same_amount_without_
+
+/**
  * Print message about two parameters not being allowed to be used together.
  *
  * This is only printed when verbosity is not set to quiet.
@@ -400,6 +441,38 @@ extern "C" {
 #endif // _di_fll_program_print_error_parameter_must_specify_once_value_
 
 /**
+ * Print message about a specific value only being allowed to be used once for the parameter.
+ *
+ * This is only printed when verbosity is not set to quiet.
+ *
+ * This uses the following:
+ *   - print.set->error: For the error context.
+ *   - print.set->strong: For the highlighting context
+ *   - print.prefix: For the prefixing a string to the message (such as "ERROR:").
+ *
+ * @param print
+ *   The output structure.
+ *   This locks, uses, and unlocks the file stream.
+ * @param symbol
+ *   The symbol string prepended to both parameters.
+ *   This locks, uses, and unlocks the file stream.
+ *   This is usually f_console_symbol_long_enable_s.
+ * @param parameter
+ *   The parameter name.
+ * @param value_start
+ *   The range start value.
+ * @param value_stop
+ *   The range stop value.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fll_program_print_error_parameter_range_start_before_stop_
+  extern f_status_t fll_program_print_error_parameter_range_start_before_stop(const fl_print_t print, const f_string_static_t symbol, const f_string_static_t parameter, const f_string_static_t value_start, const f_string_static_t value_stop);
+#endif // _di_fll_program_print_error_parameter_range_start_before_stop_
+
+/**
  * Print a message about the pipe having an invalid form-feed character '\f' (U+000C).
  *
  * This is only printed when verbosity is not set to quiet.