summaryrefslogtreecommitdiff
path: root/recipes/flex/files/flex-lvalue.diff
blob: 56ae539a6cc7f57a64015659fbe3d40c279a9b79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Patch from http://bugs.debian.org/cgi-bin/bugreport.cgi/flex-lvalue.diff?bug=194844;msg=10;att=1

according to posix 0,1,2 are already setup and this avoids
the issues with
| filter.c: In function 'filter_apply_chain':
| filter.c:161: error: invalid lvalue in assignment
| filter.c:163: error: invalid lvalue in assignment
| filter.c:184: error: invalid lvalue in assignment


diff -ur flex-2.5.31.ORIG/filter.c flex-2.5.31/filter.c
--- flex-2.5.31.ORIG/filter.c	2003-03-25 16:39:08.000000000 +0000
+++ flex-2.5.31/filter.c	2003-05-27 17:00:26.000000000 +0000
@@ -157,11 +157,8 @@
 		if (chain->filter_func) {
 			int     r;
 
-			/* setup streams again */
-			if ((stdin = fdopen (0, "r")) == NULL)
-				flexfatal (_("fdopen(0) failed"));
-			if ((stdout = fdopen (1, "w")) == NULL)
-				flexfatal (_("fdopen(1) failed"));
+			/* POSIX says we inherit fd[0-2], so we don't need
+			   to do anything to them here */
 
 			if ((r = chain->filter_func (chain)) == -1)
 				flexfatal (_("filter_func failed"));
@@ -181,8 +178,6 @@
 	if (dup2 (pipes[1], 1) == -1)
 		flexfatal (_("dup2(pipes[1],1)"));
 	close (pipes[1]);
-	if ((stdout = fdopen (1, "w")) == NULL)
-		flexfatal (_("fdopen(1) failed"));
 
 	return true;
 }