summaryrefslogtreecommitdiffstats
path: root/package/fontconfig/fc-lang.patch
blob: 95efa85a92c94058913b68748b4d64ad51e37182 (plain) (blame)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
--- /tmp/Makefile.am	2006-04-25 15:47:49.313035880 +0200
+++ fontconfig-2.3.94/fc-lang/Makefile.am	2006-04-25 15:48:22.807943880 +0200
@@ -31,6 +31,7 @@
 TMPL=fclang.tmpl.h
 STMPL=${top_srcdir}/fc-lang/fclang.tmpl.h
 TARG=fclang.h
+FC_LANG=./fc-lang
 
 noinst_PROGRAMS=fc-lang
 
@@ -44,6 +45,6 @@
 
 $(TARG):$(ORTH) fc-lang${EXEEXT} $(STMPL)
 	rm -f $(TARG)
-	./fc-lang${EXEEXT} -d ${srcdir} $(ORTH) < $(STMPL) > $(TARG)
+	$(FC_LANG)${EXEEXT} -d ${srcdir} $(ORTH) < $(STMPL) > $(TARG)
 
 CLEANFILES=$(TARG)
--- fontconfig-2.4.2/fc-lang/fc-lang.orig.c	2007-02-03 13:39:49.000000000 -0700
+++ fontconfig-2.4.2/fc-lang/fc-lang.c	2007-02-03 13:46:08.000000000 -0700
@@ -116,6 +116,20 @@
     return f;
 }
 
+char* trim(char *s)
+{
+	int len = strlen(s);
+
+	/* nuke trailing whitespace */
+	while (len > 0 && (isspace(s[len - 1]) || s[len - 1]=='\n'))
+		s[--len] = '\0';
+
+	/* skip leading whitespace */
+	s += strspn(s, " \n\r\t\v");
+
+	return s;
+}
+
 /*
  * build a single charset from a source file
  *
@@ -142,8 +156,7 @@
             if (!file)
                 fatal (line, lineno, 
                        "invalid syntax, expected: include filename");
-	    while (isspace(*file))
-		file++;
+	    file = trim(file);
 	    f = scanopen (file);
 	    if (!f)
 		fatal (file, 0, "can't open");