summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/eulogium.c16
-rw-r--r--src/eulogium.h2
2 files changed, 13 insertions, 5 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index d89885d..06d9819 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -127,10 +127,18 @@ void eulogium_button_data_set(struct button_def *button, void *data)
button->data = data;
}
-void eulogium_print_file_set(struct eulogium_data *eulogium, char *filepath)
+void eulogium_print_data_set(struct eulogium_data *eulogium, char *filepath)
{
- if (filepath && eulogium)
- eulogium->print.file = filepath;
+ char *buf;
+ int buf_size;
+
+ if (!filepath)
+ EINA_LOG_CRIT("Incorrect filename passed %s", filepath);
+
+ buf_size = strlen(filepath) + strlen("file://") + 1;
+ buf = malloc(buf_size); /* TODO: remember to free this later! */
+ snprintf(buf, buf_size, "file://%s", filepath);
+ eulogium->print.file = buf;
eulogium->print.name = ecore_file_strip_ext(ecore_file_file_get(filepath));
}
@@ -263,7 +271,7 @@ elm_progressbar_value_set(eulogium->print.progress, 0.5);
Evas_Object *eulogium_start_print(struct eulogium_data *eulogium, char *filepath)
{
- eulogium_print_file_set(eulogium, filepath);
+ eulogium_print_data_set(eulogium, filepath);
return eulogium_print_progress(eulogium);
}
diff --git a/src/eulogium.h b/src/eulogium.h
index 3cd5250..4a7c5fb 100644
--- a/src/eulogium.h
+++ b/src/eulogium.h
@@ -70,7 +70,7 @@ struct multi_screen_data {
struct multi_screen *screen;
};
-void eulogium_print_file_set(struct eulogium_data *eulogium, char *filepath);
+void eulogium_print_data_set(struct eulogium_data *eulogium, char *filepath);
void eulogium_button_cb_set(struct button_def *button, struct button_cb *cb);
void eulogium_button_cb_data_set(struct button_def *button, void *data);