Matthieu Moy <matthieu....@grenoble-inp.fr> writes:

> Junio C Hamano <gits...@pobox.com> writes:
>
>> Then used_atom[] could become something like
>>
>>     struct {
>>      const char *str; /* e.g. "align:position=left,32" */
>>      struct {
>>              const char *part0; /* everything before '=' */
>>                 const char *part1; /* optional */
>>      } *modifier;
>>         int modifier_nr;
>>     } *used_atom;
>
> If the goal is to prepare as much as possible when parsing the format
> string, I'd even push it one step further and have stg like
>
>      struct {
>       const char *str; /* e.g. "align:position=left,32" */
>       union {
>               struct {
>                       int position;
>                       enum { left, right, center } kind;
>               } align;
>                 struct {
>                       ....;
>                 } objectname;
>         int modifier_nr;
>      } *used_atom;
>
> Just a thought, I'm not sure how useful this would be, and this may be
> too much change for this series (so it may deserve a separate topic).

Yes, if we are willing to enrich the element of valid_atom[] array
with a type-specific parsing functions, we could even do that.  Then
populate_value() would not have to do any parsing and just do the
filling.

I was shooting for a middle ground, but certainly with an eye
towards such an endgame state in the future.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to