]> git.lyx.org Git - lyx.git/blob - development/Win32/patches/dtl.patch
tiny encoding fix for LyXWinInstaller
[lyx.git] / development / Win32 / patches / dtl.patch
1 diff -riwBu -Xex dtl\dt2dv.c dtl-modified\dt2dv.c\r
2 --- dtl\dt2dv.c Wed Mar 08 01:00:00 1995\r
3 +++ dtl-modified\dt2dv.c        Mon Oct 02 13:28:35 2006\r
4 @@ -1,9 +1,11 @@\r
5  /* dt2dv - convert human-readable "DTL" file to DVI format\r
6           - this is intended to invert dv2dt version 0.6.0\r
7 -   - version 0.6.1 - 14:38 GMT +11  Thu 9 March 1995\r
8 +   - version 0.6.2 - 27 July 2005\r
9     - Geoffrey Tobin    G.Tobin@ee.latrobe.edu.au\r
10     - fixes:  Michal Tomczak-Jaegermann    ntomczak@vm.ucs.ualberta.ca\r
11               Nelson H. F. Beebe    beebe@math.utah.edu\r
12 +            Angus Leeming leeming@lyx.org: Enable dt2dv to handle\r
13 +            .dvi files containing strings longer than 1024 chars.\r
14     - Reference:  "The DVI Driver Standard, Level 0",\r
15                   by  The TUG DVI Driver Standards Committee.\r
16                   Appendix A, "Device-Independent File Format".\r
17 @@ -34,7 +36,7 @@\r
18    size_t max;   /* capacity of buf */\r
19    S4 wrote;     /* number of characters written into buf */\r
20    size_t read;  /* position in buf of next character to read from buf */\r
21 -  char * buf;   /* line buffer */\r
22 +  unsigned char * buf;   /* line buffer */\r
23  } Line;\r
24  \r
25  char linebuf[MAXLINE+1];\r
26 @@ -1089,7 +1091,7 @@\r
27        dinfo();\r
28        status = 0;\r
29      }\r
30 -    else if ( ! isprint (c) && ! isspace (c))\r
31 +    else if ( ! isprint (c & 0x7f) && ! isspace (c))\r
32      {\r
33        PRINT_PROGNAME;\r
34        fprintf (stderr,\r
35 @@ -2223,7 +2225,7 @@\r
36  /* transfer (length and) quoted string from dtl to dvi file, */\r
37  /* return number of bytes written to dvi file. */\r
38  {\r
39 -  U4 k, k2;\r
40 +  U4 k, k2, lstr_maxsize;\r
41    Lstring lstr;\r
42  \r
43    if (debug)\r
44 @@ -2232,12 +2234,13 @@\r
45      fprintf (stderr, "(xfer_len_string) : entering xfer_len_string.\n");\r
46    }\r
47  \r
48 -  init_Lstring (&lstr, LSIZE);\r
49 -\r
50    /* k[n] : length of special string */\r
51  \r
52    k = get_unsigned (dtl);\r
53  \r
54 +  lstr_maxsize = (k > LSIZE) ? k : LSIZE;\r
55 +  init_Lstring (&lstr, lstr_maxsize);\r
56 +\r
57    if (debug)\r
58    {\r
59      PRINT_PROGNAME;\r
60 @@ -2567,7 +2570,7 @@\r
61  #ifdef HEX_CHECKSUM\r
62    /* c[4] : (hexadecimal) checksum : I (gt) would prefer this */\r
63    xfer_hex (4, dtl, dvi);\r
64 -#else /NOT HEX_CHECKSUM */\r
65 +#else /*NOT HEX_CHECKSUM */\r
66    /* c[4] : checksum (octal, for comparison with tftopl's .pl file) */\r
67    xfer_oct (4, dtl, dvi);\r
68  #endif\r
69 diff -riwBu -Xex dtl\Makefile dtl-modified\Makefile\r
70 --- dtl\Makefile        Tue Sep 19 23:59:17 2006\r
71 +++ dtl-modified\Makefile       Wed Jul 05 17:54:20 2006\r
72 @@ -3,6 +3,14 @@\r
73  # Thu 9 March 1995\r
74  # Geoffrey Tobin\r
75  # Nelson H. F. Beebe\r
76 +#\r
77 +# Changes 27 July 2005 by Angus Leeming to enable the Makefile to\r
78 +# work out of the box on both *nix and Windows machines under\r
79 +# the MinSYS environment.\r
80 +#\r
81 +# The Makefile can also be used unaltered to build a Windows executable\r
82 +# from a Linux box if make is invoked as:\r
83 +# $ make EXEEXT='.exe' CC='i386-mingw32-gcc'\r
84  #=======================================================================\r
85  \r
86  BINDIR          = /usr/local/bin\r
87 @@ -16,10 +24,22 @@\r
88  CP              = /bin/cp\r
89  DITROFF                = ditroff\r
90  DITROFF                = groff\r
91 -EXES           = dt2dv dv2dt\r
92 +\r
93 +# This is a GNU make extension.\r
94 +# If you're flavour of make refuses to accept it,\r
95 +# then simply hardcode EXEEXT.\r
96 +ifeq ($(WINDIR),)\r
97 +  EXEEXT =\r
98 +else\r
99 +  EXEEXT = .exe\r
100 +endif\r
101 +\r
102 +DT2DV          = dt2dv$(EXEEXT)\r
103 +DV2DT          = dv2dt$(EXEEXT)\r
104 +EXES           = $(DT2DV) $(DV2DT)\r
105  LDFLAGS         = -s\r
106  LDFLAGS         =\r
107 -MAN2PS         = ./man2ps\r
108 +MAN2PS         = sh ./man2ps\r
109  MANDIR         = /usr/local/man/man$(MANEXT)\r
110  MANEXT         = 1\r
111  OBJS            = dt2dv.o dv2dt.o\r
112 @@ -44,23 +64,24 @@\r
113  \r
114  #=======================================================================\r
115  \r
116 -all:  dtl check doc\r
117 +#all:  dtl check doc\r
118 +all:  dtl check\r
119  \r
120  doc:  dt2dv.hlp dv2dt.hlp dt2dv.ps dv2dt.ps\r
121  \r
122 -dtl:  $(EXES)\r
123 +dtl:  dv2dt dt2dv\r
124  \r
125  check tests:  hello example tripvdu edited\r
126  \r
127  dv2dt: dv2dt.o dtl.h\r
128 -       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.o\r
129 +       $(CC) $(CFLAGS) $(LDFLAGS) -o $(DV2DT) dv2dt.o\r
130  \r
131  dt2dv: dt2dv.o dtl.h\r
132 -       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.o\r
133 +       $(CC) $(CFLAGS) $(LDFLAGS) -o $(DT2DV) dt2dv.o\r
134  \r
135 -hello:  hello.dtl $(EXES)\r
136 -       dt2dv hello.dtl hello2.dvi\r
137 -       dv2dt hello2.dvi hello2.dtl\r
138 +hello:  hello.dtl dv2dt dt2dv\r
139 +       ./$(DT2DV) hello.dtl hello2.dvi\r
140 +       ./$(DV2DT) hello2.dvi hello2.dtl\r
141         -@diff hello.dtl hello2.dtl > hello.dif\r
142         @if [ -s hello.dif ] ; \\r
143         then echo ERROR: differences in hello.dif ; \\r
144 @@ -69,11 +90,11 @@\r
145  \r
146  hello.dtl:  hello.tex\r
147         tex hello\r
148 -       dv2dt hello.dvi hello.dtl\r
149 +       ./$(DV2DT) hello.dvi hello.dtl\r
150  \r
151 -example:  example.dtl $(EXES)\r
152 -       dt2dv example.dtl example2.dvi\r
153 -       dv2dt example2.dvi example2.dtl\r
154 +example:  example.dtl dv2dt dt2dv\r
155 +       ./$(DT2DV) example.dtl example2.dvi\r
156 +       ./$(DV2DT) example2.dvi example2.dtl\r
157         -@diff example.dtl example2.dtl > example.dif\r
158         @if [ -s example.dif ] ; \\r
159         then echo ERROR: differences in example.dif ; \\r
160 @@ -82,11 +103,11 @@\r
161  \r
162  example.dtl:  example.tex\r
163         tex example\r
164 -       dv2dt example.dvi example.dtl\r
165 +       ./$(DV2DT) example.dvi example.dtl\r
166  \r
167 -tripvdu:  tripvdu.dtl $(EXES)\r
168 -       dt2dv tripvdu.dtl tripvdu2.dvi\r
169 -       dv2dt tripvdu2.dvi tripvdu2.dtl\r
170 +tripvdu:  tripvdu.dtl dv2dt dt2dv\r
171 +       ./$(DT2DV) tripvdu.dtl tripvdu2.dvi\r
172 +       ./$(DV2DT) tripvdu2.dvi tripvdu2.dtl\r
173         -@diff tripvdu.dtl tripvdu2.dtl > tripvdu.dif\r
174         @if [ -s tripvdu.dif ] ; \\r
175         then echo ERROR: differences in tripvdu.dif ; \\r
176 @@ -95,15 +116,15 @@\r
177  \r
178  tripvdu.dtl:  tripvdu.tex\r
179         tex tripvdu\r
180 -       dv2dt tripvdu.dvi tripvdu.dtl\r
181 +       ./$(DV2DT) tripvdu.dvi tripvdu.dtl\r
182  \r
183  # edited.txt is already a dtl file.\r
184  \r
185 -edited:  edited.txt $(EXES)\r
186 -       dt2dv edited.txt edited.dvi\r
187 -       dv2dt edited.dvi edited2.dtl\r
188 -       dt2dv edited2.dtl edited2.dvi\r
189 -       dv2dt edited2.dvi edited3.dtl\r
190 +edited:  edited.txt dv2dt dt2dv\r
191 +       ./$(DT2DV) edited.txt edited.dvi\r
192 +       ./$(DV2DT) edited.dvi edited2.dtl\r
193 +       ./$(DT2DV) edited2.dtl edited2.dvi\r
194 +       ./$(DV2DT) edited2.dvi edited3.dtl\r
195         @if [ -s edited.dif ] ; \\r
196         then echo ERROR : differences in edited.dif ; \\r
197         else $(RM) edited.dif ; \\r
198 diff -riwBu -Xex dtl\man2ps dtl-modified\man2ps\r
199 --- dtl\man2ps  Tue Sep 19 23:59:22 2006\r
200 +++ dtl-modified\man2ps Wed Sep 20 00:03:05 2006\r
201 @@ -20,16 +20,16 @@\r
202  esac\r
203  \r
204  # We can use either GNU groff or Sun Solaris troff + dpost\r
205 -if [ -x /usr/local/bin/groff ]\r
206 +if [ which groff > /dev/null ]\r
207  then   # GNU groff\r
208         TROFF="groff $FORMAT"\r
209         TROFF2PS="cat"\r
210 -elif [ -x /usr/lib/lp/postscript/dpost ]\r
211 ++elif [ which dpost > /dev/null ]\r
212  then   # Solaris 2.1\r
213         TROFF="troff $FORMAT"\r
214         TROFF2PS="/usr/lib/lp/postscript/dpost"\r
215  else\r
216 -       echo "Cannot find troff-to-PostScript filter"\r
217 ++      echo "Cannot find troff-to-PostScript filter" >&2\r
218         exit 1\r
219  fi\r
220  \r