Fix code style and add .gitignore entry

- Run make indent to fix formatting for CI compliance
- Add .claude/ to .gitignore
This commit is contained in:
nick 2026-01-03 13:17:54 -06:00
parent d6e295f220
commit 1260311271
14 changed files with 291 additions and 222 deletions

3
.gitignore vendored
View file

@ -59,4 +59,5 @@ third_party/zlib-1.2.8/zlib.pc
*zig-cache/
zig-out/
.swiftpm/
.swiftpm/
.claude/

View file

@ -1294,7 +1294,10 @@ The chart functions that support #lxw_chart_layout are:
@section ww_charts_limitations Chart Limitations
All chart features in the original Excel specification are supported.
The following chart features aren't currently supported in libxlsxwriter but
will be in time. See the [GitHub Chart Feature Requests][1].
[1]: https://github.com/jmcnamara/libxlsxwriter/issues
Next: @ref working_with_object_positioning

View file

@ -735,7 +735,6 @@ typedef enum lxw_chart_gradient_fill_type {
/** Path gradient fill. */
LXW_CHART_GRADIENT_FILL_PATH
} lxw_chart_gradient_fill_type;
/** Maximum number of gradient stops. */
@ -1462,8 +1461,7 @@ void lxw_chart_assemble_xml_file(lxw_chart *chart);
*/
lxw_chart_series *chart_add_series_impl(lxw_chart *chart,
const char *categories,
const char *values,
uint8_t y2_axis);
const char *values, uint8_t y2_axis);
/**
* @brief Macro wrapper for chart_add_series_impl with optional y2_axis parameter.
@ -1709,7 +1707,7 @@ void chart_series_set_pattern(lxw_chart_series *series,
* For more information see #lxw_chart_gradient_fill_type and @ref chart_gradient_fills.
*/
void chart_series_set_gradient(lxw_chart_series *series,
lxw_chart_gradient_fill *gradient);
lxw_chart_gradient_fill * gradient);
/**
* @brief Set the data marker type for a series.
@ -3814,7 +3812,7 @@ void chart_chartarea_set_pattern(lxw_chart *chart,
* For more information see #lxw_chart_gradient_fill_type.
*/
void chart_chartarea_set_gradient(lxw_chart *chart,
lxw_chart_gradient_fill *gradient);
lxw_chart_gradient_fill * gradient);
/**
* @brief Set the line properties for a plotarea.
@ -3887,7 +3885,7 @@ void chart_plotarea_set_pattern(lxw_chart *chart, lxw_chart_pattern *pattern);
* For more information see #lxw_chart_gradient_fill_type.
*/
void chart_plotarea_set_gradient(lxw_chart *chart,
lxw_chart_gradient_fill *gradient);
lxw_chart_gradient_fill * gradient);
/**
* @brief Set the manual layout of the chart plotarea.

View file

@ -39,8 +39,10 @@ extern "C" {
/* *INDENT-ON* */
lxw_feature_property_bag *lxw_feature_property_bag_new(void);
void lxw_feature_property_bag_free(lxw_feature_property_bag *feature_property_bag);
void lxw_feature_property_bag_assemble_xml_file(lxw_feature_property_bag *self);
void lxw_feature_property_bag_free(lxw_feature_property_bag
*feature_property_bag);
void lxw_feature_property_bag_assemble_xml_file(lxw_feature_property_bag
*self);
/* Declarations required for unit testing. */
#ifdef TESTING

View file

