commit 5b05c8b9f59645f894040e9bb39cabaeb0d7107b
parent fa19943348cf94a88774b2a7789242a070f761ec
Author: Kyle Milz <kmilz@ucalgary.ca>
Date: Sat, 13 Oct 2012 22:30:49 -0600
clean up uri_sanitize function
Diffstat:
M | src/main.c | | | 72 | +++++++++++++++++++++++++++++++++++------------------------------------- |
1 file changed, 35 insertions(+), 37 deletions(-)
diff --git a/src/main.c b/src/main.c
@@ -23,7 +23,7 @@
/* functions */
EAPI_MAIN int elm_main(int argc, char *argv[]);
-char *uri_sanitize(const char *);
+const char *uri_sanitize(const char *);
static Eina_Bool
session_save_cb(void *data)
@@ -98,42 +98,39 @@ static const Ecore_Getopt options = {
}
};
-char*
+const char*
uri_sanitize(const char *uri)
{
- char *fixed_uri;
- char *schema;
- char *tmp;
-
- if (!uri || !*uri) return NULL;
-
- tmp = strstr(uri, "://");
- if (!tmp || (tmp == uri) || (tmp > (uri + 15)))
- {
- char *new_uri = NULL;
- if (ecore_file_exists(uri))
- {
- schema = "file";
- new_uri = ecore_file_realpath(uri);
- }
- else
- schema = "http";
-
- if (asprintf(&fixed_uri, "%s://%s", schema, new_uri ? new_uri : uri) > 0)
- {
- free(new_uri);
- return fixed_uri;
- }
- free(new_uri);
- }
- else
- {
- char search_uri[4096];
- strcat(search_uri, "http://google.com/search?q=");
- return strdup(strcat(search_uri, uri));
- }
-
- return NULL;
+ char *fixed_uri;
+ char *schema;
+ char *tmp;
+
+ if (!uri || !*uri) return NULL;
+
+ tmp = strstr(uri, "://");
+ if (!tmp || (tmp == uri) || (tmp > (uri + 15))) {
+ char *new_uri = NULL;
+ if (ecore_file_exists(uri)) {
+ schema = "file";
+ new_uri = ecore_file_realpath(uri);
+ }
+ else
+ schema = "http";
+
+ if (asprintf(&fixed_uri, "%s://%s", schema, new_uri ? new_uri : uri) > 0) {
+ free(new_uri);
+ return fixed_uri;
+ }
+ free(new_uri);
+ }
+ else {
+ Eina_Strbuf *search_url = eina_strbuf_new();
+ eina_strbuf_append(search_url, "http://google.com/search?q=");
+ eina_strbuf_append(search_url, uri);
+ return eina_strbuf_string_get(search_url);
+ }
+
+ return NULL;
}
static Eina_Bool
@@ -234,7 +231,8 @@ EAPI_MAIN int
elm_main(int argc, char *argv[])
{
App_Data *ad;
- char *basename, *uri = NULL, path[PATH_MAX];
+ char *basename, path[PATH_MAX];
+ const char *uri = NULL;
Config *config;
Hist *hist;
Session *session;
@@ -406,7 +404,7 @@ elm_main(int argc, char *argv[])
eet_shutdown();
ecore_con_shutdown();
- free(uri);
+ // free(uri);
return 0;
}