fast_excel 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -7
- data/CHANGELOG.md +9 -0
- data/Gemfile +1 -1
- data/examples/example.rb +2 -0
- data/examples/example_date_time.rb +38 -0
- data/fast_excel.gemspec +2 -2
- data/lib/fast_excel/binding/format.rb +17 -0
- data/lib/fast_excel/binding/workbook.rb +39 -17
- data/lib/fast_excel/binding/worksheet.rb +57 -13
- data/lib/fast_excel/binding.rb +7 -7
- data/lib/fast_excel.rb +27 -20
- data/libxlsxwriter/.github/FUNDING.yml +1 -0
- data/libxlsxwriter/.github/ISSUE_TEMPLATE.md +85 -0
- data/libxlsxwriter/.github/PULL_REQUEST_TEMPLATE.md +130 -0
- data/libxlsxwriter/.github/workflows/cmake_actions.yml +48 -0
- data/libxlsxwriter/.github/workflows/code_style.yml +23 -0
- data/libxlsxwriter/.github/workflows/coverity.yml +22 -0
- data/libxlsxwriter/.github/workflows/make_actions.yml +52 -0
- data/libxlsxwriter/.github/workflows/valgrind.yml +23 -0
- data/libxlsxwriter/.github/workflows/windows_build.yml +54 -0
- data/libxlsxwriter/.github/workflows/zig_build.yml +22 -0
- data/libxlsxwriter/.gitignore +16 -1
- data/libxlsxwriter/.indent.pro +24 -0
- data/libxlsxwriter/CMakeLists.txt +156 -56
- data/libxlsxwriter/CONTRIBUTING.md +2 -2
- data/libxlsxwriter/Changes.txt +344 -2
- data/libxlsxwriter/LICENSE.txt +66 -8
- data/libxlsxwriter/Makefile +151 -54
- data/libxlsxwriter/Package.swift +42 -0
- data/libxlsxwriter/Readme.md +4 -2
- data/libxlsxwriter/build.zig +324 -0
- data/libxlsxwriter/build.zig.zon +11 -0
- data/libxlsxwriter/cmake/FindMINIZIP.cmake +3 -3
- data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +6 -0
- data/libxlsxwriter/include/xlsxwriter/app.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/chart.h +236 -32
- data/libxlsxwriter/include/xlsxwriter/chartsheet.h +7 -7
- data/libxlsxwriter/include/xlsxwriter/comment.h +76 -0
- data/libxlsxwriter/include/xlsxwriter/common.h +111 -50
- data/libxlsxwriter/include/xlsxwriter/content_types.h +8 -1
- data/libxlsxwriter/include/xlsxwriter/core.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/custom.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/drawing.h +11 -20
- data/libxlsxwriter/include/xlsxwriter/format.h +121 -8
- data/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/metadata.h +49 -0
- data/libxlsxwriter/include/xlsxwriter/packager.h +27 -16
- data/libxlsxwriter/include/xlsxwriter/relationships.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/shared_strings.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/styles.h +13 -7
- data/libxlsxwriter/include/xlsxwriter/table.h +51 -0
- data/libxlsxwriter/include/xlsxwriter/theme.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/third_party/emyg_dtoa.h +26 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +27 -25
- data/libxlsxwriter/include/xlsxwriter/third_party/md5.h +45 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +155 -153
- data/libxlsxwriter/include/xlsxwriter/utility.h +70 -8
- data/libxlsxwriter/include/xlsxwriter/vml.h +55 -0
- data/libxlsxwriter/include/xlsxwriter/workbook.h +218 -47
- data/libxlsxwriter/include/xlsxwriter/worksheet.h +2770 -241
- data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +12 -8
- data/libxlsxwriter/include/xlsxwriter.h +4 -2
- data/libxlsxwriter/libxlsxwriter.podspec +8 -5
- data/libxlsxwriter/src/Makefile +58 -21
- data/libxlsxwriter/src/app.c +5 -2
- data/libxlsxwriter/src/chart.c +396 -81
- data/libxlsxwriter/src/chartsheet.c +22 -22
- data/libxlsxwriter/src/comment.c +443 -0
- data/libxlsxwriter/src/content_types.c +40 -1
- data/libxlsxwriter/src/core.c +2 -2
- data/libxlsxwriter/src/custom.c +1 -1
- data/libxlsxwriter/src/drawing.c +160 -40
- data/libxlsxwriter/src/format.c +109 -25
- data/libxlsxwriter/src/hash_table.c +1 -1
- data/libxlsxwriter/src/metadata.c +283 -0
- data/libxlsxwriter/src/packager.c +794 -94
- data/libxlsxwriter/src/relationships.c +1 -1
- data/libxlsxwriter/src/shared_strings.c +2 -4
- data/libxlsxwriter/src/styles.c +353 -58
- data/libxlsxwriter/src/table.c +304 -0
- data/libxlsxwriter/src/theme.c +1 -1
- data/libxlsxwriter/src/utility.c +143 -43
- data/libxlsxwriter/src/vml.c +1062 -0
- data/libxlsxwriter/src/workbook.c +567 -77
- data/libxlsxwriter/src/worksheet.c +6668 -1462
- data/libxlsxwriter/src/xmlwriter.c +95 -5
- data/libxlsxwriter/third_party/dtoa/Makefile +42 -0
- data/libxlsxwriter/third_party/dtoa/emyg_dtoa.c +461 -0
- data/libxlsxwriter/third_party/dtoa/emyg_dtoa.h +26 -0
- data/libxlsxwriter/third_party/md5/Makefile +42 -0
- data/libxlsxwriter/third_party/md5/md5.c +291 -0
- data/libxlsxwriter/third_party/md5/md5.h +45 -0
- data/libxlsxwriter/third_party/minizip/Makefile +3 -8
- data/libxlsxwriter/third_party/minizip/Makefile.orig +8 -4
- data/libxlsxwriter/third_party/minizip/MiniZip64_Changes.txt +1 -1
- data/libxlsxwriter/third_party/minizip/configure.ac +1 -1
- data/libxlsxwriter/third_party/minizip/crypt.h +13 -16
- data/libxlsxwriter/third_party/minizip/ioapi.c +31 -57
- data/libxlsxwriter/third_party/minizip/ioapi.h +31 -23
- data/libxlsxwriter/third_party/minizip/iowin32.c +29 -45
- data/libxlsxwriter/third_party/minizip/iowin32.h +4 -4
- data/libxlsxwriter/third_party/minizip/miniunz.c +29 -56
- data/libxlsxwriter/third_party/minizip/minizip.c +38 -49
- data/libxlsxwriter/third_party/minizip/mztools.c +1 -7
- data/libxlsxwriter/third_party/minizip/unzip.c +202 -342
- data/libxlsxwriter/third_party/minizip/unzip.h +74 -74
- data/libxlsxwriter/third_party/minizip/zip.c +165 -218
- data/libxlsxwriter/third_party/minizip/zip.h +164 -154
- data/libxlsxwriter/third_party/tmpfileplus/Makefile +3 -3
- data/libxlsxwriter/version.txt +1 -1
- data/test/auto_width_test.rb +20 -0
- data/test/default_format_test.rb +1 -1
- data/test/validations_test.rb +3 -3
- data/test/worksheet_test.rb +6 -1
- metadata +33 -7
- data/libxlsxwriter/.travis.yml +0 -37
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2022, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* xmlwriter - A libxlsxwriter library for creating Excel XLSX
|
|
7
7
|
* XML files.
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
#include <stdint.h>
|
|
25
25
|
#include "utility.h"
|
|
26
26
|
|
|
27
|
-
#define LXW_MAX_ATTRIBUTE_LENGTH
|
|
27
|
+
#define LXW_MAX_ATTRIBUTE_LENGTH 2080 /* Max URL length. */
|
|
28
28
|
#define LXW_ATTR_32 32
|
|
29
29
|
|
|
30
30
|
#define LXW_ATTRIBUTE_COPY(dst, src) \
|
|
@@ -55,7 +55,7 @@ STAILQ_HEAD(xml_attribute_list, xml_attribute);
|
|
|
55
55
|
/* Create a new attribute struct to add to a xml_attribute_list. */
|
|
56
56
|
struct xml_attribute *lxw_new_attribute_str(const char *key,
|
|
57
57
|
const char *value);
|
|
58
|
-
struct xml_attribute *lxw_new_attribute_int(const char *key,
|
|
58
|
+
struct xml_attribute *lxw_new_attribute_int(const char *key, uint64_t value);
|
|
59
59
|
struct xml_attribute *lxw_new_attribute_dbl(const char *key, double value);
|
|
60
60
|
|
|
61
61
|
/* Macro to initialize the xml_attribute_list pointers. */
|
|
@@ -85,11 +85,13 @@ struct xml_attribute *lxw_new_attribute_dbl(const char *key, double value);
|
|
|
85
85
|
|
|
86
86
|
/* Macro to free xml_attribute_list and attribute. */
|
|
87
87
|
#define LXW_FREE_ATTRIBUTES() \
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
do { \
|
|
89
|
+
while (!STAILQ_EMPTY(&attributes)) { \
|
|
90
|
+
attribute = STAILQ_FIRST(&attributes); \
|
|
91
|
+
STAILQ_REMOVE_HEAD(&attributes, list_entries); \
|
|
92
|
+
free(attribute); \
|
|
93
|
+
} \
|
|
94
|
+
} while (0)
|
|
93
95
|
|
|
94
96
|
/**
|
|
95
97
|
* Create the XML declaration in an XML file.
|
|
@@ -167,7 +169,9 @@ void lxw_xml_data_element(FILE * xmlfile,
|
|
|
167
169
|
|
|
168
170
|
void lxw_xml_rich_si_element(FILE * xmlfile, const char *string);
|
|
169
171
|
|
|
172
|
+
uint8_t lxw_has_control_characters(const char *string);
|
|
170
173
|
char *lxw_escape_control_characters(const char *string);
|
|
174
|
+
char *lxw_escape_url_characters(const char *string, uint8_t escape_hash);
|
|
171
175
|
|
|
172
176
|
char *lxw_escape_data(const char *data);
|
|
173
177
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2022, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
#include "xlsxwriter/format.h"
|
|
19
19
|
#include "xlsxwriter/utility.h"
|
|
20
20
|
|
|
21
|
-
#define LXW_VERSION "
|
|
21
|
+
#define LXW_VERSION "1.1.5"
|
|
22
|
+
#define LXW_VERSION_ID 115
|
|
23
|
+
#define LXW_SOVERSION "5"
|
|
22
24
|
|
|
23
25
|
#endif /* __LXW_XLSXWRITER_H__ */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Pod::Spec.new do |s|
|
|
2
2
|
s.name = "libxlsxwriter"
|
|
3
|
-
s.version = "
|
|
3
|
+
s.version = "1.1.5"
|
|
4
4
|
s.summary = "Libxlsxwriter: A C library for creating Excel XLSX files."
|
|
5
|
-
s.ios.deployment_target = "
|
|
5
|
+
s.ios.deployment_target = "8.0"
|
|
6
6
|
s.osx.deployment_target = "10.8"
|
|
7
7
|
|
|
8
8
|
s.description = <<-DESC
|
|
@@ -17,7 +17,10 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
* Autofilters.
|
|
18
18
|
* Charts.
|
|
19
19
|
* Data validation and drop down lists.
|
|
20
|
-
*
|
|
20
|
+
* Conditional formatting.
|
|
21
|
+
* Worksheet PNG/JPEG/GIF images.
|
|
22
|
+
* Cell comments.
|
|
23
|
+
* Support for adding Macros.
|
|
21
24
|
* Memory optimisation mode for writing large files.
|
|
22
25
|
* Source code available on [GitHub](https://github.com/jmcnamara/libxlsxwriter).
|
|
23
26
|
* FreeBSD license.
|
|
@@ -35,8 +38,8 @@ Pod::Spec.new do |s|
|
|
|
35
38
|
s.author = { "John McNamara" => "jmcnamara@cpan.org" }
|
|
36
39
|
|
|
37
40
|
s.source = { :git => "https://github.com/jmcnamara/libxlsxwriter.git", :tag => "RELEASE_" + s.version.to_s }
|
|
38
|
-
s.source_files = "src
|
|
39
|
-
|
|
41
|
+
s.source_files = "src/*.c", "third_party/**/{zip.c,ioapi.c,tmpfileplus.c,md5.c}", "include/**/*.h"
|
|
42
|
+
s.preserve_paths = [ 'third_party/**/*.h' ]
|
|
40
43
|
s.header_dir = "xlsxwriter"
|
|
41
44
|
s.header_mappings_dir = "include"
|
|
42
45
|
s.library = "z"
|
data/libxlsxwriter/src/Makefile
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# Makefile for libxlsxwriter library.
|
|
4
4
|
#
|
|
5
|
-
# Copyright 2014-
|
|
5
|
+
# Copyright 2014-2022, John McNamara, jmcnamara@cpan.org
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
# Keep the output quiet by default.
|
|
@@ -11,6 +11,13 @@ ifdef V
|
|
|
11
11
|
Q=
|
|
12
12
|
endif
|
|
13
13
|
|
|
14
|
+
DESTDIR ?=
|
|
15
|
+
PREFIX ?= /usr/local
|
|
16
|
+
OPT_LEVEL ?= -O3
|
|
17
|
+
|
|
18
|
+
SOVERSION = $(shell sed -n -e 's/.*LXW_SOVERSION \"\(.*\)\"/\1/p' ../include/xlsxwriter.h)
|
|
19
|
+
|
|
20
|
+
|
|
14
21
|
# Directory variables.
|
|
15
22
|
OBJS_DIR = .
|
|
16
23
|
INC_DIR = ../include
|
|
@@ -27,7 +34,6 @@ MINIZIP_OBJ = $(MINIZIP_DIR)/ioapi.o $(MINIZIP_DIR)/zip.o
|
|
|
27
34
|
MINIZIP_SO = $(MINIZIP_DIR)/ioapi.so $(MINIZIP_DIR)/zip.so
|
|
28
35
|
endif
|
|
29
36
|
|
|
30
|
-
|
|
31
37
|
ifdef USE_STANDARD_TMPFILE
|
|
32
38
|
# Use standard/C tmpfile().
|
|
33
39
|
CFLAGS += -DUSE_STANDARD_TMPFILE
|
|
@@ -38,24 +44,45 @@ TMPFILEPLUS_OBJ = $(TMPFILEPLUS_DIR)/tmpfileplus.o
|
|
|
38
44
|
TMPFILEPLUS_SO = $(TMPFILEPLUS_DIR)/tmpfileplus.so
|
|
39
45
|
endif
|
|
40
46
|
|
|
47
|
+
ifdef USE_NO_MD5
|
|
48
|
+
# Don't use MD5 to avoid duplicate image files.
|
|
49
|
+
CFLAGS += -DUSE_NO_MD5
|
|
50
|
+
else
|
|
51
|
+
ifdef USE_OPENSSL_MD5
|
|
52
|
+
CFLAGS += -DUSE_OPENSSL_MD5 -Wno-deprecated-declarations
|
|
53
|
+
LIBS += -lcrypto
|
|
54
|
+
else
|
|
55
|
+
# Use md5 (the default).
|
|
56
|
+
MD5_DIR = ../third_party/md5
|
|
57
|
+
MD5_OBJ = $(MD5_DIR)/md5.o
|
|
58
|
+
MD5_SO = $(MD5_DIR)/md5.so
|
|
59
|
+
endif
|
|
60
|
+
endif
|
|
61
|
+
|
|
41
62
|
# Set flag for big endian architecture.
|
|
42
63
|
ifdef USE_BIG_ENDIAN
|
|
43
64
|
CFLAGS += -DLXW_BIG_ENDIAN
|
|
44
65
|
endif
|
|
45
66
|
|
|
46
|
-
# Use a
|
|
47
|
-
ifdef
|
|
48
|
-
CFLAGS += -
|
|
67
|
+
# Use a third party double number formatting function.
|
|
68
|
+
ifdef USE_DTOA_LIBRARY
|
|
69
|
+
CFLAGS += -DUSE_DTOA_LIBRARY
|
|
70
|
+
DTOA_LIB_DIR = ../third_party/dtoa
|
|
71
|
+
DTOA_LIB_OBJ = $(DTOA_LIB_DIR)/emyg_dtoa.o
|
|
72
|
+
DTOA_LIB_SO = $(DTOA_LIB_DIR)/emyg_dtoa.so
|
|
49
73
|
endif
|
|
50
74
|
|
|
51
|
-
#
|
|
52
|
-
|
|
75
|
+
# Use fmemopen()/open_memstream() to avoid creating temporary files
|
|
76
|
+
ifdef USE_MEM_FILE
|
|
77
|
+
USE_FMEMOPEN = 1
|
|
78
|
+
endif
|
|
53
79
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
CFLAGS += -DOF=_Z_OF
|
|
80
|
+
ifdef USE_FMEMOPEN
|
|
81
|
+
CFLAGS += -DUSE_FMEMOPEN
|
|
57
82
|
endif
|
|
58
83
|
|
|
84
|
+
# Flags passed to compiler.
|
|
85
|
+
CFLAGS += -g $(OPT_LEVEL) -Wall -Wextra -Wstrict-prototypes -pedantic -ansi
|
|
59
86
|
|
|
60
87
|
# Ignore icc remarks about inlining limits.
|
|
61
88
|
ifeq ($(CC),icc)
|
|
@@ -64,7 +91,7 @@ endif
|
|
|
64
91
|
|
|
65
92
|
# Library names.
|
|
66
93
|
LIBXLSXWRITER_A = libxlsxwriter.a
|
|
67
|
-
LIBXLSXWRITER_SO = libxlsxwriter.so
|
|
94
|
+
LIBXLSXWRITER_SO = libxlsxwriter.so.$(SOVERSION)
|
|
68
95
|
|
|
69
96
|
# Library with additional non-static functions for testing.
|
|
70
97
|
LIBXLSXWRITER_TO = libxlsxwriter_test.a
|
|
@@ -74,15 +101,15 @@ ARFLAGS = rc
|
|
|
74
101
|
|
|
75
102
|
# Flags passed to dynamic linker.
|
|
76
103
|
FPIC = -fPIC
|
|
77
|
-
SOFLAGS = -shared $(FPIC)
|
|
104
|
+
SOFLAGS = -shared $(FPIC) -Wl,-soname,$(LIBXLSXWRITER_SO)
|
|
78
105
|
|
|
79
106
|
# Get Env/OS name.
|
|
80
107
|
UNAME := $(shell uname)
|
|
81
108
|
|
|
82
109
|
# Change make options on OS X.
|
|
83
110
|
ifeq ($(UNAME), Darwin)
|
|
84
|
-
LIBXLSXWRITER_SO = libxlsxwriter.dylib
|
|
85
|
-
SOFLAGS = -dynamiclib $(FPIC) -install_name /
|
|
111
|
+
LIBXLSXWRITER_SO = libxlsxwriter.$(SOVERSION).dylib
|
|
112
|
+
SOFLAGS = -dynamiclib $(FPIC) -compatibility_version $(SOVERSION) -install_name $(PREFIX)/lib/$(LIBXLSXWRITER_SO) $(GCOV)
|
|
86
113
|
endif
|
|
87
114
|
|
|
88
115
|
# Check for MinGW/MinGW64/Cygwin environments.
|
|
@@ -118,11 +145,21 @@ TOBJS = $(patsubst %.c,%.to,$(SRCS))
|
|
|
118
145
|
all : $(LIBXLSXWRITER_A) $(LIBXLSXWRITER_SO)
|
|
119
146
|
$(Q)cp $(LIBXLSXWRITER_A) $(LIBXLSXWRITER_SO) ../lib
|
|
120
147
|
|
|
148
|
+
ifeq ($(UNAME), Darwin)
|
|
149
|
+
$(Q)rm -f ../lib/libxlsxwriter.dylib
|
|
150
|
+
$(Q)ln -s $(LIBXLSXWRITER_SO) ../lib/libxlsxwriter.dylib
|
|
151
|
+
endif
|
|
152
|
+
|
|
153
|
+
ifneq ($(UNAME), Darwin)
|
|
154
|
+
$(Q)rm -f ../lib/libxlsxwriter.so
|
|
155
|
+
$(Q)ln -s $(LIBXLSXWRITER_SO) ../lib/libxlsxwriter.so
|
|
156
|
+
endif
|
|
157
|
+
|
|
121
158
|
test_lib : libxlsxwriter_test.a
|
|
122
159
|
|
|
123
160
|
# The static library.
|
|
124
161
|
$(LIBXLSXWRITER_A) : $(OBJS)
|
|
125
|
-
$(Q)$(AR) $(ARFLAGS) $@ $(MINIZIP_OBJ) $(TMPFILEPLUS_OBJ) $^
|
|
162
|
+
$(Q)$(AR) $(ARFLAGS) $@ $(MINIZIP_OBJ) $(TMPFILEPLUS_OBJ) $(DTOA_LIB_OBJ) $(MD5_OBJ) $^
|
|
126
163
|
|
|
127
164
|
# The dynamic library.
|
|
128
165
|
ifeq ($(findstring m32,$(CFLAGS)),m32)
|
|
@@ -130,26 +167,26 @@ ARCH = -m32
|
|
|
130
167
|
endif
|
|
131
168
|
|
|
132
169
|
$(LIBXLSXWRITER_SO) : $(SOBJS)
|
|
133
|
-
$(Q)$(CC) $(LDFLAGS) $(SOFLAGS) $(ARCH) -o $@ $(MINIZIP_SO) $(TMPFILEPLUS_SO) $^ $(LIBS)
|
|
170
|
+
$(Q)$(CC) $(LDFLAGS) $(SOFLAGS) $(ARCH) $(TARGET_ARCH) -o $@ $(MINIZIP_SO) $(TMPFILEPLUS_SO) $(MD5_SO) $(DTOA_LIB_SO) $^ $(LIBS)
|
|
134
171
|
|
|
135
172
|
# The test library.
|
|
136
173
|
$(LIBXLSXWRITER_TO) : $(TOBJS)
|
|
137
|
-
$(Q)$(AR) $(ARFLAGS) $@ $(MINIZIP_OBJ) $(TMPFILEPLUS_OBJ) $^
|
|
174
|
+
$(Q)$(AR) $(ARFLAGS) $@ $(MINIZIP_OBJ) $(TMPFILEPLUS_OBJ) $(DTOA_LIB_SO) $(MD5_OBJ) $^
|
|
138
175
|
|
|
139
176
|
# Minimal target for quick compile without creating the libs.
|
|
140
177
|
test_compile : $(OBJS)
|
|
141
178
|
|
|
142
179
|
# Targets for the object files.
|
|
143
180
|
%.o : %.c $(HDRS)
|
|
144
|
-
$(Q)$(CC) -I$(INC_DIR) $(CFLAGS) $(CXXFLAGS) -c $<
|
|
181
|
+
$(Q)$(CC) -I$(INC_DIR) $(CFLAGS) $(CXXFLAGS) $(TARGET_ARCH) $(GCOV) -c $<
|
|
145
182
|
|
|
146
183
|
%.so : %.c $(HDRS)
|
|
147
|
-
$(Q)$(CC) $(FPIC) -I$(INC_DIR) $(
|
|
184
|
+
$(Q)$(CC) $(FPIC) -I$(INC_DIR) $(CFLAGS) $(CXXFLAGS) $(TARGET_ARCH) $(GCOV) -c $< -o $@
|
|
148
185
|
|
|
149
186
|
%.to : %.c $(HDRS)
|
|
150
|
-
$(Q)$(CC) -g
|
|
187
|
+
$(Q)$(CC) -g $(OPT_LEVEL) -DTESTING -I$(INC_DIR) $(CFLAGS) $(CXXFLAGS) $(GCOV) -c $< -o $@
|
|
151
188
|
|
|
152
189
|
|
|
153
190
|
# Clean up any temp/build files.
|
|
154
191
|
clean :
|
|
155
|
-
$(Q)rm -f *.o *.a *.so *.to *.dylib *.dll
|
|
192
|
+
$(Q)rm -f *.o *.a *.so *.so.* *.to *.dylib *.dll *.gcno *.gcda
|
data/libxlsxwriter/src/app.c
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2022, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -132,7 +132,10 @@ _write_application(lxw_app *self)
|
|
|
132
132
|
STATIC void
|
|
133
133
|
_write_doc_security(lxw_app *self)
|
|
134
134
|
{
|
|
135
|
-
|
|
135
|
+
if (self->doc_security == 2)
|
|
136
|
+
lxw_xml_data_element(self->file, "DocSecurity", "2", NULL);
|
|
137
|
+
else
|
|
138
|
+
lxw_xml_data_element(self->file, "DocSecurity", "0", NULL);
|
|
136
139
|
}
|
|
137
140
|
|
|
138
141
|
/*
|