@ -160,7 +160,7 @@ typedef struct lxw_sparkline_options {
/* Internal sparkline structure with resolved values */
typedef struct lxw_sparkline {
STAILQ_ENTRY(lxw_sparkline) list_pointers;
STAILQ_ENTRY (lxw_sparkline) list_pointers;
char *range;
lxw_row_t row;

View file

@ -2983,8 +2983,7 @@ lxw_error worksheet_write_boolean(lxw_worksheet *worksheet,
*
*/
lxw_error worksheet_insert_checkbox(lxw_worksheet *worksheet,
lxw_row_t row, lxw_col_t col,
int value);
lxw_row_t row, lxw_col_t col, int value);
/**
* @brief Write a formatted blank worksheet cell.
@ -4155,7 +4154,7 @@ lxw_error worksheet_insert_textbox(lxw_worksheet *worksheet,
lxw_error worksheet_insert_textbox_opt(lxw_worksheet *worksheet,
lxw_row_t row, lxw_col_t col,
const char *text,
lxw_textbox_options *user_options);
lxw_textbox_options * user_options);
/**
* @brief Merge a range of cells.
@ -4652,7 +4651,7 @@ lxw_error worksheet_add_table(lxw_worksheet *worksheet, lxw_row_t first_row,
*/
lxw_error worksheet_add_sparkline(lxw_worksheet *worksheet,
lxw_row_t row, lxw_col_t col,
lxw_sparkline_options *options);
lxw_sparkline_options * options);
/**
* @brief Make a worksheet the active, i.e., visible worksheet.

View file

@ -324,10 +324,10 @@ lxw_chart_new(uint8_t type)
chart->y_axis->axis_position = LXW_CHART_AXIS_LEFT;
/* Set the default secondary axis positions and properties. */
chart->x2_axis->axis_position = LXW_CHART_AXIS_BOTTOM; /* Same as primary X axis */
chart->x2_axis->axis_position = LXW_CHART_AXIS_BOTTOM; /* Same as primary X axis */
chart->y2_axis->axis_position = LXW_CHART_AXIS_RIGHT;
chart->x2_axis->hidden = LXW_TRUE; /* Secondary X axis hidden by default */
chart->y2_axis->crossing_max = LXW_TRUE; /* Secondary Y axis crosses at max */
chart->y2_axis->crossing_max = LXW_TRUE; /* Secondary Y axis crosses at max */
/* Set the default axis number formats. */
_chart_axis_set_default_num_format(chart->x_axis, "General");
@ -511,7 +511,8 @@ _chart_convert_gradient_args(lxw_chart_gradient_fill *user_gradient)
gradient->angle = user_gradient->angle;
/* Set default angle for linear gradients. */
if (gradient->type == LXW_CHART_GRADIENT_FILL_LINEAR && gradient->angle == 0)
if (gradient->type == LXW_CHART_GRADIENT_FILL_LINEAR
&& gradient->angle == 0)
gradient->angle = 90;
for (i = 0; i < gradient->num_stops; i++) {
@ -2301,7 +2302,8 @@ _chart_write_a_grad_fill(lxw_chart *self, lxw_chart_gradient_fill *gradient)
*/
STATIC void
_chart_write_sp_pr_with_gradient(lxw_chart *self, lxw_chart_line *line,
lxw_chart_fill *fill, lxw_chart_pattern *pattern,
lxw_chart_fill *fill,
lxw_chart_pattern *pattern,
lxw_chart_gradient_fill *gradient)
{
if (!line && !fill && !pattern && !gradient)
@ -5573,12 +5575,13 @@ _chart_write_stock_chart(lxw_chart *self, uint8_t primary_axes)
uint16_t index = 0;
/* Default line for stock chart series (width 2.25, noFill). */
lxw_chart_line default_line = {.width = 2.25, .none = LXW_TRUE};
lxw_chart_line default_line = {.width = 2.25,.none = LXW_TRUE };
/* Default markers for stock chart series. */
lxw_chart_marker default_marker_none = {.type = LXW_CHART_MARKER_NONE};
lxw_chart_marker default_marker_none = {.type = LXW_CHART_MARKER_NONE };
lxw_chart_marker default_marker_dot = {.type = LXW_CHART_MARKER_DOT,
.size = 3};
.size = 3
};
/* Check if there are any series for this axis type. */
STAILQ_FOREACH(series, self->series_list, list_pointers) {
@ -5878,8 +5881,10 @@ _chart_write_scatter_plot_area(lxw_chart *self)
}
/* Write the c:spPr element for the plotarea formatting. */
_chart_write_sp_pr_with_gradient(self, self->plotarea_line, self->plotarea_fill,
self->plotarea_pattern, self->plotarea_gradient);
_chart_write_sp_pr_with_gradient(self, self->plotarea_line,
self->plotarea_fill,
self->plotarea_pattern,
self->plotarea_gradient);
lxw_xml_end_tag(self->file, "c:plotArea");
}
@ -5908,8 +5913,10 @@ _chart_write_pie_plot_area(lxw_chart *self)
}
/* Write the c:spPr element for the plotarea formatting. */
_chart_write_sp_pr_with_gradient(self, self->plotarea_line, self->plotarea_fill,
self->plotarea_pattern, self->plotarea_gradient);
_chart_write_sp_pr_with_gradient(self, self->plotarea_line,
self->plotarea_fill,
self->plotarea_pattern,
self->plotarea_gradient);
lxw_xml_end_tag(self->file, "c:plotArea");
}
@ -5979,8 +5986,10 @@ _chart_write_stock_plot_area(lxw_chart *self)
_chart_write_d_table(self);
/* Write the c:spPr element for the plotarea formatting. */
_chart_write_sp_pr_with_gradient(self, self->plotarea_line, self->plotarea_fill,
self->plotarea_pattern, self->plotarea_gradient);
_chart_write_sp_pr_with_gradient(self, self->plotarea_line,
self->plotarea_fill,
self->plotarea_pattern,
self->plotarea_gradient);
lxw_xml_end_tag(self->file, "c:plotArea");
}
@ -6063,8 +6072,10 @@ _chart_write_plot_area(lxw_chart *self)
_chart_write_d_table(self);
/* Write the c:spPr element for the plotarea formatting. */
_chart_write_sp_pr_with_gradient(self, self->plotarea_line, self->plotarea_fill,
self->plotarea_pattern, self->plotarea_gradient);
_chart_write_sp_pr_with_gradient(self, self->plotarea_line,
self->plotarea_fill,
self->plotarea_pattern,
self->plotarea_gradient);
lxw_xml_end_tag(self->file, "c:plotArea");
}
@ -6424,8 +6435,10 @@ lxw_chart_assemble_xml_file(lxw_chart *self)
_chart_write_chart(self);
/* Write the c:spPr element for the chartarea formatting. */
_chart_write_sp_pr_with_gradient(self, self->chartarea_line, self->chartarea_fill,
self->chartarea_pattern, self->chartarea_gradient);
_chart_write_sp_pr_with_gradient(self, self->chartarea_line,
self->chartarea_fill,
self->chartarea_pattern,
self->chartarea_gradient);
/* Write the c:printSettings element. */
if (!self->is_chartsheet)
@ -6468,15 +6481,14 @@ lxw_chart_add_data_cache(lxw_series_range *range, uint8_t *data,
* Add a series to the chart.
*/
lxw_chart_series *
chart_add_series_impl(lxw_chart *self, const char *categories, const char *values,
uint8_t y2_axis)
chart_add_series_impl(lxw_chart *self, const char *categories,
const char *values, uint8_t y2_axis)
{
lxw_chart_series *series;
/* Scatter charts require categories and values. */
if (self->chart_group == LXW_CHART_SCATTER && values && !categories) {
LXW_WARN("chart_add_series(): scatter charts must have "
"'categories' and 'values'"); /* Keep user-facing name */
LXW_WARN("chart_add_series(): scatter charts must have " "'categories' and 'values'"); /* Keep user-facing name */
return NULL;
}
@ -7952,7 +7964,8 @@ chart_chartarea_set_pattern(lxw_chart *self, lxw_chart_pattern *pattern)
* Set a gradient fill type for the chartarea.
*/
void
chart_chartarea_set_gradient(lxw_chart *self, lxw_chart_gradient_fill *gradient)
chart_chartarea_set_gradient(lxw_chart *self,
lxw_chart_gradient_fill *gradient)
{
if (!gradient)
return;
@ -8012,7 +8025,8 @@ chart_plotarea_set_pattern(lxw_chart *self, lxw_chart_pattern *pattern)
* Set a gradient fill type for the plotarea.
*/
void
chart_plotarea_set_gradient(lxw_chart *self, lxw_chart_gradient_fill *gradient)
chart_plotarea_set_gradient(lxw_chart *self,
lxw_chart_gradient_fill *gradient)
{
if (!gradient)
return;
@ -8193,9 +8207,9 @@ chart_set_series_overlap_y2(lxw_chart *self, int8_t overlap)
if (overlap >= -100 && overlap <= 100)
self->overlap_y2 = overlap;
else
LXW_WARN_FORMAT1("chart_set_series_overlap_y2(): Chart series overlap "
"'%d' outside Excel range: -100 <= overlap <= 100",
overlap);
LXW_WARN_FORMAT1
("chart_set_series_overlap_y2(): Chart series overlap "
"'%d' outside Excel range: -100 <= overlap <= 100", overlap);
}
/*

View file

@ -664,7 +664,8 @@ _drawing_write_a_prst_geom_rect(lxw_drawing *self)
* Write the <xdr:spPr> element for shapes.
*/
STATIC void
_drawing_write_sp_pr_shape(lxw_drawing *self, lxw_drawing_object *drawing_object)
_drawing_write_sp_pr_shape(lxw_drawing *self,
lxw_drawing_object *drawing_object)
{
struct xml_attribute_list attributes;
struct xml_attribute *attribute;

View file

@ -78,7 +78,7 @@ _write_feature_property_bags(lxw_feature_property_bag *self)
LXW_INIT_ATTRIBUTES();
LXW_PUSH_ATTRIBUTES_STR("xmlns",
"http://schemas.microsoft.com/office/spreadsheetml/2022/featurepropertybag");
"http://schemas.microsoft.com/office/spreadsheetml/2022/featurepropertybag");
lxw_xml_start_tag(self->file, "FeaturePropertyBags", &attributes);

View file

@ -36,7 +36,7 @@ ansi_to_utf8(const char *ansi_str)
if (wide_len == 0)
return NULL;
wchar_t *wide_str = (wchar_t *)malloc(wide_len * sizeof(wchar_t));
wchar_t *wide_str = (wchar_t *) malloc(wide_len * sizeof(wchar_t));
if (!wide_str)
return NULL;
@ -46,19 +46,21 @@ ansi_to_utf8(const char *ansi_str)
}
/* Then convert UTF-16 to UTF-8 */
int utf8_len = WideCharToMultiByte(CP_UTF8, 0, wide_str, -1, NULL, 0, NULL, NULL);
int utf8_len =
WideCharToMultiByte(CP_UTF8, 0, wide_str, -1, NULL, 0, NULL, NULL);
if (utf8_len == 0) {
free(wide_str);
return NULL;
}
char *utf8_str = (char *)malloc(utf8_len);
char *utf8_str = (char *) malloc(utf8_len);
if (!utf8_str) {
free(wide_str);
return NULL;
}
if (WideCharToMultiByte(CP_UTF8, 0, wide_str, -1, utf8_str, utf8_len, NULL, NULL) == 0) {
if (WideCharToMultiByte
(CP_UTF8, 0, wide_str, -1, utf8_str, utf8_len, NULL, NULL) == 0) {
free(wide_str);
free(utf8_str);
return NULL;
@ -87,21 +89,27 @@ ansi_to_utf8(const char *str)
* ============================================================================ */
lxw_error
worksheet_write_string_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *string, lxw_format *format)
worksheet_write_string_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *string,
lxw_format *format)
{
char *utf8 = ansi_to_utf8(string);
lxw_error err = worksheet_write_string(worksheet, row, col, utf8 ? utf8 : string, format);
lxw_error err =
worksheet_write_string(worksheet, row, col, utf8 ? utf8 : string,
format);
free(utf8);
return err;
}
lxw_error
worksheet_write_formula_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *formula, lxw_format *format)
worksheet_write_formula_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *formula,
lxw_format *format)
{
char *utf8 = ansi_to_utf8(formula);
lxw_error err = worksheet_write_formula(worksheet, row, col, utf8 ? utf8 : formula, format);
lxw_error err =
worksheet_write_formula(worksheet, row, col, utf8 ? utf8 : formula,
format);
free(utf8);
return err;
}
@ -111,17 +119,19 @@ worksheet_write_url_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *url, lxw_format *format)
{
char *utf8 = ansi_to_utf8(url);
lxw_error err = worksheet_write_url(worksheet, row, col, utf8 ? utf8 : url, format);
lxw_error err =
worksheet_write_url(worksheet, row, col, utf8 ? utf8 : url, format);
free(utf8);
return err;
}
lxw_error
worksheet_write_comment_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *string)
worksheet_write_comment_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *string)
{
char *utf8 = ansi_to_utf8(string);
lxw_error err = worksheet_write_comment(worksheet, row, col, utf8 ? utf8 : string);
lxw_error err =
worksheet_write_comment(worksheet, row, col, utf8 ? utf8 : string);
free(utf8);
return err;
}
@ -145,13 +155,16 @@ worksheet_set_footer_lv(lxw_worksheet *worksheet, const char *footer)
}
lxw_error
worksheet_merge_range_lv(lxw_worksheet *worksheet, lxw_row_t first_row, lxw_col_t first_col,
lxw_row_t last_row, lxw_col_t last_col, const char *string,
worksheet_merge_range_lv(lxw_worksheet *worksheet, lxw_row_t first_row,
lxw_col_t first_col, lxw_row_t last_row,
lxw_col_t last_col, const char *string,
lxw_format *format)
{
char *utf8 = ansi_to_utf8(string);
lxw_error err = worksheet_merge_range(worksheet, first_row, first_col, last_row, last_col,
utf8 ? utf8 : string, format);
lxw_error err =
worksheet_merge_range(worksheet, first_row, first_col, last_row,
last_col,
utf8 ? utf8 : string, format);
free(utf8);
return err;
}
@ -165,21 +178,25 @@ worksheet_set_comments_author_lv(lxw_worksheet *worksheet, const char *author)
}
lxw_error
worksheet_insert_textbox_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *text)
worksheet_insert_textbox_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *text)
{
char *utf8 = ansi_to_utf8(text);
lxw_error err = worksheet_insert_textbox(worksheet, row, col, utf8 ? utf8 : text);
lxw_error err =
worksheet_insert_textbox(worksheet, row, col, utf8 ? utf8 : text);
free(utf8);
return err;
}
lxw_error
worksheet_insert_textbox_opt_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *text, lxw_textbox_options *options)
worksheet_insert_textbox_opt_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *text,
lxw_textbox_options *options)
{
char *utf8 = ansi_to_utf8(text);
lxw_error err = worksheet_insert_textbox_opt(worksheet, row, col, utf8 ? utf8 : text, options);
lxw_error err =
worksheet_insert_textbox_opt(worksheet, row, col, utf8 ? utf8 : text,
options);
free(utf8);
return err;
}
@ -189,15 +206,17 @@ worksheet_insert_textbox_opt_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col
* ============================================================================ */
lxw_chart_series *
chart_add_series_lv(lxw_chart *chart, const char *categories, const char *values,
uint8_t y2_axis)
chart_add_series_lv(lxw_chart *chart, const char *categories,
const char *values, uint8_t y2_axis)
{
char *utf8_cat = ansi_to_utf8(categories);
char *utf8_val = ansi_to_utf8(values);
lxw_chart_series *series = chart_add_series_impl(chart,
utf8_cat ? utf8_cat : categories,
utf8_val ? utf8_val : values,
y2_axis);
utf8_cat ? utf8_cat :
categories,
utf8_val ? utf8_val :
values,
y2_axis);
free(utf8_cat);
free(utf8_val);
return series;
@ -244,7 +263,8 @@ chart_axis_set_num_format_lv(lxw_chart_axis *axis, const char *num_format)
}
void
chart_series_set_labels_num_format_lv(lxw_chart_series *series, const char *num_format)
chart_series_set_labels_num_format_lv(lxw_chart_series *series,
const char *num_format)
{
char *utf8 = ansi_to_utf8(num_format);
chart_series_set_labels_num_format(series, utf8 ? utf8 : num_format);
@ -252,9 +272,10 @@ chart_series_set_labels_num_format_lv(lxw_chart_series *series, const char *num_
}
void
chart_series_set_categories_lv(lxw_chart_series *series, const char *sheetname,
lxw_row_t first_row, lxw_col_t first_col,
lxw_row_t last_row, lxw_col_t last_col)
chart_series_set_categories_lv(lxw_chart_series *series,
const char *sheetname, lxw_row_t first_row,
lxw_col_t first_col, lxw_row_t last_row,
lxw_col_t last_col)
{
char *utf8 = ansi_to_utf8(sheetname);
chart_series_set_categories(series, utf8 ? utf8 : sheetname,
@ -274,8 +295,9 @@ chart_series_set_values_lv(lxw_chart_series *series, const char *sheetname,
}
void
chart_series_set_name_range_lv(lxw_chart_series *series, const char *sheetname,
lxw_row_t row, lxw_col_t col)
chart_series_set_name_range_lv(lxw_chart_series *series,
const char *sheetname, lxw_row_t row,
lxw_col_t col)
{
char *utf8 = ansi_to_utf8(sheetname);
chart_series_set_name_range(series, utf8 ? utf8 : sheetname, row, col);
@ -332,7 +354,8 @@ workbook_add_worksheet_lv(lxw_workbook *workbook, const char *sheetname)
return workbook_add_worksheet(workbook, NULL);
}
char *utf8 = ansi_to_utf8(sheetname);
lxw_worksheet *ws = workbook_add_worksheet(workbook, utf8 ? utf8 : sheetname);
lxw_worksheet *ws =
workbook_add_worksheet(workbook, utf8 ? utf8 : sheetname);
free(utf8);
return ws;
}
@ -345,19 +368,22 @@ workbook_add_chartsheet_lv(lxw_workbook *workbook, const char *sheetname)
return workbook_add_chartsheet(workbook, NULL);
}
char *utf8 = ansi_to_utf8(sheetname);
lxw_chartsheet *cs = workbook_add_chartsheet(workbook, utf8 ? utf8 : sheetname);
lxw_chartsheet *cs =
workbook_add_chartsheet(workbook, utf8 ? utf8 : sheetname);
free(utf8);
return cs;
}
lxw_error
workbook_define_name_lv(lxw_workbook *workbook, const char *name, const char *formula)
workbook_define_name_lv(lxw_workbook *workbook, const char *name,
const char *formula)
{
char *utf8_name = ansi_to_utf8(name);
char *utf8_formula = ansi_to_utf8(formula);
lxw_error err = workbook_define_name(workbook,
utf8_name ? utf8_name : name,
utf8_formula ? utf8_formula : formula);
utf8_formula ? utf8_formula :
formula);
free(utf8_name);
free(utf8_formula);
return err;
@ -367,7 +393,8 @@ lxw_worksheet *
workbook_get_worksheet_by_name_lv(lxw_workbook *workbook, const char *name)
{
char *utf8 = ansi_to_utf8(name);
lxw_worksheet *ws = workbook_get_worksheet_by_name(workbook, utf8 ? utf8 : name);
lxw_worksheet *ws =
workbook_get_worksheet_by_name(workbook, utf8 ? utf8 : name);
free(utf8);
return ws;
}
@ -376,7 +403,8 @@ lxw_chartsheet *
workbook_get_chartsheet_by_name_lv(lxw_workbook *workbook, const char *name)
{
char *utf8 = ansi_to_utf8(name);
lxw_chartsheet *cs = workbook_get_chartsheet_by_name(workbook, utf8 ? utf8 : name);
lxw_chartsheet *cs =
workbook_get_chartsheet_by_name(workbook, utf8 ? utf8 : name);
free(utf8);
return cs;
}
@ -385,20 +413,23 @@ lxw_error
workbook_validate_sheet_name_lv(lxw_workbook *workbook, const char *sheetname)
{
char *utf8 = ansi_to_utf8(sheetname);
lxw_error err = workbook_validate_sheet_name(workbook, utf8 ? utf8 : sheetname);
lxw_error err =
workbook_validate_sheet_name(workbook, utf8 ? utf8 : sheetname);
free(utf8);
return err;
}
lxw_error
workbook_set_custom_property_string_lv(lxw_workbook *workbook, const char *name,
const char *value)
workbook_set_custom_property_string_lv(lxw_workbook *workbook,
const char *name, const char *value)
{
char *utf8_name = ansi_to_utf8(name);
char *utf8_value = ansi_to_utf8(value);
lxw_error err = workbook_set_custom_property_string(workbook,
utf8_name ? utf8_name : name,
utf8_value ? utf8_value : value);
utf8_name ? utf8_name
: name,
utf8_value ?
utf8_value : value);
free(utf8_name);
free(utf8_value);
return err;
@ -449,41 +480,49 @@ workbook_new_opt_lv(const char *filename, lxw_workbook_options *options)
}
lxw_error
worksheet_insert_image_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *filename)
worksheet_insert_image_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *filename)
{
char *utf8 = ansi_to_utf8(filename);
lxw_error err = worksheet_insert_image(worksheet, row, col, utf8 ? utf8 : filename);
lxw_error err =
worksheet_insert_image(worksheet, row, col, utf8 ? utf8 : filename);
free(utf8);
return err;
}
lxw_error
worksheet_insert_image_opt_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *filename, lxw_image_options *options)
worksheet_insert_image_opt_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *filename,
lxw_image_options *options)
{
char *utf8 = ansi_to_utf8(filename);
lxw_error err = worksheet_insert_image_opt(worksheet, row, col, utf8 ? utf8 : filename, options);
lxw_error err = worksheet_insert_image_opt(worksheet, row, col,
utf8 ? utf8 : filename,
options);
free(utf8);
return err;
}
lxw_error
worksheet_embed_image_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *filename)
worksheet_embed_image_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *filename)
{
char *utf8 = ansi_to_utf8(filename);
lxw_error err = worksheet_embed_image(worksheet, row, col, utf8 ? utf8 : filename);
lxw_error err =
worksheet_embed_image(worksheet, row, col, utf8 ? utf8 : filename);
free(utf8);
return err;
}
lxw_error
worksheet_embed_image_opt_lv(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col,
const char *filename, lxw_image_options *options)
worksheet_embed_image_opt_lv(lxw_worksheet *worksheet, lxw_row_t row,
lxw_col_t col, const char *filename,
lxw_image_options *options)
{
char *utf8 = ansi_to_utf8(filename);
lxw_error err = worksheet_embed_image_opt(worksheet, row, col, utf8 ? utf8 : filename, options);
lxw_error err =
worksheet_embed_image_opt(worksheet, row, col, utf8 ? utf8 : filename,
options);
free(utf8);
return err;
}
@ -492,7 +531,8 @@ lxw_error
worksheet_set_background_lv(lxw_worksheet *worksheet, const char *filename)
{
char *utf8 = ansi_to_utf8(filename);
lxw_error err = worksheet_set_background(worksheet, utf8 ? utf8 : filename);
lxw_error err =
worksheet_set_background(worksheet, utf8 ? utf8 : filename);
free(utf8);
return err;
}
@ -501,20 +541,24 @@ lxw_error
workbook_add_vba_project_lv(lxw_workbook *workbook, const char *filename)
{
char *utf8 = ansi_to_utf8(filename);
lxw_error err = workbook_add_vba_project(workbook, utf8 ? utf8 : filename);
lxw_error err =
workbook_add_vba_project(workbook, utf8 ? utf8 : filename);
free(utf8);
return err;
}
lxw_error
workbook_add_signed_vba_project_lv(lxw_workbook *workbook, const char *vba_project,
workbook_add_signed_vba_project_lv(lxw_workbook *workbook,
const char *vba_project,
const char *signature)
{
char *utf8_vba = ansi_to_utf8(vba_project);
char *utf8_sig = ansi_to_utf8(signature);
lxw_error err = workbook_add_signed_vba_project(workbook,
utf8_vba ? utf8_vba : vba_project,
utf8_sig ? utf8_sig : signature);
utf8_vba ? utf8_vba :
vba_project,
utf8_sig ? utf8_sig :
signature);
free(utf8_vba);
free(utf8_sig);
return err;
@ -526,9 +570,10 @@ workbook_add_signed_vba_project_lv(lxw_workbook *workbook, const char *vba_proje
lxw_error
worksheet_filter_column_lv(lxw_worksheet *worksheet, lxw_col_t col,
uint8_t criteria, const char *value_string, double value)
uint8_t criteria, const char *value_string,
double value)
{
lxw_filter_rule rule = {0};
lxw_filter_rule rule = { 0 };
rule.criteria = criteria;
rule.value = value;
@ -547,12 +592,13 @@ worksheet_filter_column_lv(lxw_worksheet *worksheet, lxw_col_t col,
lxw_error
worksheet_filter_column2_lv(lxw_worksheet *worksheet, lxw_col_t col,
uint8_t criteria1, const char *value_string1, double value1,
uint8_t criteria2, const char *value_string2, double value2,
uint8_t criteria1, const char *value_string1,
double value1, uint8_t criteria2,
const char *value_string2, double value2,
uint8_t and_or)
{
lxw_filter_rule rule1 = {0};
lxw_filter_rule rule2 = {0};
lxw_filter_rule rule1 = { 0 };
lxw_filter_rule rule2 = { 0 };
char *utf8_1 = NULL;
char *utf8_2 = NULL;
@ -571,7 +617,8 @@ worksheet_filter_column2_lv(lxw_worksheet *worksheet, lxw_col_t col,
rule2.value_string = utf8_2 ? utf8_2 : value_string2;
}
lxw_error err = worksheet_filter_column2(worksheet, col, &rule1, &rule2, and_or);
lxw_error err =
worksheet_filter_column2(worksheet, col, &rule1, &rule2, and_or);
free(utf8_1);
free(utf8_2);
@ -585,8 +632,7 @@ worksheet_filter_column2_lv(lxw_worksheet *worksheet, lxw_col_t col,
lxw_error
chart_series_set_labels_custom_lv(lxw_chart_series *series,
uintptr_t *values,
uint8_t *hide_flags,
uint16_t count)
uint8_t *hide_flags, uint16_t count)
{
lxw_error err = LXW_NO_ERROR;
uint16_t i;
@ -598,9 +644,12 @@ chart_series_set_labels_custom_lv(lxw_chart_series *series,
return LXW_ERROR_NULL_PARAMETER_IGNORED;
/* Allocate arrays */
labels = (lxw_chart_data_label *)calloc(count, sizeof(lxw_chart_data_label));
label_ptrs = (lxw_chart_data_label **)calloc(count + 1, sizeof(lxw_chart_data_label *));
utf8_values = (char **)calloc(count, sizeof(char *));
labels =
(lxw_chart_data_label *) calloc(count, sizeof(lxw_chart_data_label));
label_ptrs =
(lxw_chart_data_label **) calloc(count + 1,
sizeof(lxw_chart_data_label *));
utf8_values = (char **) calloc(count, sizeof(char *));
if (!labels || !label_ptrs || !utf8_values) {
free(labels);
@ -617,7 +666,7 @@ chart_series_set_labels_custom_lv(lxw_chart_series *series,
label_ptrs[i] = &labels[i];
/* Get string pointer from uintptr_t array */
str = (values && values[i]) ? (const char *)values[i] : NULL;
str = (values && values[i]) ? (const char *) values[i] : NULL;
/* Convert value string if provided */
if (str && str[0]) {

View file

@ -1201,7 +1201,7 @@ _write_xf_format_extensions(lxw_styles *self)
LXW_INIT_ATTRIBUTES();
LXW_PUSH_ATTRIBUTES_STR("uri", "{C7286773-470A-42A8-94C5-96B5CB345126}");
LXW_PUSH_ATTRIBUTES_STR("xmlns:xfpb",
"http://schemas.microsoft.com/office/spreadsheetml/2022/featurepropertybag");
"http://schemas.microsoft.com/office/spreadsheetml/2022/featurepropertybag");
lxw_xml_start_tag(self->file, "ext", &attributes);
LXW_FREE_ATTRIBUTES();

View file

@ -758,101 +758,101 @@ lxw_hash_password(const char *password)
* Unhandled characters (including UTF-8) default to width 8.
*/
static const uint8_t char_widths[95] = {
3, /* space */
5, /* ! */
6, /* " */
7, /* # */
7, /* $ */
11, /* % */
10, /* & */
3, /* ' */
5, /* ( */
5, /* ) */
7, /* * */
7, /* + */
4, /* , */
5, /* - */
4, /* . */
6, /* / */
7, /* 0 */
7, /* 1 */
7, /* 2 */
7, /* 3 */
7, /* 4 */
7, /* 5 */
7, /* 6 */
7, /* 7 */
7, /* 8 */
7, /* 9 */
4, /* : */
4, /* ; */
7, /* < */
7, /* = */
7, /* > */
7, /* ? */
13, /* @ */
9, /* A */
8, /* B */
8, /* C */
9, /* D */
7, /* E */
7, /* F */
9, /* G */
9, /* H */
4, /* I */
5, /* J */
8, /* K */
6, /* L */
12, /* M */
10, /* N */
10, /* O */
8, /* P */
10, /* Q */
8, /* R */
7, /* S */
7, /* T */
9, /* U */
9, /* V */
13, /* W */
8, /* X */
7, /* Y */
7, /* Z */
5, /* [ */
6, /* backslash */
5, /* ] */
7, /* ^ */
7, /* _ */
4, /* ` */
7, /* a */
8, /* b */
6, /* c */
8, /* d */
8, /* e */
5, /* f */
7, /* g */
8, /* h */
4, /* i */
4, /* j */
7, /* k */
4, /* l */
12, /* m */
8, /* n */
8, /* o */
8, /* p */
8, /* q */
5, /* r */
6, /* s */
5, /* t */
8, /* u */
7, /* v */
11, /* w */
7, /* x */
7, /* y */
6, /* z */
5, /* { */
7, /* | */
5, /* } */
7 /* ~ */
3, /* space */
5, /* ! */
6, /* " */
7, /* # */
7, /* $ */
11, /* % */
10, /* & */
3, /* ' */
5, /* ( */
5, /* ) */
7, /* * */
7, /* + */
4, /* , */
5, /* - */
4, /* . */
6, /* / */
7, /* 0 */
7, /* 1 */
7, /* 2 */
7, /* 3 */
7, /* 4 */
7, /* 5 */
7, /* 6 */
7, /* 7 */
7, /* 8 */
7, /* 9 */
4, /* : */
4, /* ; */
7, /* < */
7, /* = */
7, /* > */
7, /* ? */
13, /* @ */
9, /* A */
8, /* B */
8, /* C */
9, /* D */
7, /* E */
7, /* F */
9, /* G */
9, /* H */
4, /* I */
5, /* J */
8, /* K */
6, /* L */
12, /* M */
10, /* N */
10, /* O */
8, /* P */
10, /* Q */
8, /* R */
7, /* S */
7, /* T */
9, /* U */
9, /* V */
13, /* W */
8, /* X */
7, /* Y */
7, /* Z */
5, /* [ */
6, /* backslash */
5, /* ] */
7, /* ^ */
7, /* _ */
4, /* ` */
7, /* a */
8, /* b */
6, /* c */
8, /* d */
8, /* e */
5, /* f */
7, /* g */
8, /* h */
4, /* i */
4, /* j */
7, /* k */
4, /* l */
12, /* m */
8, /* n */
8, /* o */
8, /* p */
8, /* q */
5, /* r */
6, /* s */
5, /* t */
8, /* u */
7, /* v */
11, /* w */
7, /* x */
7, /* y */
6, /* z */
5, /* { */
7, /* | */
5, /* } */
7 /* ~ */
};
/*
@ -889,7 +889,7 @@ lxw_autofit_width(const char *string)
{
uint16_t pixels;
double width;
const double max_digit_width = 7.0; /* For Calibri 11 */
const double max_digit_width = 7.0; /* For Calibri 11 */
const double padding = 5.0;
if (string == NULL || *string == '\0')

View file

@ -1272,7 +1272,8 @@ _prepare_drawings(lxw_workbook *self)
/* Prepare worksheet textboxes. */
STAILQ_FOREACH(object_props, worksheet->textbox_data, list_pointers) {
lxw_worksheet_prepare_textbox(worksheet, drawing_id, object_props);
lxw_worksheet_prepare_textbox(worksheet, drawing_id,
object_props);
}
/* Prepare worksheet header/footer images. */

View file

@ -7293,7 +7293,8 @@ _worksheet_write_sparkline_color(lxw_worksheet *self, const char *tag,
* Write the <x14:sparklineGroup> element.
*/
STATIC void
_worksheet_write_sparkline_group(lxw_worksheet *self, lxw_sparkline *sparkline)
_worksheet_write_sparkline_group(lxw_worksheet *self,
lxw_sparkline *sparkline)
{
struct xml_attribute_list attributes;
struct xml_attribute *attribute;
@ -8646,8 +8647,7 @@ worksheet_write_boolean(lxw_worksheet *self,
*/
lxw_error
worksheet_insert_checkbox(lxw_worksheet *self,
lxw_row_t row_num, lxw_col_t col_num,
int value)
lxw_row_t row_num, lxw_col_t col_num, int value)
{
lxw_cell *cell;
lxw_error err;
@ -9917,7 +9917,8 @@ worksheet_add_sparkline(lxw_worksheet *self, lxw_row_t row, lxw_col_t col,
char location[LXW_MAX_CELL_NAME_LENGTH];
if (!user_options) {
LXW_WARN("worksheet_add_sparkline(): options parameter cannot be NULL");
LXW_WARN
("worksheet_add_sparkline(): options parameter cannot be NULL");
return LXW_ERROR_NULL_PARAMETER_IGNORED;
}
@ -9984,7 +9985,7 @@ worksheet_add_sparkline(lxw_worksheet *self, lxw_row_t row, lxw_col_t col,
sparkline->weight = user_options->weight;
if (sparkline->weight == 0.0)
sparkline->weight = 0.75; /* Default line weight */
sparkline->weight = 0.75; /* Default line weight */
if (user_options->date_axis) {
sparkline->date_axis = lxw_strdup(user_options->date_axis);