]> Kevux Git Server - fll/commitdiff
Update: console improvements and fixes.
authorKevin Day <thekevinday@gmail.com>
Tue, 6 Oct 2020 04:51:51 +0000 (23:51 -0500)
committerKevin Day <thekevinday@gmail.com>
Tue, 6 Oct 2020 04:51:51 +0000 (23:51 -0500)
Get rid of total property.
This is redundant and too short.
Instead, use the location.used, which is an unsigned long as opposed to a uint8_t.

When I changed the result from an f_string_length_t to an f_array_length_t, I missed some places where the type needed to be replaced.

level_0/f_console/c/console-common.h
level_0/f_console/c/console.c
level_2/fll_program/c/program.c
level_2/fll_program/c/program.h
level_3/fake/c/private-fake.c

index f1a1a1395581910a9f981b73c02dce98f51a0caa..c587747f2137090286acb2d88021426242a2ace4 100644 (file)
@@ -215,7 +215,6 @@ extern "C" {
  * - type: One of the f_console_type_* codes, defining how this parameter is to be processed.
  *
  * - result: A code representing that the parameter is found and how it is found ('-h' vs '--help').
- * - total: A number representing the total number of times this parameter is found ('-h -h' would result in a total of 2).
  *
  * - location: The last location in argv[] where this parameter is found.
  * - location_sub: The last sub-location at location in argv (only used by short parameters, such as -h or +l).
@@ -232,19 +231,17 @@ extern "C" {
     const uint8_t has_additional;
     const uint8_t type;
 
-    uint8_t result;
-    uint8_t total; // @todo locations.used could instead be used to represent the total.
-
-    f_array_length_t  location;
+    f_array_length_t result;
+    f_array_length_t location;
     f_string_length_t location_sub;
     f_array_lengths_t locations;
     f_array_lengths_t locations_sub;
     f_array_lengths_t additional;
   } f_console_parameter_t;
 
-  #define f_console_parameter_t_initialize(symbol_short, symbol_long, symbol_other, has_additional, type_value) { symbol_short, symbol_long, symbol_other, has_additional, type_value, f_console_result_none, 0, 0, 0, f_array_lengths_t_initialize, f_array_lengths_t_initialize, f_array_lengths_t_initialize }
+  #define f_console_parameter_t_initialize(symbol_short, symbol_long, symbol_other, has_additional, type_value) { symbol_short, symbol_long, symbol_other, has_additional, type_value, f_console_result_none, 0, 0, f_array_lengths_t_initialize, f_array_lengths_t_initialize, f_array_lengths_t_initialize }
 
-  #define f_macro_console_parameter_t_initialize(symbol_short, symbol_long, symbol_other, has_additional, type_value, result, total, location, location_sub, locations, locations_sub, additional) { symbol_short, symbol_long, symbol_other, has_additional, type_value, result, total, location, location_sub, locations, locations_sub, additional }
+  #define f_macro_console_parameter_t_initialize(symbol_short, symbol_long, symbol_other, has_additional, type_value, result, location, location_sub, locations, locations_sub, additional) { symbol_short, symbol_long, symbol_other, has_additional, type_value, result, total, location, location_sub, locations, locations_sub, additional }
 #endif // _di_f_console_parameter_t_
 
 /**
index f73f307c899cae2bd65083111066fe90f7cf12bd..aeea10f6cde96e68312e8ba12ebcc4661e881634 100644 (file)
@@ -221,7 +221,6 @@ extern "C" {
             parameters.parameter[i].result = f_console_result_found;
             parameters.parameter[i].location = location;
             parameters.parameter[i].location_sub = 0;
-            parameters.parameter[i].total++;
 
             if (result == console_short) {
               parameters.parameter[i].location_sub = sub_location;
@@ -287,7 +286,6 @@ extern "C" {
           parameters.parameter[i].result = f_console_result_found;
           parameters.parameter[i].location = location;
           parameters.parameter[i].location_sub = 0;
-          parameters.parameter[i].total++;
 
           if (parameters.parameter[i].has_additional) {
             if (needs_additional.used + parameters.parameter[i].has_additional > needs_additional.size) {
index 7f1a087725858113467e9ebe2d51d850d39ee656..072d9127c7f78c1292cac680d2a2e83e47e2a374 100644 (file)
@@ -133,7 +133,7 @@ extern "C" {
 #endif // _di_fll_program_parameter_process_
 
 #ifndef _di_fll_program_parameter_additional_append_
-  f_return_status fll_program_parameter_additional_append(const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamics_t *destination) {
+  f_return_status fll_program_parameter_additional_append(const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamics_t *destination) {
     #ifndef _di_level_2_parameter_checking_
       if (!argv) return F_status_set_error(F_parameter);
       if (!destination) return F_status_set_error(F_parameter);
@@ -176,7 +176,7 @@ extern "C" {
 #endif // _di_fll_program_parameter_additional_append_
 
 #ifndef _di_fll_program_parameter_additional_mash_
-  f_return_status fll_program_parameter_additional_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamic_t *destination) {
+  f_return_status fll_program_parameter_additional_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamic_t *destination) {
     #ifndef _di_level_2_parameter_checking_
       if (!argv) return F_status_set_error(F_parameter);
       if (glue_length < 1) return F_status_set_error(F_parameter);
@@ -207,7 +207,7 @@ extern "C" {
 #endif // _di_fll_program_parameter_additional_mash_
 
 #ifndef _di_fll_program_parameter_additional_rip_
-  f_return_status fll_program_parameter_additional_rip(const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamics_t *destination) {
+  f_return_status fll_program_parameter_additional_rip(const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamics_t *destination) {
     #ifndef _di_level_2_parameter_checking_
       if (!argv) return F_status_set_error(F_parameter);
       if (!destination) return F_status_set_error(F_parameter);
@@ -251,7 +251,7 @@ extern "C" {
 #endif // _di_fll_program_parameter_additional_rip_
 
 #ifndef _di_fll_program_parameter_additional_rip_mash_
-  f_return_status fll_program_parameter_additional_rip_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamic_t *destination) {
+  f_return_status fll_program_parameter_additional_rip_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamic_t *destination) {
     #ifndef _di_level_2_parameter_checking_
       if (!argv) return F_status_set_error(F_parameter);
       if (glue_length < 1) return F_status_set_error(F_parameter);
index cc04b2d1a8db1348d5a333b253803b369c35f1b8..2092a703799ed995674059ef19fb4d40a98a4028 100644 (file)
@@ -232,7 +232,7 @@ extern "C" {
  * @see fl_string_append()
  */
 #ifndef _di_fll_program_parameter_additional_append_
-  extern f_return_status fll_program_parameter_additional_append(const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamics_t *destination);
+  extern f_return_status fll_program_parameter_additional_append(const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamics_t *destination);
 #endif // _di_fll_program_parameter_additional_append_
 
 /**
@@ -262,7 +262,7 @@ extern "C" {
  * @see fl_string_mash()
  */
 #ifndef _di_fll_program_parameter_additional_mash_
-  extern f_return_status fll_program_parameter_additional_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamic_t *destination);
+  extern f_return_status fll_program_parameter_additional_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamic_t *destination);
 #endif // _di_fll_program_parameter_additional_mash_
 
 /**
@@ -289,7 +289,7 @@ extern "C" {
  * @see fl_string_rip()
  */
 #ifndef _di_fll_program_parameter_additional_rip_
-  extern f_return_status fll_program_parameter_additional_rip(const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamics_t *destination);
+  extern f_return_status fll_program_parameter_additional_rip(const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamics_t *destination);
 #endif // _di_fll_program_parameter_additional_rip_
 
 /**
@@ -323,7 +323,7 @@ extern "C" {
  * @see fl_string_rip()
  */
 #ifndef _di_fll_program_parameter_additional_rip_mash_
-  extern f_return_status fll_program_parameter_additional_rip_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_string_lengths_t additional, f_string_dynamic_t *destination);
+  extern f_return_status fll_program_parameter_additional_rip_mash(const f_string_t glue, const f_string_length_t glue_length, const f_string_t *argv, const f_array_lengths_t additional, f_string_dynamic_t *destination);
 #endif // _di_fll_program_parameter_additional_rip_mash_
 
 #ifdef __cplusplus
index 8f4ed283dd7b2231e4a2510f22693a8a2eb4ab9d..ffb6cb87fd5c662a5741a423251c3bf74d9ea779 100644 (file)
@@ -623,7 +623,7 @@ extern "C" {
           return F_status_set_error(F_parameter);
         }
         else if (data->parameters[parameters_id[i]].result == f_console_result_additional) {
-          if (data->parameters[parameters_id[i]].total > 1) {
+          if (data->parameters[parameters_id[i]].locations.used > 1) {
             fake_print_error_parameter_too_many(*data, parameters_name[i]);
             return F_status_set_error(F_parameter);
           }