From 86d33d548e8645de7c0d489fd659af399de1deda Mon Sep 17 00:00:00 2001 From: "Tobias S. Josefowitz" <tobij@tobij.de> Date: Sun, 3 Nov 2013 11:13:01 +0100 Subject: [PATCH] Unicode: Work around input/output redirection issues with the windows build environment. --- src/post_modules/Unicode/Makefile.in | 10 +++++----- src/post_modules/Unicode/make_canonicals.pike | 5 +++-- src/post_modules/Unicode/make_decompose.pike | 5 +++-- src/post_modules/Unicode/make_rtl.pike | 7 ++++--- src/post_modules/Unicode/make_uversion.pike | 3 ++- src/post_modules/Unicode/make_wordbits.pike | 5 +++-- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/post_modules/Unicode/Makefile.in b/src/post_modules/Unicode/Makefile.in index 7d03ea5533..d77ee37333 100644 --- a/src/post_modules/Unicode/Makefile.in +++ b/src/post_modules/Unicode/Makefile.in @@ -16,23 +16,23 @@ unicode_module.o: $(SRCDIR)/unicode_module.c $(SRCDIR)/decompositions.h: $(SRCDIR)/make_decompose.pike $(SRCDIR)/$(UNICODEDATA) $(RUNPIKE) $(SRCDIR)/make_decompose.pike \ - < $(SRCDIR)/$(UNICODEDATA) > "$@" || { rm "$@"; exit 1; } + $(SRCDIR)/$(UNICODEDATA) "$@" || { rm "$@"; exit 1; } $(SRCDIR)/canonicals.h: $(SRCDIR)/make_canonicals.pike $(SRCDIR)/$(UNICODEDATA) $(RUNPIKE) $(SRCDIR)/make_canonicals.pike \ - < $(SRCDIR)/$(UNICODEDATA) > "$@" || { rm "$@"; exit 1; } + $(SRCDIR)/$(UNICODEDATA) "$@" || { rm "$@"; exit 1; } $(SRCDIR)/wordbits.h: $(SRCDIR)/make_wordbits.pike $(SRCDIR)/$(UNICODEDATA) $(RUNPIKE) $(SRCDIR)/make_wordbits.pike \ - < $(SRCDIR)/$(UNICODEDATA) > "$@" || { rm "$@"; exit 1; } + $(SRCDIR)/$(UNICODEDATA) "$@" || { rm "$@"; exit 1; } $(SRCDIR)/uversion.h: $(SRCDIR)/make_uversion.pike $(SRCDIR)/$(UNICODEDATARM) $(RUNPIKE) $(SRCDIR)/make_uversion.pike \ - $(SRCDIR)/$(UNICODEDATARM) > "$@" || { rm "$@"; exit 1; } + $(SRCDIR)/$(UNICODEDATARM) "$@" || { rm "$@"; exit 1; } $(SRCDIR)/rtl.h: $(SRCDIR)/make_rtl.pike $(SRCDIR)/$(UNICODEDATA) $(RUNPIKE) $(SRCDIR)/make_rtl.pike \ - < $(SRCDIR)/$(UNICODEDATA) > "$@" || { rm "$@"; exit 1; } + $(SRCDIR)/$(UNICODEDATA) "$@" || { rm "$@"; exit 1; } unicode_module.o: $(SRCDIR)/unicode_module.c $(SRCDIR)/wordbits.h \ $(SRCDIR)/canonicals.h \ diff --git a/src/post_modules/Unicode/make_canonicals.pike b/src/post_modules/Unicode/make_canonicals.pike index 8a6d9f98f7..1bc1cbba3c 100644 --- a/src/post_modules/Unicode/make_canonicals.pike +++ b/src/post_modules/Unicode/make_canonicals.pike @@ -1,8 +1,9 @@ -void main() +void main(int argc, array(string) argv) { + function write = Stdio.File(argv[2], "wct")->write; mapping classes = ([]); - foreach( Stdio.stdin.read()/"\n", string line ) + foreach( Stdio.read_file(argv[1])/"\n", string line ) { sscanf( line, "%s#", line ); if( !sizeof( line ) ) diff --git a/src/post_modules/Unicode/make_decompose.pike b/src/post_modules/Unicode/make_decompose.pike index 4471f9cab0..9eb18cc17c 100644 --- a/src/post_modules/Unicode/make_decompose.pike +++ b/src/post_modules/Unicode/make_decompose.pike @@ -1,6 +1,7 @@ -void main() +void main(int argc, array(string) argv) { + function write = Stdio.File(argv[2], "wct")->write; multiset dont = (< /* Script Specifics */ @@ -42,7 +43,7 @@ void main() return c; }; - foreach( Stdio.stdin.read()/"\n", string line ) + foreach( Stdio.read_file(argv[1])/"\n", string line ) { sscanf( line, "%s#", line ); if( !sizeof( line ) ) diff --git a/src/post_modules/Unicode/make_rtl.pike b/src/post_modules/Unicode/make_rtl.pike index ddf8cf75ba..30f3695c00 100644 --- a/src/post_modules/Unicode/make_rtl.pike +++ b/src/post_modules/Unicode/make_rtl.pike @@ -1,9 +1,10 @@ -void main() +void main(int argc, array(string) argv) { + function write = Stdio.File(argv[2], "cwt")->write; write("static const int _rtl[] = {\n"); int last_mode; - foreach( Stdio.stdin.read()/"\n", string line ) + foreach( Stdio.read_file(argv[1])/"\n", string line ) { sscanf( line, "%s#", line ); if( !sizeof( line ) ) @@ -23,4 +24,4 @@ void main() } } write("};\n"); -} \ No newline at end of file +} diff --git a/src/post_modules/Unicode/make_uversion.pike b/src/post_modules/Unicode/make_uversion.pike index 0c73f8cc1e..6bb203edaf 100644 --- a/src/post_modules/Unicode/make_uversion.pike +++ b/src/post_modules/Unicode/make_uversion.pike @@ -1,9 +1,10 @@ void main(int n, array args) { - if(n!=2) exit(1); + if(n!=3) exit(1); string file = Stdio.read_file(args[1]); if(!file) exit(1); + function write = Stdio.File(args[2], "cwt")->write; string ver; sscanf(file, "%*sVersion %s\n", ver); if(!ver) exit(1); diff --git a/src/post_modules/Unicode/make_wordbits.pike b/src/post_modules/Unicode/make_wordbits.pike index 451987bdb7..f4f6e7d2b1 100644 --- a/src/post_modules/Unicode/make_wordbits.pike +++ b/src/post_modules/Unicode/make_wordbits.pike @@ -15,14 +15,15 @@ int parse_type( string s ) } } -void main() +void main(int argc, array(string) argv) { int last_was,c,last_c; + function write = Stdio.File(argv[2], "cwt")->write; write( "static const struct {\n" " int start; int end;\n" "} ranges[] = {\n" ); - foreach( Stdio.stdin.read()/"\n", string line ) + foreach( Stdio.read_file(argv[1])/"\n", string line ) { sscanf( line, "%s#", line ); if( !sizeof( line ) ) -- GitLab