Package: fenix / 0.92a.dfsg1-10

fxc_output.patch Patch series | download
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
52
53
54
55
# Copyright (C) 2007  Miriam Ruiz <little_miry@yahoo.es>
# Licensed under the GPL, see /usr/share/common-licenses/GPL

Index: fenix-0.92a.dfsg1/fxc/src/main.c
===================================================================
--- fenix-0.92a.dfsg1.orig/fxc/src/main.c	2007-08-28 14:40:06.000000000 +0200
+++ fenix-0.92a.dfsg1/fxc/src/main.c	2007-08-28 14:45:56.000000000 +0200
@@ -126,6 +126,7 @@
 {
     char * filename = 0 ;
 	char dcbname[256] ;
+	char outname[256] = "";
 	char stubname[256] = "";
 	int i, j ;
 
@@ -239,6 +240,17 @@
 					break ;
 				}
 
+				if (argv[i][j] == 'o')
+				{
+					// -o "output": Write to a certain file
+
+					if (argv[i][j+1])
+						strncpy (outname, argv[i]+j+1, 256);
+					else if (argv[i+1] && (argv[i+1][0] != '-' || argv[i+1][1] == '\0'))
+						strncpy (outname, argv[++i], 256);
+					break;
+				}
+
 				j++ ;
 			}
 		}
@@ -262,10 +274,17 @@
 		return 0 ;
 	}
 
-	strcpy (dcbname, filename) ;
-	if (strrchr(dcbname, '.'))
-		*strrchr(dcbname, '.') = 0 ;
-	strcat (dcbname, ".dcb") ;
+	if (*outname)
+	{
+		strcpy (dcbname, outname) ;
+	}
+	else
+	{
+		strcpy (dcbname, filename) ;
+		if (strrchr(dcbname, '.'))
+			*strrchr(dcbname, '.') = 0 ;
+		strcat (dcbname, ".dcb") ;
+	}
 
 	memset (&dcb, 0, sizeof(dcb));