Re: tests that should not be case-sensitive

"corvid" <[email protected]>
Newsgroups gmane.comp.web.dillo.devel
Message-ID <20111111173218.GA28747@local>
I wrote:
> - a bunch of cases where we test url strings with the scheme
>   included.

This seems to work all right for me, anyway. As for whether it really
makes sense to test for dpi scheme in some of the DPIs, or whether I
should care about URL_AUTHORITY anywhere, I'm not certain...

_______________________________________________
Dillo-dev mailing list
[email protected]
http://lists.auriga.wearlab.de/cgi-bin/mailman/listinfo/dillo-dev
url_scheme_case_cmp.diff (text/plain, 4.3 KB)
diff -r 05ec9a82734d dpi/bookmarks.c
--- a/dpi/bookmarks.c	Fri Nov 11 08:23:54 2011 +0000
+++ b/dpi/bookmarks.c	Fri Nov 11 17:26:20 2011 +0000
@@ -1626,16 +1626,17 @@
       dFree(cmd);
       url = a_Dpip_get_attr_l(Buf, BufSize, "url");
 
-      if (strcmp(url, "dpi:/bm/modify") == 0) {
-         st = Bmsrv_send_modify_answer(sh, url);
-         dFree(url);
-         return st;
-
-      } else if (strncmp(url, "dpi:/bm/modify?", 15) == 0) {
-         /* process request */
-         st = Bmsrv_process_modify_request(sh, url);
-         dFree(url);
-         return st;
+      if (dStrnAsciiCasecmp(url, "dpi:", 4) == 0) {
+         if (strcmp(url+4, "/bm/modify") == 0) {
+            st = Bmsrv_send_modify_answer(sh, url);
+            dFree(url);
+            return st;
+         } else if (strncmp(url+4, "/bm/modify?", 11) == 0) {
+            /* process request */
+            st = Bmsrv_process_modify_request(sh, url);
+            dFree(url);
+            return st;
+         }
       }
 
 
diff -r 05ec9a82734d dpi/file.c
--- a/dpi/file.c	Fri Nov 11 08:23:54 2011 +0000
+++ b/dpi/file.c	Fri Nov 11 17:26:20 2011 +0000
@@ -800,7 +800,7 @@
    dReturn_val_if (orig == NULL, ret);
 
    /* Make sure the string starts with "file:/" */
-   if (strncmp(str, "file:/", 5) != 0)
+   if (dStrnAsciiCasecmp(str, "file:/", 5) != 0)
       return ret;
    str += 5;
 
@@ -942,7 +942,8 @@
                   DPIBYE = 1;
                   MSG("(pid %d): Got DpiBye.\n", (int)getpid());
                   client->flags |= FILE_DONE;
-               } else if (url && strcmp(url, "dpi:/file/toggle") == 0) {
+               } else if (url && dStrnAsciiCasecmp(url, "dpi:", 4) == 0 &&
+                          strcmp(url+4, "/file/toggle") == 0) {
                   File_toggle_html_style(client);
                } else if (path) {
                   File_get(client, path, url);
diff -r 05ec9a82734d dpi/vsource.c
--- a/dpi/vsource.c	Fri Nov 11 08:23:54 2011 +0000
+++ b/dpi/vsource.c	Fri Nov 11 17:26:20 2011 +0000
@@ -101,7 +101,8 @@
    int bytes_read = 0, old_line = 0, line = 1;
    char *p, *q, *src_str, line_str[128];
 
-   if (strncmp(url, "dpi:/vsource/:", 14) == 0)
+   if (dStrnAsciiCasecmp(url, "dpi:", 4) == 0 &&
+       strncmp(url+4, "/vsource/:", 10) == 0)
       url += 14;
 
    /* Send HTTP header for plain text MIME type */
diff -r 05ec9a82734d src/capi.c
--- a/src/capi.c	Fri Nov 11 08:23:54 2011 +0000
+++ b/src/capi.c	Fri Nov 11 17:26:20 2011 +0000
@@ -233,7 +233,7 @@
       if (!(URL_FLAGS(url) & (URL_Post + URL_Get))) {
          allow = TRUE;
       } else if (!(URL_FLAGS(url) & URL_Post) &&
-                 strncmp(URL_STR(url), "dpi:/vsource/", 13) == 0) {
+                 strncmp(URL_PATH(url), "/vsource/", 9) == 0) {
          allow = TRUE;
       } else {
          /* only allow GET&POST dpi-requests from dpi-generated urls */
diff -r 05ec9a82734d src/dillo.cc
--- a/src/dillo.cc	Fri Nov 11 08:23:54 2011 +0000
+++ b/src/dillo.cc	Fri Nov 11 17:26:20 2011 +0000
@@ -410,7 +410,8 @@
 
    if (idx == argc) {
       /* No URLs/files on cmdline. Send startup screen */
-      if (strcmp(URL_STR(prefs.start_page), "about:blank") == 0)
+      if (dStrAsciiCasecmp(URL_SCHEME(prefs.start_page), "about") == 0 &&
+          strcmp(URL_PATH(prefs.start_page), "blank") == 0)
          a_UIcmd_open_url(bw, NULL);
       else
          a_UIcmd_open_url(bw, prefs.start_page);
diff -r 05ec9a82734d src/menu.cc
--- a/src/menu.cc	Fri Nov 11 08:23:54 2011 +0000
+++ b/src/menu.cc	Fri Nov 11 17:26:20 2011 +0000
@@ -327,7 +327,8 @@
 
    has_bugs == TRUE ? pm[1].activate() : pm[1].deactivate();
 
-   if (strncmp(URL_STR(url), "dpi:/vsource/", 13) == 0)
+   if (dStrAsciiCasecmp(URL_SCHEME(url), "dpi") == 0 &&
+       strncmp(URL_PATH(url), "/vsource/", 9) == 0)
       pm[0].deactivate();
    else
       pm[0].activate();
diff -r 05ec9a82734d src/nav.c
--- a/src/nav.c	Fri Nov 11 08:23:54 2011 +0000
+++ b/src/nav.c	Fri Nov 11 17:26:20 2011 +0000
@@ -481,7 +481,8 @@
    a_Nav_cancel_expect(bw);
    if (a_Nav_stack_size(bw)) {
       h_url = a_History_get_url(NAV_TOP_UIDX(bw));
-      if (strncmp(URL_STR(h_url), "dpi:/vsource/", 13) == 0) {
+      if (dStrAsciiCasecmp(URL_SCHEME(h_url), "dpi") == 0 &&
+          strncmp(URL_PATH(h_url), "/vsource/", 9) == 0) {
          /* allow reload for view source dpi */
          confirmed = 1;
       } else if (URL_FLAGS(h_url) & URL_Post) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.