patch to make(1) to fix quoting bug
Chris Pressey
cpressey at catseye.mine.nu
Mon Feb 23 15:33:02 PST 2004
As subject.
Obtained from: FreeBSD
PR: bin/61673
CVS: src/usr.bin/make/str.c 1.12.2.2
Testing: passes test given in PR; make buildworld in progress
-Chris
Index: usr.bin/make/str.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/make/str.c,v
retrieving revision 1.2
diff -u -r1.2 str.c
--- usr.bin/make/str.c 17 Jun 2003 04:29:29 -0000 1.2
+++ usr.bin/make/str.c 23 Feb 2004 12:23:25 -0000
@@ -37,7 +37,7 @@
*
* @(#)str.c 5.8 (Berkeley) 6/1/90
* $FreeBSD: src/usr.bin/make/str.c,v 1.12.2.1 2002/06/17 04:30:48 jmallett Exp $
- * $DragonFly: src/usr.bin/make/str.c,v 1.2 2003/06/17 04:29:29 dillon Exp $
+ * $DragonFly: src/usr.bin/make/str.c,v 1.1 2003/06/16 07:03:41 dillon Exp $
*/
#include "make.h"
@@ -164,24 +164,17 @@
case '"':
case '\'':
if (inquote) {
- if (inquote == ch)
- inquote = '\0';
- else
+ if (ch != inquote)
break;
- } else {
- inquote = (char) ch;
+ inquote = '\0';
/* Don't miss "" or '' */
- if (start == NULL && p[1] == inquote) {
- start = t + 1;
- break;
- }
- }
- if (!expand) {
if (!start)
start = t;
- *t++ = ch;
- }
- continue;
+ } else
+ inquote = (char)ch;
+ if (expand)
+ continue;
+ break;
case ' ':
case '\t':
case '\n':
More information about the Submit
mailing list