diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2017-10-01 21:57:52 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marc@jeanmougin.fr> | 2017-10-01 21:57:52 +0000 |
| commit | c20891fabc8c3ee2251e0545878e06545b6f0cdd (patch) | |
| tree | c19727ea5ec4c7fb90b7e4512a3cc5fb89f58945 /src/inkscape.cpp | |
| parent | Merge branch 'master' of gitlab.com:inkscape/inkscape (diff) | |
| download | inkscape-c20891fabc8c3ee2251e0545878e06545b6f0cdd.tar.gz inkscape-c20891fabc8c3ee2251e0545878e06545b6f0cdd.zip | |
First batch
Diffstat (limited to 'src/inkscape.cpp')
| -rw-r--r-- | src/inkscape.cpp | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp index 8dfff3c63..c56002753 100644 --- a/src/inkscape.cpp +++ b/src/inkscape.cpp @@ -579,8 +579,8 @@ Application::crash_handler (int /*signum*/) gint count = 0; gchar *curdir = g_get_current_dir(); // This one needs to be freed explicitly gchar *inkscapedir = g_path_get_dirname(INKSCAPE._argv0); // Needs to be freed - GSList *savednames = NULL; - GSList *failednames = NULL; + std::vector<gchar *> savednames; + std::vector<gchar *> failednames; for (std::map<SPDocument*,int>::iterator iter = INKSCAPE._document_set.begin(), e = INKSCAPE._document_set.end(); iter != e; ++iter) { @@ -641,10 +641,10 @@ Application::crash_handler (int /*signum*/) // Save if (file) { sp_repr_save_stream (repr->document(), file, SP_SVG_NS_URI); - savednames = g_slist_prepend (savednames, g_strdup (c)); + savednames.push_back(g_strdup (c)); fclose (file); } else { - failednames = g_slist_prepend (failednames, (doc->getName()) ? g_strdup(doc->getName()) : g_strdup (_("Untitled document"))); + failednames.push_back((doc->getName()) ? g_strdup(doc->getName()) : g_strdup (_("Untitled document"))); } count++; } @@ -652,18 +652,16 @@ Application::crash_handler (int /*signum*/) g_free(curdir); g_free(inkscapedir); - savednames = g_slist_reverse (savednames); - failednames = g_slist_reverse (failednames); - if (savednames) { + if (!savednames.empty()) { fprintf (stderr, "\nEmergency save document locations:\n"); - for (GSList *l = savednames; l != NULL; l = l->next) { - fprintf (stderr, " %s\n", (gchar *) l->data); + for (auto i:savednames) { + fprintf (stderr, " %s\n", i); } } - if (failednames) { + if (!failednames.empty()) { fprintf (stderr, "\nFailed to do emergency save for documents:\n"); - for (GSList *l = failednames; l != NULL; l = l->next) { - fprintf (stderr, " %s\n", (gchar *) l->data); + for (auto i:failednames) { + fprintf (stderr, " %s\n", i); } } @@ -681,11 +679,11 @@ Application::crash_handler (int /*signum*/) char const *fstr = _("Automatic backup of the following documents failed:\n"); gint nllen = strlen ("\n"); gint len = strlen (istr) + strlen (sstr) + strlen (fstr); - for (GSList *l = savednames; l != NULL; l = l->next) { - len = len + SP_INDENT + strlen ((gchar *) l->data) + nllen; + for (auto i:savednames) { + len = len + SP_INDENT + strlen (i) + nllen; } - for (GSList *l = failednames; l != NULL; l = l->next) { - len = len + SP_INDENT + strlen ((gchar *) l->data) + nllen; + for (auto i:failednames) { + len = len + SP_INDENT + strlen (i) + nllen; } len += 1; gchar *b = g_new (gchar, len); @@ -693,29 +691,29 @@ Application::crash_handler (int /*signum*/) len = strlen (istr); memcpy (b + pos, istr, len); pos += len; - if (savednames) { + if (!savednames.empty()) { len = strlen (sstr); memcpy (b + pos, sstr, len); pos += len; - for (GSList *l = savednames; l != NULL; l = l->next) { + for (auto i:savednames) { memset (b + pos, ' ', SP_INDENT); pos += SP_INDENT; - len = strlen ((gchar *) l->data); - memcpy (b + pos, l->data, len); + len = strlen(i); + memcpy (b + pos, i, len); pos += len; memcpy (b + pos, "\n", nllen); pos += nllen; } } - if (failednames) { + if (!failednames.empty()) { len = strlen (fstr); memcpy (b + pos, fstr, len); pos += len; - for (GSList *l = failednames; l != NULL; l = l->next) { + for (auto i:failednames) { memset (b + pos, ' ', SP_INDENT); pos += SP_INDENT; - len = strlen ((gchar *) l->data); - memcpy (b + pos, l->data, len); + len = strlen(i); + memcpy (b + pos, i, len); pos += len; memcpy (b + pos, "\n", nllen); pos += nllen; |
