Skip to content

Commit b29ad60

Browse files
committed
fix compatibility with 0.8.7
1 parent c7014fc commit b29ad60

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

config.m4

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@ if test "$PHP_XLSWRITER" != "no"; then
7676
],[
7777
-L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
7878
])
79+
PHP_CHECK_LIBRARY(xlsxwriter, workbook_add_vba_project,
80+
[
81+
AC_DEFINE(HAVE_WORKBOOK_ADD_VBA_PROJECT, 1, [ workbook_add_vba_project available in 0.8.7 ])
82+
],[
83+
],[
84+
-L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
85+
])
7986
fi
8087
AC_DEFINE(HAVE_LIBXLSXWRITER, 1, [ use system libxlsxwriter ])
8188
else
@@ -85,13 +92,17 @@ if test "$PHP_XLSWRITER" != "no"; then
8592

8693
XLSXWRITER_VERSION=`$EGREP "define LXW_VERSION" $srcdir/library/include/xlsxwriter.h | $SED -e 's/[[^0-9\.]]//g'`
8794

88-
if test `echo $XLSXWRITER_VERSION | $SED -e 's/[[^0-9]]/ /g' | $AWK '{print $1*10000 + $2*100 + $3}'` -lt 800; then
95+
if test `echo $XLSXWRITER_VERSION | $SED -e 's/[[^0-9]]/ /g' | $AWK '{print $1*10000 + $2*100 + $3}'` -ge 709; then
8996
AC_DEFINE(HAVE_LXW_VERSION, 1, [ lxw_version available in 0.7.9 ])
9097
fi
9198

9299
if test `echo $XLSXWRITER_VERSION | $SED -e 's/[[^0-9]]/ /g' | $AWK '{print $1*10000 + $2*100 + $3}'` -ge 800; then
93100
AC_DEFINE(HAVE_LXW_CHARTSHEET_NEW, 1, [ lxw_chartsheet_new available in 0.8.0 ])
94101
fi
102+
103+
if test `echo $XLSXWRITER_VERSION | $SED -e 's/[[^0-9]]/ /g' | $AWK '{print $1*10000 + $2*100 + $3}'` -ge 807; then
104+
AC_DEFINE(HAVE_WORKBOOK_ADD_VBA_PROJECT, 1, [ workbook_add_vba_project available in 0.8.7 ])
105+
fi
95106
fi
96107

97108
if test -z "$PHP_DEBUG"; then

kernel/write.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,13 @@ workbook_file(xls_resource_t *self)
159159
/* Add cached data to charts. */
160160
_add_chart_cache_data(self->workbook);
161161

162+
/* ugly test, new param (use_zip_64) was added in 0.8.7 with workbook_add_vba_project */
163+
#ifdef HAVE_WORKBOOK_ADD_VBA_PROJECT
162164
/* Create a packager object to assemble sub-elements into a zip file. */
165+
packager = lxw_packager_new(self->workbook->filename, self->workbook->options.tmpdir, 0);
166+
#else
163167
packager = lxw_packager_new(self->workbook->filename, self->workbook->options.tmpdir);
168+
#endif
164169

165170
/* If the packager fails it is generally due to a zip permission error. */
166171
if (packager == NULL) {

0 commit comments

Comments
 (0)