Hello On Sat, May 2, 2009 at 4:08 PM, Bean <bean12...@gmail.com> wrote:
> Hi, > > I think there is problem with this patch. Consider ${aa}, the closing > character "}" would be left out. > > Although you can remedy this by swapping: > > { GRUB_PARSER_STATE_VARNAME, GRUB_PARSER_STATE_TEXT, ' ', 1}, > { GRUB_PARSER_STATE_VARNAME2, GRUB_PARSER_STATE_TEXT, '}', 0}, > It's not the same starting state. However similar issue exists with ' ' and '\"' > > so that '}' would be handled before ' ', but it's still not a good > practice, as you have added a logic in code that would depend on the > order of state_transitions, which is not apparent for casual code > viewer. Perhaps we should switch to just ordering the transition rules instead of separate code for default value > Also, ' ' might be used for other transition in the future, > this code could break that. I suggest you use {} to enclose the > variable that doesn't terminated with space, It can be a workaround but the bug is still here. The following pieces of code fail: 1) echo $hello; 2) echo $hello or add the terminating > character explicitly in the transition table: > > > { GRUB_PARSER_STATE_VARNAME, GRUB_PARSER_STATE_TEXT, '/ ', 1}, > > > On Sat, May 2, 2009 at 8:02 PM, Vladimir 'phcoder' Serbinenko > <phco...@gmail.com> wrote: > > Hello. A varname may be terminated by any character which isn't in a set > > [A-Za-z0-9_] and not only space. Here is a fix > > > > -- > > Regards > > Vladimir 'phcoder' Serbinenko > > > > _______________________________________________ > > Grub-devel mailing list > > Grub-devel@gnu.org > > http://lists.gnu.org/mailman/listinfo/grub-devel > > > > > > > > -- > Bean > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > -- Regards Vladimir 'phcoder' Serbinenko
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel