[pkg-wine-party] [PATCH 1/8] Switch to source format 3.0 (quilt)
Hilko Bengen
bengen at debian.org
Sun Dec 30 23:08:26 UTC 2012
Add existing changes to upstream sources as separate patches
---
Make.vars.in | 2 +-
...x-broken-.fon-files-on-big-endian-archite.patch | 231 ++++++++++++++++++++
...-Doubled-size-of-MAX_FONTS.-Closes-145033.patch | 21 ++
.../0003-various-path-related-patches.patch | 223 +++++++++++++++++++
debian/patches/series | 3 +
debian/source/format | 1 +
dlls/Makedll.rules.in | 2 +-
dlls/wineps.drv/Makefile.in | 6 +-
dlls/winex11.drv/xfont.c | 2 +-
libs/wine/Makefile.in | 28 +--
loader/wine.man.in | 4 +-
tools/Makefile.in | 10 +-
tools/sfnt2fnt.c | 135 +++---------
tools/winedump/Makefile.in | 3 -
tools/winedump/search.c | 2 +-
15 files changed, 540 insertions(+), 133 deletions(-)
create mode 100644 debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
create mode 100644 debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
create mode 100644 debian/patches/0003-various-path-related-patches.patch
create mode 100644 debian/patches/series
create mode 100644 debian/source/format
diff --git a/Make.vars.in b/Make.vars.in
index 812da6d..100594b 100644
--- a/Make.vars.in
+++ b/Make.vars.in
@@ -8,7 +8,7 @@ datarootdir = @datarootdir@
datadir = @datadir@
infodir = @infodir@
mandir = @mandir@
-fontdir = $(datadir)/wine$(DATASUFFIX)/fonts
+fontdir = $(datadir)/wine/fonts
includedir = @includedir@/wine
dlldir = @libdir@/wine
fakedlldir = $(dlldir)/fakedlls
diff --git a/debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch b/debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
new file mode 100644
index 0000000..a4e68c9
--- /dev/null
+++ b/debian/patches/0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
@@ -0,0 +1,231 @@
+From: Hilko Bengen <bengen at debian.org>
+Date: Tue, 3 Jul 2012 21:09:01 +0200
+Subject: sfnt2fnt: Fix broken *.fon files on big-endian architectures
+
+(cherry picked from upstream commit fb16ce1fe092438216e878a9d5fad63d06100caa)
+---
+ tools/sfnt2fnt.c | 135 +++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 102 insertions(+), 33 deletions(-)
+
+diff --git a/tools/sfnt2fnt.c b/tools/sfnt2fnt.c
+index df43ec0..07c82b1 100644
+--- a/tools/sfnt2fnt.c
++++ b/tools/sfnt2fnt.c
+@@ -43,6 +43,7 @@
+
+ #include "wine/unicode.h"
+ #include "wingdi.h"
++#include "basetsd.h"
+
+ #include "pshpack1.h"
+
+@@ -187,11 +188,30 @@ typedef struct
+ } FT_Version_t;
+ static FT_Version_t FT_Version;
+
++#include "poppack.h"
++
+ #define GET_BE_WORD(ptr) MAKEWORD( ((BYTE *)(ptr))[1], ((BYTE *)(ptr))[0] )
+ #define GET_BE_DWORD(ptr) ((DWORD)MAKELONG( GET_BE_WORD(&((WORD *)(ptr))[1]), \
+ GET_BE_WORD(&((WORD *)(ptr))[0]) ))
+-
+-#include "poppack.h"
++#ifdef WORDS_BIGENDIAN
++static WORD byteswap_word(WORD x)
++{
++ return ( ( (x & 0xff) << 8) |
++ ( (x & 0xff00) >> 8) );
++}
++static DWORD byteswap_dword(DWORD x)
++{
++ return ( ( (x & 0xff) << 24) |
++ ( (x & 0xff00) << 8) |
++ ( (x & 0xff0000) >> 8) |
++ ( (x & 0xff000000) >> 24) );
++}
++# define PUT_LE_WORD(x) byteswap_word(x)
++# define PUT_LE_DWORD(x) byteswap_dword(x)
++#else
++# define PUT_LE_WORD(x) (x)
++# define PUT_LE_DWORD(x) (x)
++#endif
+
+ struct fontinfo
+ {
+@@ -378,7 +398,7 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
+ size_table = (bitmapSizeTable_t *)(eblc + 1);
+ for(i = 0; i < num_sizes; i++)
+ {
+- if(size_table->hori.ascender - size_table->hori.descender == ppem)
++ if( (signed char)size_table->hori.ascender - (signed char)size_table->hori.descender == ppem)
+ {
+ ascent = size_table->hori.ascender;
+ break;
+@@ -570,11 +590,50 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
+ return info;
+ }
+
++static void adjust_fontinfo( FONTINFO16 * fi )
++{
++ fi->dfType = PUT_LE_WORD(fi->dfType);
++ fi->dfPoints = PUT_LE_WORD(fi->dfPoints);
++ fi->dfVertRes = PUT_LE_WORD(fi->dfVertRes);
++ fi->dfHorizRes = PUT_LE_WORD(fi->dfHorizRes);
++ fi->dfAscent = PUT_LE_WORD(fi->dfAscent);
++ fi->dfInternalLeading = PUT_LE_WORD(fi->dfInternalLeading);
++ fi->dfExternalLeading = PUT_LE_WORD(fi->dfExternalLeading);
++ fi->dfWeight = PUT_LE_WORD(fi->dfWeight);
++ fi->dfPixWidth = PUT_LE_WORD(fi->dfPixWidth);
++ fi->dfPixHeight = PUT_LE_WORD(fi->dfPixHeight);
++ fi->dfAvgWidth = PUT_LE_WORD(fi->dfAvgWidth);
++ fi->dfMaxWidth = PUT_LE_WORD(fi->dfMaxWidth);
++ fi->dfWidthBytes = PUT_LE_WORD(fi->dfWidthBytes);
++ fi->dfAspace = PUT_LE_WORD(fi->dfAspace);
++ fi->dfBspace = PUT_LE_WORD(fi->dfBspace);
++ fi->dfCspace = PUT_LE_WORD(fi->dfCspace);
++ fi->dfDevice = PUT_LE_DWORD(fi->dfDevice);
++ fi->dfFace = PUT_LE_DWORD(fi->dfFace);
++ fi->dfBitsPointer = PUT_LE_DWORD(fi->dfBitsPointer);
++ fi->dfBitsOffset = PUT_LE_DWORD(fi->dfBitsOffset);
++ fi->dfFlags = PUT_LE_DWORD(fi->dfFlags);
++ fi->dfColorPointer = PUT_LE_DWORD(fi->dfColorPointer);
++}
++
+ static void write_fontinfo( const struct fontinfo *info, FILE *fp )
+ {
+- fwrite( &info->hdr, sizeof(info->hdr), 1, fp );
+- fwrite( info->dfCharTable + info->hdr.fi.dfFirstChar, sizeof(*info->dfCharTable),
+- ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3, fp );
++ FNT_HEADER tmp_hdr;
++ int num_chars, i;
++ CHAR_TABLE_ENTRY tmp_chartable[258];
++ memcpy(&tmp_hdr, &info->hdr, sizeof(info->hdr));
++ tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
++ tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
++ adjust_fontinfo(&(tmp_hdr.fi));
++ fwrite( &tmp_hdr, sizeof(info->hdr), 1, fp );
++ num_chars = ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3;
++
++ memcpy(&tmp_chartable, info->dfCharTable + info->hdr.fi.dfFirstChar, num_chars * sizeof(CHAR_TABLE_ENTRY));
++ for (i=0; i < num_chars; ++i) {
++ tmp_chartable[i].width = PUT_LE_WORD(tmp_chartable[i].width);
++ tmp_chartable[i].offset = PUT_LE_DWORD(tmp_chartable[i].offset);
++ }
++ fwrite( tmp_chartable, sizeof(CHAR_TABLE_ENTRY), num_chars, fp );
+ fwrite( info->data, info->hdr.dfSize - info->hdr.fi.dfBitsOffset, 1, fp );
+ }
+
+@@ -630,6 +689,7 @@ int main(int argc, char **argv)
+ struct fontinfo **info;
+ char *input_file;
+ char **args;
++ short tmp16;
+
+ args = parse_options( argc, argv );
+
+@@ -696,21 +756,21 @@ int main(int argc, char **argv)
+ non_resident_name_off = sizeof(MZ_hdr) + module_ref_off + sizeof(align);
+
+ memset(&NE_hdr, 0, sizeof(NE_hdr));
+- NE_hdr.ne_magic = 0x454e;
++ NE_hdr.ne_magic = PUT_LE_WORD(0x454e);
+ NE_hdr.ne_ver = 5;
+ NE_hdr.ne_rev = 1;
+- NE_hdr.ne_flags = NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI;
+- NE_hdr.ne_cbnrestab = non_resident_name_len;
+- NE_hdr.ne_segtab = sizeof(NE_hdr);
+- NE_hdr.ne_rsrctab = sizeof(NE_hdr);
+- NE_hdr.ne_restab = resident_name_off;
+- NE_hdr.ne_modtab = module_ref_off;
+- NE_hdr.ne_imptab = module_ref_off;
++ NE_hdr.ne_flags = PUT_LE_WORD(NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI);
++ NE_hdr.ne_cbnrestab = PUT_LE_WORD(non_resident_name_len);
++ NE_hdr.ne_segtab = PUT_LE_WORD(sizeof(NE_hdr));
++ NE_hdr.ne_rsrctab = PUT_LE_WORD(sizeof(NE_hdr));
++ NE_hdr.ne_restab = PUT_LE_WORD(resident_name_off);
++ NE_hdr.ne_modtab = PUT_LE_WORD(module_ref_off);
++ NE_hdr.ne_imptab = PUT_LE_WORD(module_ref_off);
+ NE_hdr.ne_enttab = NE_hdr.ne_modtab;
+- NE_hdr.ne_nrestab = non_resident_name_off;
+- NE_hdr.ne_align = 4;
++ NE_hdr.ne_nrestab = PUT_LE_DWORD(non_resident_name_off);
++ NE_hdr.ne_align = PUT_LE_WORD(4);
+ NE_hdr.ne_exetyp = NE_OSFLAGS_WINDOWS;
+- NE_hdr.ne_expver = 0x400;
++ NE_hdr.ne_expver = PUT_LE_WORD(0x400);
+
+ fontdir_off = (non_resident_name_off + non_resident_name_len + 15) & ~0xf;
+ font_off = (fontdir_off + fontdir_len + 15) & ~0x0f;
+@@ -749,34 +809,34 @@ int main(int argc, char **argv)
+ fwrite(MZ_hdr, sizeof(MZ_hdr), 1, ofp);
+ fwrite(&NE_hdr, sizeof(NE_hdr), 1, ofp);
+
+- align = 4;
++ align = PUT_LE_WORD(4);
+ fwrite(&align, sizeof(align), 1, ofp);
+
+- rc_type.type_id = NE_RSCTYPE_FONTDIR;
+- rc_type.count = 1;
++ rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONTDIR);
++ rc_type.count = PUT_LE_WORD(1);
+ rc_type.resloader = 0;
+ fwrite(&rc_type, sizeof(rc_type), 1, ofp);
+
+- rc_name.offset = fontdir_off >> 4;
+- rc_name.length = (fontdir_len + 15) >> 4;
+- rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD;
+- rc_name.id = resident_name_off - sizeof("FONTDIR") - NE_hdr.ne_rsrctab;
++ rc_name.offset = PUT_LE_WORD(fontdir_off >> 4);
++ rc_name.length = PUT_LE_WORD((fontdir_len + 15) >> 4);
++ rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD);
++ rc_name.id = PUT_LE_WORD(resident_name_off - sizeof("FONTDIR") - sizeof(NE_hdr));
+ rc_name.handle = 0;
+ rc_name.usage = 0;
+ fwrite(&rc_name, sizeof(rc_name), 1, ofp);
+
+- rc_type.type_id = NE_RSCTYPE_FONT;
+- rc_type.count = num_files;
++ rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONT);
++ rc_type.count = PUT_LE_WORD(num_files);
+ rc_type.resloader = 0;
+ fwrite(&rc_type, sizeof(rc_type), 1, ofp);
+
+ for(res = first_res | 0x8000, i = 0; i < num_files; i++, res++) {
+ int len = (info[i]->hdr.dfSize + 15) & ~0xf;
+
+- rc_name.offset = font_off >> 4;
+- rc_name.length = len >> 4;
+- rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE;
+- rc_name.id = res;
++ rc_name.offset = PUT_LE_WORD(font_off >> 4);
++ rc_name.length = PUT_LE_WORD(len >> 4);
++ rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE);
++ rc_name.id = PUT_LE_WORD(res);
+ rc_name.handle = 0;
+ rc_name.usage = 0;
+ fwrite(&rc_name, sizeof(rc_name), 1, ofp);
+@@ -812,12 +872,21 @@ int main(int argc, char **argv)
+ fputc(0x00, ofp);
+
+ /* FONTDIR resource */
+- fwrite(&num_files, sizeof(num_files), 1, ofp);
++ tmp16 = PUT_LE_WORD(num_files);
++ fwrite(&tmp16, sizeof(tmp16), 1, ofp);
+
+ for(res = first_res, i = 0; i < num_files; i++, res++) {
++ FNT_HEADER tmp_hdr;
++ int sz;
+ const char *name = get_face_name( info[i] );
+- fwrite(&res, sizeof(res), 1, ofp);
+- fwrite(&info[i]->hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
++ tmp16 = PUT_LE_WORD(res);
++ fwrite(&tmp16, sizeof(tmp16), 1, ofp);
++ sz = FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset);
++ memcpy(&tmp_hdr, &info[i]->hdr, sz);
++ tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
++ tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
++ adjust_fontinfo(&(tmp_hdr.fi));
++ fwrite(&tmp_hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
+ fputc(0x00, ofp);
+ fwrite(name, strlen(name) + 1, 1, ofp);
+ }
diff --git a/debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch b/debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
new file mode 100644
index 0000000..177e4db
--- /dev/null
+++ b/debian/patches/0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
@@ -0,0 +1,21 @@
+From: Ove Kaaven <ovek at arcticnet.no>
+Date: Wed, 30 Apr 2008 22:45:46 +0200
+Subject: Doubled size of MAX_FONTS. Closes: #145033.
+
+---
+ dlls/winex11.drv/xfont.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dlls/winex11.drv/xfont.c b/dlls/winex11.drv/xfont.c
+index fe2c5bc..530bd21 100644
+--- a/dlls/winex11.drv/xfont.c
++++ b/dlls/winex11.drv/xfont.c
+@@ -53,7 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(font);
+ #define X_PFONT_MAGIC (0xFADE0000)
+ #define X_FMC_MAGIC (0x0000CAFE)
+
+-#define MAX_FONTS 1024*16
++#define MAX_FONTS 1024*32
+ #define MAX_LFD_LENGTH 256
+ #define TILDE '~'
+ #define HYPHEN '-'
diff --git a/debian/patches/0003-various-path-related-patches.patch b/debian/patches/0003-various-path-related-patches.patch
new file mode 100644
index 0000000..f704b48
--- /dev/null
+++ b/debian/patches/0003-various-path-related-patches.patch
@@ -0,0 +1,223 @@
+From: Hilko Bengen <bengen at debian.org>
+Date: Sun, 9 Dec 2012 17:51:17 +0100
+Subject: various path-related patches
+
+---
+ Make.vars.in | 2 +-
+ dlls/Makedll.rules.in | 2 +-
+ dlls/wineps.drv/Makefile.in | 6 +++---
+ libs/wine/Makefile.in | 28 ++++++++++++++--------------
+ loader/wine.man.in | 4 ++--
+ tools/Makefile.in | 10 +++++-----
+ tools/winedump/Makefile.in | 3 +++
+ tools/winedump/search.c | 2 +-
+ 8 files changed, 30 insertions(+), 27 deletions(-)
+
+diff --git a/Make.vars.in b/Make.vars.in
+index 100594b..812da6d 100644
+--- a/Make.vars.in
++++ b/Make.vars.in
+@@ -8,7 +8,7 @@ datarootdir = @datarootdir@
+ datadir = @datadir@
+ infodir = @infodir@
+ mandir = @mandir@
+-fontdir = $(datadir)/wine/fonts
++fontdir = $(datadir)/wine$(DATASUFFIX)/fonts
+ includedir = @includedir@/wine
+ dlldir = @libdir@/wine
+ fakedlldir = $(dlldir)/fakedlls
+diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
+index 56414a0..0439c12 100644
+--- a/dlls/Makedll.rules.in
++++ b/dlls/Makedll.rules.in
+@@ -17,7 +17,7 @@ IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
+ IMPLIBFLAGS = $(TARGETFLAGS) $(EXTRAIMPLIBFLAGS)
+ IMPORTLIBFILE = $(IMPORTLIB:%=lib%. at IMPLIBEXT@)
+ STATICIMPLIB = $(IMPORTLIBFILE:.def=.def.a)
+-INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
++INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)
+
+ @MAKE_RULES@
+
+diff --git a/dlls/wineps.drv/Makefile.in b/dlls/wineps.drv/Makefile.in
+index 1af9503..82b2d36 100644
+--- a/dlls/wineps.drv/Makefile.in
++++ b/dlls/wineps.drv/Makefile.in
+@@ -69,12 +69,12 @@ EXTRASUBDIRS = data
+
+ @MAKE_DLL_RULES@
+
+-install-ppd:: $(DESTDIR)$(datadir)/wine dummy
+- $(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine/generic.ppd
++install-ppd:: $(DESTDIR)$(datadir)/wine$(DATASUFFIX) dummy
++ $(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+
+ .PHONY: install-ppd
+
+ @WOW64_DISABLE@ install install-lib:: install-ppd
+
+ uninstall::
+- $(RM) $(DESTDIR)$(datadir)/wine/generic.ppd
++ $(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
+index ca93d26..977a1b6 100644
+--- a/libs/wine/Makefile.in
++++ b/libs/wine/Makefile.in
+@@ -6,7 +6,7 @@ DEFS = -D__WINESRC__ -DWINE_UNICODE_API=""
+
+ VERSION = 1.0
+ SOVERSION = 1
+-SONAME = libwine.so.$(SOVERSION)
++SONAME = libwine$(LIBSUFFIX).so.$(SOVERSION)
+ DYNAME = libwine.$(SOVERSION).dylib
+
+ INSTALLDIRS = $(DESTDIR)$(libdir)
+@@ -101,26 +101,26 @@ all: $(MODULE) $(MODULE:.dll=.a)
+ # Special defines needed for config.c
+
+ CONFIGDIRS = \
+- -DBINDIR='"$(bindir)"' \
++ -DBINDIR='"$(dlldir)"' \
+ -DDLLDIR='"$(dlldir)"' \
+- -DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
++ -DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
+ -DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
+- -DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
+- -DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"
++ -DBIN_TO_DLLDIR=\"`$(RELPATH) $(dlldir) $(dlldir)`\" \
++ -DBIN_TO_DATADIR=\"`$(RELPATH) $(dlldir) $(datadir)/wine$(DATASUFFIX)`\"
+
+ config.o: config.c $(RELPATH)
+ $(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS)
+
+ # Linking rules
+
+-libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
++libwine$(LIBSUFFIX).so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
+ $(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
+
+-libwine.so.$(SOVERSION): libwine.so.$(VERSION)
+- $(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@
++libwine$(LIBSUFFIX).so.$(SOVERSION): libwine$(LIBSUFFIX).so.$(VERSION)
++ $(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) $@
+
+-libwine.so: libwine.so.$(SOVERSION)
+- $(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@
++libwine.so: libwine$(LIBSUFFIX).so.$(SOVERSION)
++ $(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(SOVERSION) $@
+
+ libwine.a: wine.def
+ $(DLLTOOL) -l $@ -d $(srcdir)/wine.def
+@@ -143,9 +143,9 @@ libwine.dylib: libwine.$(SOVERSION).dylib
+
+ .PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
+
+-install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
+- $(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
+- cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)
++install-lib-so: libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir) dummy
++ $(INSTALL_PROGRAM) libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir)/libwine$(LIBSUFFIX).so.$(VERSION)
++ cd $(DESTDIR)$(libdir) && $(RM) libwine$(LIBSUFFIX).so.$(SOVERSION) && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine$(LIBSUFFIX).so.$(SOVERSION)
+
+ install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
+ $(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll
+@@ -155,7 +155,7 @@ install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
+ cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib
+
+ install-dev-so: $(DESTDIR)$(libdir) dummy
+- cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so
++ cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine.so
+
+ install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
+ $(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a
+diff --git a/loader/wine.man.in b/loader/wine.man.in
+index 6779b44..06ec278 100644
+--- a/loader/wine.man.in
++++ b/loader/wine.man.in
+@@ -87,7 +87,7 @@ processes.
+ Specifies the path and name of the
+ .B wineserver
+ binary. If not set, Wine will try to load
+-.BR @bindir@/wineserver ,
++.BR @dlldir@/wineserver,
+ and if this doesn't exist it will then look for a file named
+ "wineserver" in the path and in a few other likely locations.
+ .TP
+@@ -246,7 +246,7 @@ The
+ .B wine
+ program loader for CUI (console) applications.
+ .TP
+-.I @bindir@/wineserver
++.I @dlldir@/wineserver
+ The
+ .B wine
+ server
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 53dd9f0..c04923e 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -32,7 +32,7 @@ EXTRASUBDIRS = winapi
+ INSTALLDIRS = \
+ $(DESTDIR)$(bindir) \
+ $(DESTDIR)$(datadir)/applications \
+- $(DESTDIR)$(datadir)/wine \
++ $(DESTDIR)$(datadir)/wine$(DATASUFFIX) \
+ $(DESTDIR)$(mandir)/man$(prog_manext) \
+ $(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext) \
+ $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)
+@@ -71,8 +71,8 @@ wineapploader: wineapploader.in
+ sed -e 's, at bindir\@,$(bindir),g' $(srcdir)/wineapploader.in >$@ || ($(RM) $@ && false)
+
+ install install-lib:: wine.inf $(INSTALLDIRS)
+- $(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine/wine.inf
+- $(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine/l_intl.nls
++ $(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf
++ $(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls
+ $(INSTALL_DATA) $(srcdir)/wine.desktop $(DESTDIR)$(datadir)/applications/wine.desktop
+ -$(UPDATE_DESKTOP_DATABASE)
+
+@@ -84,8 +84,8 @@ install-man-pages:: $(EXTRA_MANPAGES) $(INSTALLDIRS)
+ $(INSTALL_DATA) winemaker.fr.man $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)
+
+ uninstall::
+- $(RM) $(DESTDIR)$(datadir)/wine/wine.inf \
+- $(DESTDIR)$(datadir)/wine/l_intl.nls \
++ $(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf \
++ $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls \
+ $(DESTDIR)$(datadir)/applications/wine.desktop \
+ $(DESTDIR)$(bindir)/winemaker \
+ $(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/winemaker.$(prog_manext) \
+diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
+index c61096a..e629e0d 100644
+--- a/tools/winedump/Makefile.in
++++ b/tools/winedump/Makefile.in
+@@ -26,6 +26,8 @@ C_SRCS = \
+
+ INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext)
+
++MODCFLAGS = -DDATADIR=\"$(datadir)/wine$(DATASUFFIX)/\"
++
+ all: $(PROGRAMS)
+
+ @MAKE_RULES@
+@@ -34,6 +36,7 @@ winedump$(EXEEXT): $(OBJS)
+ $(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
+
+ install install-dev:: $(PROGRAMS) $(DESTDIR)$(bindir)
++ mkdir -p $(DESTDIR)/$(datadir)/wine$(DATASUFFIX)
+ $(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
+ $(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
+
+diff --git a/tools/winedump/search.c b/tools/winedump/search.c
+index 2538caf..9a9169a 100644
+--- a/tools/winedump/search.c
++++ b/tools/winedump/search.c
+@@ -98,7 +98,7 @@ int symbol_search (parsed_symbol *sym)
+ if (VERBOSE)
+ puts (grep_buff);
+
+- cmd = str_create (5, "function_grep.pl ", sym->symbol,
++ cmd = str_create (5, DATADIR "function_grep.pl ", sym->symbol,
+ " \"", grep_buff, "\"");
+
+ if (VERBOSE)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..006d70a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+0001-sfnt2fnt-Fix-broken-.fon-files-on-big-endian-archite.patch
+0002-Doubled-size-of-MAX_FONTS.-Closes-145033.patch
+0003-various-path-related-patches.patch
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in
index 0439c12..56414a0 100644
--- a/dlls/Makedll.rules.in
+++ b/dlls/Makedll.rules.in
@@ -17,7 +17,7 @@ IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
IMPLIBFLAGS = $(TARGETFLAGS) $(EXTRAIMPLIBFLAGS)
IMPORTLIBFILE = $(IMPORTLIB:%=lib%. at IMPLIBEXT@)
STATICIMPLIB = $(IMPORTLIBFILE:.def=.def.a)
-INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)
+INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
@MAKE_RULES@
diff --git a/dlls/wineps.drv/Makefile.in b/dlls/wineps.drv/Makefile.in
index 82b2d36..1af9503 100644
--- a/dlls/wineps.drv/Makefile.in
+++ b/dlls/wineps.drv/Makefile.in
@@ -69,12 +69,12 @@ EXTRASUBDIRS = data
@MAKE_DLL_RULES@
-install-ppd:: $(DESTDIR)$(datadir)/wine$(DATASUFFIX) dummy
- $(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+install-ppd:: $(DESTDIR)$(datadir)/wine dummy
+ $(INSTALL_DATA) $(srcdir)/generic.ppd $(DESTDIR)$(datadir)/wine/generic.ppd
.PHONY: install-ppd
@WOW64_DISABLE@ install install-lib:: install-ppd
uninstall::
- $(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/generic.ppd
+ $(RM) $(DESTDIR)$(datadir)/wine/generic.ppd
diff --git a/dlls/winex11.drv/xfont.c b/dlls/winex11.drv/xfont.c
index 530bd21..fe2c5bc 100644
--- a/dlls/winex11.drv/xfont.c
+++ b/dlls/winex11.drv/xfont.c
@@ -53,7 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(font);
#define X_PFONT_MAGIC (0xFADE0000)
#define X_FMC_MAGIC (0x0000CAFE)
-#define MAX_FONTS 1024*32
+#define MAX_FONTS 1024*16
#define MAX_LFD_LENGTH 256
#define TILDE '~'
#define HYPHEN '-'
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index 977a1b6..ca93d26 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -6,7 +6,7 @@ DEFS = -D__WINESRC__ -DWINE_UNICODE_API=""
VERSION = 1.0
SOVERSION = 1
-SONAME = libwine$(LIBSUFFIX).so.$(SOVERSION)
+SONAME = libwine.so.$(SOVERSION)
DYNAME = libwine.$(SOVERSION).dylib
INSTALLDIRS = $(DESTDIR)$(libdir)
@@ -101,26 +101,26 @@ all: $(MODULE) $(MODULE:.dll=.a)
# Special defines needed for config.c
CONFIGDIRS = \
- -DBINDIR='"$(dlldir)"' \
+ -DBINDIR='"$(bindir)"' \
-DDLLDIR='"$(dlldir)"' \
- -DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
+ -DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
-DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
- -DBIN_TO_DLLDIR=\"`$(RELPATH) $(dlldir) $(dlldir)`\" \
- -DBIN_TO_DATADIR=\"`$(RELPATH) $(dlldir) $(datadir)/wine$(DATASUFFIX)`\"
+ -DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
+ -DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"
config.o: config.c $(RELPATH)
$(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS)
# Linking rules
-libwine$(LIBSUFFIX).so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
+libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
-libwine$(LIBSUFFIX).so.$(SOVERSION): libwine$(LIBSUFFIX).so.$(VERSION)
- $(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) $@
+libwine.so.$(SOVERSION): libwine.so.$(VERSION)
+ $(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@
-libwine.so: libwine$(LIBSUFFIX).so.$(SOVERSION)
- $(RM) $@ && $(LN_S) libwine$(LIBSUFFIX).so.$(SOVERSION) $@
+libwine.so: libwine.so.$(SOVERSION)
+ $(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@
libwine.a: wine.def
$(DLLTOOL) -l $@ -d $(srcdir)/wine.def
@@ -143,9 +143,9 @@ libwine.dylib: libwine.$(SOVERSION).dylib
.PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
-install-lib-so: libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir) dummy
- $(INSTALL_PROGRAM) libwine$(LIBSUFFIX).so.$(VERSION) $(DESTDIR)$(libdir)/libwine$(LIBSUFFIX).so.$(VERSION)
- cd $(DESTDIR)$(libdir) && $(RM) libwine$(LIBSUFFIX).so.$(SOVERSION) && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine$(LIBSUFFIX).so.$(SOVERSION)
+install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
+ $(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
+ cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)
install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
$(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll
@@ -155,7 +155,7 @@ install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib
install-dev-so: $(DESTDIR)$(libdir) dummy
- cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine$(LIBSUFFIX).so.$(VERSION) libwine.so
+ cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so
install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
$(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a
diff --git a/loader/wine.man.in b/loader/wine.man.in
index 06ec278..6779b44 100644
--- a/loader/wine.man.in
+++ b/loader/wine.man.in
@@ -87,7 +87,7 @@ processes.
Specifies the path and name of the
.B wineserver
binary. If not set, Wine will try to load
-.BR @dlldir@/wineserver,
+.BR @bindir@/wineserver ,
and if this doesn't exist it will then look for a file named
"wineserver" in the path and in a few other likely locations.
.TP
@@ -246,7 +246,7 @@ The
.B wine
program loader for CUI (console) applications.
.TP
-.I @dlldir@/wineserver
+.I @bindir@/wineserver
The
.B wine
server
diff --git a/tools/Makefile.in b/tools/Makefile.in
index c04923e..53dd9f0 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -32,7 +32,7 @@ EXTRASUBDIRS = winapi
INSTALLDIRS = \
$(DESTDIR)$(bindir) \
$(DESTDIR)$(datadir)/applications \
- $(DESTDIR)$(datadir)/wine$(DATASUFFIX) \
+ $(DESTDIR)$(datadir)/wine \
$(DESTDIR)$(mandir)/man$(prog_manext) \
$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext) \
$(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)
@@ -71,8 +71,8 @@ wineapploader: wineapploader.in
sed -e 's, at bindir\@,$(bindir),g' $(srcdir)/wineapploader.in >$@ || ($(RM) $@ && false)
install install-lib:: wine.inf $(INSTALLDIRS)
- $(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf
- $(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls
+ $(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine/wine.inf
+ $(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine/l_intl.nls
$(INSTALL_DATA) $(srcdir)/wine.desktop $(DESTDIR)$(datadir)/applications/wine.desktop
-$(UPDATE_DESKTOP_DATABASE)
@@ -84,8 +84,8 @@ install-man-pages:: $(EXTRA_MANPAGES) $(INSTALLDIRS)
$(INSTALL_DATA) winemaker.fr.man $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)
uninstall::
- $(RM) $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/wine.inf \
- $(DESTDIR)$(datadir)/wine$(DATASUFFIX)/l_intl.nls \
+ $(RM) $(DESTDIR)$(datadir)/wine/wine.inf \
+ $(DESTDIR)$(datadir)/wine/l_intl.nls \
$(DESTDIR)$(datadir)/applications/wine.desktop \
$(DESTDIR)$(bindir)/winemaker \
$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/winemaker.$(prog_manext) \
diff --git a/tools/sfnt2fnt.c b/tools/sfnt2fnt.c
index 07c82b1..df43ec0 100644
--- a/tools/sfnt2fnt.c
+++ b/tools/sfnt2fnt.c
@@ -43,7 +43,6 @@
#include "wine/unicode.h"
#include "wingdi.h"
-#include "basetsd.h"
#include "pshpack1.h"
@@ -188,30 +187,11 @@ typedef struct
} FT_Version_t;
static FT_Version_t FT_Version;
-#include "poppack.h"
-
#define GET_BE_WORD(ptr) MAKEWORD( ((BYTE *)(ptr))[1], ((BYTE *)(ptr))[0] )
#define GET_BE_DWORD(ptr) ((DWORD)MAKELONG( GET_BE_WORD(&((WORD *)(ptr))[1]), \
GET_BE_WORD(&((WORD *)(ptr))[0]) ))
-#ifdef WORDS_BIGENDIAN
-static WORD byteswap_word(WORD x)
-{
- return ( ( (x & 0xff) << 8) |
- ( (x & 0xff00) >> 8) );
-}
-static DWORD byteswap_dword(DWORD x)
-{
- return ( ( (x & 0xff) << 24) |
- ( (x & 0xff00) << 8) |
- ( (x & 0xff0000) >> 8) |
- ( (x & 0xff000000) >> 24) );
-}
-# define PUT_LE_WORD(x) byteswap_word(x)
-# define PUT_LE_DWORD(x) byteswap_dword(x)
-#else
-# define PUT_LE_WORD(x) (x)
-# define PUT_LE_DWORD(x) (x)
-#endif
+
+#include "poppack.h"
struct fontinfo
{
@@ -398,7 +378,7 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
size_table = (bitmapSizeTable_t *)(eblc + 1);
for(i = 0; i < num_sizes; i++)
{
- if( (signed char)size_table->hori.ascender - (signed char)size_table->hori.descender == ppem)
+ if(size_table->hori.ascender - size_table->hori.descender == ppem)
{
ascent = size_table->hori.ascender;
break;
@@ -590,50 +570,11 @@ static struct fontinfo *fill_fontinfo( const char *face_name, int ppem, int enc,
return info;
}
-static void adjust_fontinfo( FONTINFO16 * fi )
-{
- fi->dfType = PUT_LE_WORD(fi->dfType);
- fi->dfPoints = PUT_LE_WORD(fi->dfPoints);
- fi->dfVertRes = PUT_LE_WORD(fi->dfVertRes);
- fi->dfHorizRes = PUT_LE_WORD(fi->dfHorizRes);
- fi->dfAscent = PUT_LE_WORD(fi->dfAscent);
- fi->dfInternalLeading = PUT_LE_WORD(fi->dfInternalLeading);
- fi->dfExternalLeading = PUT_LE_WORD(fi->dfExternalLeading);
- fi->dfWeight = PUT_LE_WORD(fi->dfWeight);
- fi->dfPixWidth = PUT_LE_WORD(fi->dfPixWidth);
- fi->dfPixHeight = PUT_LE_WORD(fi->dfPixHeight);
- fi->dfAvgWidth = PUT_LE_WORD(fi->dfAvgWidth);
- fi->dfMaxWidth = PUT_LE_WORD(fi->dfMaxWidth);
- fi->dfWidthBytes = PUT_LE_WORD(fi->dfWidthBytes);
- fi->dfAspace = PUT_LE_WORD(fi->dfAspace);
- fi->dfBspace = PUT_LE_WORD(fi->dfBspace);
- fi->dfCspace = PUT_LE_WORD(fi->dfCspace);
- fi->dfDevice = PUT_LE_DWORD(fi->dfDevice);
- fi->dfFace = PUT_LE_DWORD(fi->dfFace);
- fi->dfBitsPointer = PUT_LE_DWORD(fi->dfBitsPointer);
- fi->dfBitsOffset = PUT_LE_DWORD(fi->dfBitsOffset);
- fi->dfFlags = PUT_LE_DWORD(fi->dfFlags);
- fi->dfColorPointer = PUT_LE_DWORD(fi->dfColorPointer);
-}
-
static void write_fontinfo( const struct fontinfo *info, FILE *fp )
{
- FNT_HEADER tmp_hdr;
- int num_chars, i;
- CHAR_TABLE_ENTRY tmp_chartable[258];
- memcpy(&tmp_hdr, &info->hdr, sizeof(info->hdr));
- tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
- tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
- adjust_fontinfo(&(tmp_hdr.fi));
- fwrite( &tmp_hdr, sizeof(info->hdr), 1, fp );
- num_chars = ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3;
-
- memcpy(&tmp_chartable, info->dfCharTable + info->hdr.fi.dfFirstChar, num_chars * sizeof(CHAR_TABLE_ENTRY));
- for (i=0; i < num_chars; ++i) {
- tmp_chartable[i].width = PUT_LE_WORD(tmp_chartable[i].width);
- tmp_chartable[i].offset = PUT_LE_DWORD(tmp_chartable[i].offset);
- }
- fwrite( tmp_chartable, sizeof(CHAR_TABLE_ENTRY), num_chars, fp );
+ fwrite( &info->hdr, sizeof(info->hdr), 1, fp );
+ fwrite( info->dfCharTable + info->hdr.fi.dfFirstChar, sizeof(*info->dfCharTable),
+ ((unsigned char)info->hdr.fi.dfLastChar - (unsigned char)info->hdr.fi.dfFirstChar) + 3, fp );
fwrite( info->data, info->hdr.dfSize - info->hdr.fi.dfBitsOffset, 1, fp );
}
@@ -689,7 +630,6 @@ int main(int argc, char **argv)
struct fontinfo **info;
char *input_file;
char **args;
- short tmp16;
args = parse_options( argc, argv );
@@ -756,21 +696,21 @@ int main(int argc, char **argv)
non_resident_name_off = sizeof(MZ_hdr) + module_ref_off + sizeof(align);
memset(&NE_hdr, 0, sizeof(NE_hdr));
- NE_hdr.ne_magic = PUT_LE_WORD(0x454e);
+ NE_hdr.ne_magic = 0x454e;
NE_hdr.ne_ver = 5;
NE_hdr.ne_rev = 1;
- NE_hdr.ne_flags = PUT_LE_WORD(NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI);
- NE_hdr.ne_cbnrestab = PUT_LE_WORD(non_resident_name_len);
- NE_hdr.ne_segtab = PUT_LE_WORD(sizeof(NE_hdr));
- NE_hdr.ne_rsrctab = PUT_LE_WORD(sizeof(NE_hdr));
- NE_hdr.ne_restab = PUT_LE_WORD(resident_name_off);
- NE_hdr.ne_modtab = PUT_LE_WORD(module_ref_off);
- NE_hdr.ne_imptab = PUT_LE_WORD(module_ref_off);
+ NE_hdr.ne_flags = NE_FFLAGS_LIBMODULE | NE_FFLAGS_GUI;
+ NE_hdr.ne_cbnrestab = non_resident_name_len;
+ NE_hdr.ne_segtab = sizeof(NE_hdr);
+ NE_hdr.ne_rsrctab = sizeof(NE_hdr);
+ NE_hdr.ne_restab = resident_name_off;
+ NE_hdr.ne_modtab = module_ref_off;
+ NE_hdr.ne_imptab = module_ref_off;
NE_hdr.ne_enttab = NE_hdr.ne_modtab;
- NE_hdr.ne_nrestab = PUT_LE_DWORD(non_resident_name_off);
- NE_hdr.ne_align = PUT_LE_WORD(4);
+ NE_hdr.ne_nrestab = non_resident_name_off;
+ NE_hdr.ne_align = 4;
NE_hdr.ne_exetyp = NE_OSFLAGS_WINDOWS;
- NE_hdr.ne_expver = PUT_LE_WORD(0x400);
+ NE_hdr.ne_expver = 0x400;
fontdir_off = (non_resident_name_off + non_resident_name_len + 15) & ~0xf;
font_off = (fontdir_off + fontdir_len + 15) & ~0x0f;
@@ -809,34 +749,34 @@ int main(int argc, char **argv)
fwrite(MZ_hdr, sizeof(MZ_hdr), 1, ofp);
fwrite(&NE_hdr, sizeof(NE_hdr), 1, ofp);
- align = PUT_LE_WORD(4);
+ align = 4;
fwrite(&align, sizeof(align), 1, ofp);
- rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONTDIR);
- rc_type.count = PUT_LE_WORD(1);
+ rc_type.type_id = NE_RSCTYPE_FONTDIR;
+ rc_type.count = 1;
rc_type.resloader = 0;
fwrite(&rc_type, sizeof(rc_type), 1, ofp);
- rc_name.offset = PUT_LE_WORD(fontdir_off >> 4);
- rc_name.length = PUT_LE_WORD((fontdir_len + 15) >> 4);
- rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD);
- rc_name.id = PUT_LE_WORD(resident_name_off - sizeof("FONTDIR") - sizeof(NE_hdr));
+ rc_name.offset = fontdir_off >> 4;
+ rc_name.length = (fontdir_len + 15) >> 4;
+ rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_PRELOAD;
+ rc_name.id = resident_name_off - sizeof("FONTDIR") - NE_hdr.ne_rsrctab;
rc_name.handle = 0;
rc_name.usage = 0;
fwrite(&rc_name, sizeof(rc_name), 1, ofp);
- rc_type.type_id = PUT_LE_WORD(NE_RSCTYPE_FONT);
- rc_type.count = PUT_LE_WORD(num_files);
+ rc_type.type_id = NE_RSCTYPE_FONT;
+ rc_type.count = num_files;
rc_type.resloader = 0;
fwrite(&rc_type, sizeof(rc_type), 1, ofp);
for(res = first_res | 0x8000, i = 0; i < num_files; i++, res++) {
int len = (info[i]->hdr.dfSize + 15) & ~0xf;
- rc_name.offset = PUT_LE_WORD(font_off >> 4);
- rc_name.length = PUT_LE_WORD(len >> 4);
- rc_name.flags = PUT_LE_WORD(NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE);
- rc_name.id = PUT_LE_WORD(res);
+ rc_name.offset = font_off >> 4;
+ rc_name.length = len >> 4;
+ rc_name.flags = NE_SEGFLAGS_MOVEABLE | NE_SEGFLAGS_SHAREABLE | NE_SEGFLAGS_DISCARDABLE;
+ rc_name.id = res;
rc_name.handle = 0;
rc_name.usage = 0;
fwrite(&rc_name, sizeof(rc_name), 1, ofp);
@@ -872,21 +812,12 @@ int main(int argc, char **argv)
fputc(0x00, ofp);
/* FONTDIR resource */
- tmp16 = PUT_LE_WORD(num_files);
- fwrite(&tmp16, sizeof(tmp16), 1, ofp);
+ fwrite(&num_files, sizeof(num_files), 1, ofp);
for(res = first_res, i = 0; i < num_files; i++, res++) {
- FNT_HEADER tmp_hdr;
- int sz;
const char *name = get_face_name( info[i] );
- tmp16 = PUT_LE_WORD(res);
- fwrite(&tmp16, sizeof(tmp16), 1, ofp);
- sz = FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset);
- memcpy(&tmp_hdr, &info[i]->hdr, sz);
- tmp_hdr.dfVersion = PUT_LE_WORD(tmp_hdr.dfVersion);
- tmp_hdr.dfSize = PUT_LE_DWORD(tmp_hdr.dfSize);
- adjust_fontinfo(&(tmp_hdr.fi));
- fwrite(&tmp_hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
+ fwrite(&res, sizeof(res), 1, ofp);
+ fwrite(&info[i]->hdr, FIELD_OFFSET(FNT_HEADER,fi.dfBitsOffset), 1, ofp);
fputc(0x00, ofp);
fwrite(name, strlen(name) + 1, 1, ofp);
}
diff --git a/tools/winedump/Makefile.in b/tools/winedump/Makefile.in
index e629e0d..c61096a 100644
--- a/tools/winedump/Makefile.in
+++ b/tools/winedump/Makefile.in
@@ -26,8 +26,6 @@ C_SRCS = \
INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext)
-MODCFLAGS = -DDATADIR=\"$(datadir)/wine$(DATASUFFIX)/\"
-
all: $(PROGRAMS)
@MAKE_RULES@
@@ -36,7 +34,6 @@ winedump$(EXEEXT): $(OBJS)
$(CC) $(CFLAGS) -o winedump$(EXEEXT) $(OBJS) $(LIBPORT) $(LDFLAGS)
install install-dev:: $(PROGRAMS) $(DESTDIR)$(bindir)
- mkdir -p $(DESTDIR)/$(datadir)/wine$(DATASUFFIX)
$(INSTALL_PROGRAM) winedump$(EXEEXT) $(DESTDIR)$(bindir)/winedump$(EXEEXT)
$(INSTALL_SCRIPT) $(srcdir)/function_grep.pl $(DESTDIR)$(bindir)/function_grep.pl
diff --git a/tools/winedump/search.c b/tools/winedump/search.c
index 9a9169a..2538caf 100644
--- a/tools/winedump/search.c
+++ b/tools/winedump/search.c
@@ -98,7 +98,7 @@ int symbol_search (parsed_symbol *sym)
if (VERBOSE)
puts (grep_buff);
- cmd = str_create (5, DATADIR "function_grep.pl ", sym->symbol,
+ cmd = str_create (5, "function_grep.pl ", sym->symbol,
" \"", grep_buff, "\"");
if (VERBOSE)
--
1.7.10.4
More information about the pkg-wine-party
mailing list