]> Kevux Git Server - fll/commitdiff
Feature: Add fll_program function for printing unsupported parameter message.
authorKevin Day <Kevin@kevux.org>
Sun, 30 Mar 2025 01:38:52 +0000 (20:38 -0500)
committerKevin Day <Kevin@kevux.org>
Sun, 30 Mar 2025 01:38:52 +0000 (20:38 -0500)
level_2/fll_program/c/program/print.c
level_2/fll_program/c/program/print.h

index 0832ff5f37e5db1909486cc4e35a10f16f75e93a..8cf184cba83c63efbed468f5018562e4ae42173a 100644 (file)
@@ -472,6 +472,26 @@ extern "C" {
   }
 #endif // _di_fll_program_print_error_parameter_range_start_before_stop_
 
+#ifndef _di_fll_program_print_error_parameter_support_not_
+  f_status_t fll_program_print_error_parameter_support_not(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name) {
+    #ifndef _di_level_2_parameter_checking_
+      if (!print) return F_status_set_error(F_parameter);
+    #endif // _di_level_2_parameter_checking_
+
+    if (print->verbosity < f_console_verbosity_error_e) return F_output_not;
+
+    f_file_stream_lock(print->to);
+
+    fl_print_format("%[%QThe parameter '%]", print->to, print->set->error, print->prefix, print->set->error);
+    fl_print_format(f_string_format_QQ_single_s.string, print->to, print->notable, symbol, name, print->notable);
+    fl_print_format("%[' is not supported.%]%r", print->to, print->set->error, print->set->error, f_string_eol_s);
+
+    f_file_stream_unlock(print->to);
+
+    return F_okay;
+  }
+#endif // _di_fll_program_print_error_parameter_support_not_
+
 #ifndef _di_fll_program_print_error_parameter_value_too_long_
   f_status_t fll_program_print_error_parameter_value_too_long(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name) {
     #ifndef _di_level_2_parameter_checking_
index 9d5acf80b9ec5f6aeed15ffec31b383ffbdd758c..90f86bfce357dbf46989c8e5e9feeb67f07c2c13 100644 (file)
@@ -689,6 +689,29 @@ extern "C" {
 #endif // _di_fll_program_print_error_parameter_range_start_before_stop_
 
 /**
+ * Print error message for when the parameter is not supported.
+ *
+ * @param print
+ *   The output structure.
+ *   This locks, uses, and unlocks the file stream.
+ * @param symbol
+ *   The symbol string prepended to the parameter.
+ *   This locks, uses, and unlocks the file stream.
+ *   This is usually f_console_symbol_long_normal_s.
+ * @param name
+ *   The parameter name.
+ *
+ * @return
+ *   F_okay on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ *   F_parameter (with error bit) if a parameter is invalid.
+ */
+#ifndef _di_fll_program_print_error_parameter_support_not_
+  extern f_status_t fll_program_print_error_parameter_support_not(fl_print_t * const print, const f_string_static_t symbol, const f_string_static_t name);
+#endif // _di_fll_program_print_error_parameter_support_not_
+
+/**
  * Print error message for when the parameter value is too long.
  *
  * @param print