files = t2;
files[num_files - 1] = strdup(tmp);
}
+ else
+ {
+ num_files--;
+ goto freetmp;
+ }
tmp[0] = 0;
i = 0;
}
files = t2;
files[num_files - 1] = strdup(tmp);
}
+ else
+ {
+ num_files--;
+ goto freetmp;
+ }
}
-
+freetmp:
free(tmp);
- free(data);
}
done:
+ free(data);
if (ret_data) *ret_data = files;
+ else
+ {
+ int i;
+
+ for (i = 0; i < num_files; i++) free(files[i]);
+ free(files);
+ }
if (ret_count) *ret_count = num_files;
}
Eina_Strbuf *strbuf;
int i;
+ strbuf = eina_strbuf_new();
+ if (!strbuf) return EINA_FALSE;
+
_wl_selection_parser(ev->data, ev->len, &files, &num_files);
cnp_debug("got a files list\n");
- strbuf = eina_strbuf_new();
- if (!strbuf)
- return EINA_FALSE;
for (i = 0; i < num_files; i++)
{
uri = efreet_uri_decode(files[i]);
}
if (i < (num_files - 1))
eina_strbuf_append(strbuf, "\n");
+ free(files[i]);
}
+ free(files);
stripstr = eina_strbuf_string_steal(strbuf);
eina_strbuf_free(strbuf);
}