]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Use posix wrappers in lexer
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 28 Mar 2010 20:20:32 +0000 (22:20 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 28 Mar 2010 20:20:32 +0000 (22:20 +0200)
conf/common.rmk
lib/posix_wrap/stdio.h
script/yylex.l

index b9ed37d2607fe1b261de6413fc28001137c1f718..87ae1e2025123a54fd9a350a878a575c13c5db7b 100644 (file)
@@ -98,8 +98,6 @@ grub_bin2h_SOURCES = gnulib/progname.c util/bin2h.c
 # For the lexer.
 grub_script.yy.c grub_script.yy.h: script/yylex.l
        $(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $(srcdir)/script/yylex.l
-       sed -i 's/^#include.*\(<stdio\.h>\|<string\.h>\|<errno\.h>\|<stdlib\.h>\|<unistd\.h>\)//g' grub_script.yy.h
-       sed -i 's/^#include.*\(<stdio\.h>\|<string\.h>\|<errno\.h>\|<stdlib\.h>\|<unistd\.h>\)//g' grub_script.yy.c
 DISTCLEANFILES += grub_script.yy.c grub_script.yy.h
 
 # For grub-script-check.
@@ -655,7 +653,7 @@ normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
 # For sh.mod.
 sh_mod_SOURCES = script/main.c script/script.c script/execute.c \
        script/function.c script/lexer.c grub_script.tab.c grub_script.yy.c
-sh_mod_CFLAGS = $(COMMON_CFLAGS)
+sh_mod_CFLAGS = $(COMMON_CFLAGS) $(POSIX_CFLAGS)
 sh_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 ifneq (, $(FONT_SOURCE))
index 31f6d6c60372a21abd8f50e0129a33e3bd352a84..701fceaa48a307ba05d49a0699d474479707e182 100644 (file)
 #define GRUB_POSIX_STDIO_H     1
 
 #include <grub/misc.h>
+#include <grub/file.h>
+
+typedef struct grub_file FILE;
+
+#define EOF    -1
 
 #endif
index db276ef61e90338edd200dad371d3b12cee1b1a7..4d7c6644832ccfaef09f0ba906d8f741df8dab24 100644 (file)
@@ -68,31 +68,23 @@ static void  copy_string (struct grub_parser_param *, const char *,
 
 %top{
 
+#include <sys/types.h>
+
+typedef size_t yy_size_t;
+#define YY_TYPEDEF_YY_SIZE_T 1
+
 /* 
  * Some flex hacks for -nostdinc; XXX We need to fix these when libc
  * support becomes availble in GRUB.
  */
 
-#include <grub/types.h>
-
-typedef grub_size_t size_t;
-typedef grub_size_t yy_size_t;
-#define YY_TYPEDEF_YY_SIZE_T 1
-
-#define FILE   void
+#ifndef GRUB_UTIL
 #define stdin  0
 #define stdout 0
-#define EOF    0
-
-#define errno  grub_errno
-#define EINVAL GRUB_ERR_BAD_NUMBER
-#define ENOMEM GRUB_ERR_OUT_OF_MEMORY
-
-#define strlen grub_strlen
-#define memset grub_memset
 
 #define fprintf(...) 0
 #define exit(...)
+#endif
 
 #pragma GCC diagnostic warning "-Wunused-variable"
 #pragma GCC diagnostic warning "-Wunused-function"