X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fcomics%2Fcomics-document.c;h=b66f4ce7187d4a663610e4882ada6ca7c915c962;hb=a9f7fe8cd4c9d51e407acafe78d2bc89d3b98f6b;hp=9f657c24e1be667943bef0ce3e49532722267ef1;hpb=fd7c1a68733c5718b9cb0fdcbed09be1889c1140;p=evince.git diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c index 9f657c24..b66f4ce7 100644 --- a/backend/comics/comics-document.c +++ b/backend/comics/comics-document.c @@ -42,6 +42,16 @@ #include "ev-document-thumbnails.h" #include "ev-file-helpers.h" +#ifdef G_OS_WIN32 +/* On windows g_spawn_command_line_sync reads stdout in O_BINARY mode, not in O_TEXT mode. + * As a consequence, newlines are in a platform dependent representation (\r\n). This + * might be considered a bug in glib. + */ +#define EV_EOL "\r\n" +#else +#define EV_EOL "\n" +#endif + typedef enum { RARLABS, @@ -414,7 +424,8 @@ comics_document_load (EvDocument *document, } /* FIXME: is this safe against filenames containing \n in the archive ? */ - cb_files = g_strsplit (std_out, "\n", 0); + cb_files = g_strsplit (std_out, EV_EOL, 0); + g_free (std_out); if (!cb_files) {