Fix segfault and implement better *cough* fix for locale problems
This commit is contained in:
parent
1fa2d75abd
commit
bdb06c4d6e
@ -321,6 +321,7 @@ static void load_mapping_clicked(GtkWidget *button, gpointer user_data)
|
||||
*/
|
||||
static void create_csv_line(LayerElement *layer_element, char *line_buffer, size_t max_len)
|
||||
{
|
||||
int i;
|
||||
GString *string;
|
||||
gboolean export;
|
||||
const gchar *name;
|
||||
@ -336,9 +337,14 @@ static void create_csv_line(LayerElement *layer_element, char *line_buffer, size
|
||||
layer_element_get_color(layer_element, &color);
|
||||
|
||||
/* print values to line */
|
||||
g_string_printf(string, "%d,%lf,%lf,%lf,%lf,%d,%s\n",
|
||||
g_string_printf(string, "%d:%lf:%lf:0%lf:%lf:%d:%s\n",
|
||||
layer, color.red, color.green,
|
||||
color.blue, color.alpha, (export == TRUE ? 1 : 0), name);
|
||||
/* Fix broken locale settings */
|
||||
for (i = 0; string->str[i]; i++) {
|
||||
if (string->str[i] == ':')
|
||||
string->str[i] = ',';
|
||||
}
|
||||
|
||||
if (string->len > (max_len-1)) {
|
||||
printf("Layer Definition too long. Please shorten Layer Name!!\n");
|
||||
|
8
main.c
8
main.c
@ -20,7 +20,6 @@
|
||||
#include <stdio.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <glib.h>
|
||||
#include <locale.h>
|
||||
#include "main-window.h"
|
||||
#include "command-line.h"
|
||||
#include "external-renderer.h"
|
||||
@ -114,7 +113,6 @@ int main(int argc, char **argv)
|
||||
GOptionContext *context;
|
||||
gchar *gds_name;
|
||||
gchar *basename;
|
||||
struct lconv *temp_locale;
|
||||
gchar *pdfname = NULL, *texname = NULL, *mappingname = NULL, *cellname = NULL, *svgname = NULL;
|
||||
gboolean tikz = FALSE, pdf = FALSE, pdf_layers = FALSE, pdf_standalone = FALSE, svg = FALSE;
|
||||
gchar *custom_library_path = NULL;
|
||||
@ -122,12 +120,6 @@ int main(int argc, char **argv)
|
||||
int scale = 1000;
|
||||
int app_status;
|
||||
|
||||
/* Set locale for layer mapping file */
|
||||
setlocale(LC_NUMERIC, "");
|
||||
temp_locale = localeconv();
|
||||
strcpy(temp_locale->decimal_point, ".");
|
||||
strcpy(temp_locale->thousands_sep, "'");
|
||||
|
||||
GOptionEntry entries[] = {
|
||||
{"tikz", 't', 0, G_OPTION_ARG_NONE, &tikz, "Output TikZ code", NULL },
|
||||
{"pdf", 'p', 0, G_OPTION_ARG_NONE, &pdf, "Output PDF document", NULL },
|
||||
|
Loading…
Reference in New Issue
Block a user