]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
merge with mainline
authorBVK Chaitanya <bvk@dbook>
Sat, 4 Sep 2010 03:03:42 +0000 (08:33 +0530)
committerBVK Chaitanya <bvk@dbook>
Sat, 4 Sep 2010 03:03:42 +0000 (08:33 +0530)
1  2 
grub-core/script/lexer.c

index 208ad0bf64bce17ebd0356378789dc3814c8ebcd,64da45ed8cd30e805db7f9da92e5733b8f00b1f5..3c59e449904b335fab9f7a9b9c714c5e07693ecc
@@@ -216,7 -208,7 +216,6 @@@ grub_script_lexer_init (struct grub_par
                        grub_reader_getline_t getline)
  {
    int len;
--  char *script2;
    YY_BUFFER_STATE buffer;
    struct grub_lexer_param *lexerstate;
  
        grub_free (lexerstate);
        return 0;
      }
 -  buffer = 0;
 -  script = script ? : "\n";
 -  len = grub_strlen (script);
 -
 -  if (len != 0 && script[len - 1] == '\n')
 -    {
 -      buffer = yy_scan_string (script, lexerstate->yyscanner);
 -    }
 -  else
 -    {
 -      script2 = append_newline (script);
 -      if (script2)
 -      {
 -        buffer = yy_scan_string (script2, lexerstate->yyscanner);
 -        grub_free (script2);
 -      }
 -    }
 +  yyset_extra (parser, lexerstate->yyscanner);
 +  parser->lexerstate = lexerstate;
  
 -  if (!buffer)
 +  if (grub_script_lexer_yywrap (parser, script ?: "\n"))
      {
 +      parser->lexerstate = 0;
        yylex_destroy (lexerstate->yyscanner);
        grub_free (lexerstate->yyscanner);
 -
        grub_free (lexerstate->text);
        grub_free (lexerstate);
        return 0;