Follow-up Comment #2, bug #13868 (project freeciv):

'const' flags could be added to the values, like 'bool *const pbval' to be
sure that pointer won't be modified.

I'm not totally conviced by the names.  If you do a struct boolean, you don't
need to have 'b' in every other variables.

You can also using a anonymous union to use directly what is inside.

I would suggest:
union {
  /*** bool part ***/
  struct {
    bool *const pvalue;
    const bool default;
    const bool_validate_func_t validate;
  } boolean;
  /*** int part ***/
    struct {
    int *const pvalue;
    const int default;
    const int min;
    const int max;
    const int_validate_func_t validate;
  } integer;
  /*** string part ***/
  struct {
    char *const value;
    const char *const default;
    const size_t size;
    const string_validate_func_t validate;
  } string;

So the bool value would be '*pset->boolean.pvalue' which looks enough clear
for me.


Reply to this item at:


  Message posté via/par Gna!

Freeciv-dev mailing list

Reply via email to