summaryrefslogtreecommitdiffstats
path: root/src/inkscape.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2017-10-01 21:57:52 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2017-10-01 21:57:52 +0000
commitc20891fabc8c3ee2251e0545878e06545b6f0cdd (patch)
treec19727ea5ec4c7fb90b7e4512a3cc5fb89f58945 /src/inkscape.cpp
parentMerge branch 'master' of gitlab.com:inkscape/inkscape (diff)
downloadinkscape-c20891fabc8c3ee2251e0545878e06545b6f0cdd.tar.gz
inkscape-c20891fabc8c3ee2251e0545878e06545b6f0cdd.zip
First batch
Diffstat (limited to 'src/inkscape.cpp')
-rw-r--r--src/inkscape.cpp46
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;