diff options
Diffstat (limited to 'src/helper/gnome-utils.cpp')
| -rw-r--r-- | src/helper/gnome-utils.cpp | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/src/helper/gnome-utils.cpp b/src/helper/gnome-utils.cpp deleted file mode 100644 index 3d2b333a2..000000000 --- a/src/helper/gnome-utils.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Helpers - * - * Authors: - * Mitsuru Oka - * Lauris Kaplinski <lauris@kaplinski.com> - * - * Copyright (C) 2002 authors - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -#include <string.h> -#include <ctype.h> -#include <glib.h> - -#include "gnome-utils.h" - -/** - * gnome_uri_list_extract_uris: - * @uri_list: an uri-list in the standard format. - * - * Returns a GList containing strings allocated with g_malloc - * that have been splitted from @uri-list. - */ -GList *gnome_uri_list_extract_uris(const gchar *uri_list) -{ - const gchar *p, *q; - gchar *retval; - GList *result = NULL; - - g_return_val_if_fail(uri_list != NULL, NULL); - - p = uri_list; - - /* We don't actually try to validate the URI according to RFC - * 2396, or even check for allowed characters - we just ignore - * comments and trim whitespace off the ends. We also - * allow LF delimination as well as the specified CRLF. - */ - while (p) { - if (*p != '#') { - while (isspace(*p)) - p++; - - q = p; - while (*q && (*q != '\n') && (*q != '\r')) - q++; - - if (q > p) { - q--; - while (q > p && isspace(*q)) - q--; - - retval = (gchar *)g_malloc(q - p + 2); - strncpy(retval, p, q - p + 1); - retval[q - p + 1] = '\0'; - - result = g_list_prepend(result, retval); - } - } - p = strchr(p, '\n'); - if (p) - p++; - } - - return g_list_reverse(result); -} - -/** - * gnome_uri_list_extract_filenames: - * @uri_list: an uri-list in the standard format - * - * Returns a GList containing strings allocated with g_malloc - * that contain the filenames in the uri-list. - * - * Note that unlike gnome_uri_list_extract_uris() function, this - * will discard any non-file uri from the result value. - */ -GList *gnome_uri_list_extract_filenames(const gchar *uri_list) -{ - g_return_val_if_fail(uri_list != NULL, NULL); - - GList *result = gnome_uri_list_extract_uris(uri_list); - - GList *tmp_list = result; - while (tmp_list) { - gchar *s = (gchar *)tmp_list->data; - - GList *node = tmp_list; - tmp_list = tmp_list->next; - - if (!strncmp(s, "file:", 5)) { - node->data = g_filename_from_uri(s, NULL, NULL); - /* not sure if this fallback is useful at all */ - if (!node->data) - node->data = g_strdup(s + 5); - } else { - result = g_list_remove_link(result, node); - g_list_free_1(node); - } - g_free(s); - } - return result; -} - -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8 : |
