aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dialog.cc5
-rw-r--r--src/misc.c2
-rw-r--r--src/uicmd.cc32
3 files changed, 19 insertions, 20 deletions
diff --git a/src/dialog.cc b/src/dialog.cc
index 85121c63..15e5d7a9 100644
--- a/src/dialog.cc
+++ b/src/dialog.cc
@@ -89,7 +89,6 @@ public:
if (e == FL_KEYBOARD &&
(Fl::event_key() == FL_Enter || Fl::event_key() == FL_Down) &&
(Fl::event_state() & (FL_SHIFT|FL_CTRL|FL_ALT|FL_META)) == 0) {
- MSG("CustChoice: ENTER\n");
return Fl_Choice::handle(FL_PUSH);
}
return Fl_Choice::handle(e);
@@ -164,7 +163,7 @@ const char *a_Dialog_input(const char *msg)
for (int i = 0, j = 0; i < n_it; i++) {
char *label, *url, *source;
source = (char *)dList_nth_data(prefs.search_urls, i);
- if (a_Misc_parse_search_url(source, &label, &url) < 0)
+ if (!source || a_Misc_parse_search_url(source, &label, &url) < 0)
continue;
pm[j++].label(FL_NORMAL_LABEL, strdup(label));
}
@@ -191,12 +190,10 @@ const char *a_Dialog_input(const char *msg)
window->show();
while (window->shown())
Fl::wait();
- _MSG("a_Dialog_input answer = %d\n", input_answer);
if (input_answer == 1) {
/* we have a string, save it */
dFree(input_str);
input_str = dStrdup(c_inp->value());
- MSG("a_Dialog_input value() = %d\n", ch->value());
prefs.search_url_idx = ch->value();
}
delete window;
diff --git a/src/misc.c b/src/misc.c
index ef64e875..2abfb988 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -411,6 +411,8 @@ int a_Misc_parse_search_url(char *source, char **label, char **urlstr)
}
}
*label = buf;
+ if (ret == -1)
+ MSG("Invalid search_url: \"%s\"\n", source);
return ret;
}
diff --git a/src/uicmd.cc b/src/uicmd.cc
index 361e42b3..993dfb0b 100644
--- a/src/uicmd.cc
+++ b/src/uicmd.cc
@@ -786,22 +786,22 @@ static char *UIcmd_make_search_str(const char *str)
Dstr *ds = dStr_sized_new(128);
/* parse search_url into label and url */
- a_Misc_parse_search_url(src, &l, &u);
-
- for (c = u; *c; c++) {
- if (*c == '%')
- switch(*++c) {
- case 's':
- dStr_append(ds, keys); break;;
- case '%':
- dStr_append_c(ds, '%'); break;;
- case 0:
- MSG_WARN("search_url ends with '%%'\n"); c--; break;;
- default:
- MSG_WARN("illegal specifier '%%%c' in search_url\n", *c);
- }
- else
- dStr_append_c(ds, *c);
+ if (a_Misc_parse_search_url(src, &l, &u) == 0) {
+ for (c = u; *c; c++) {
+ if (*c == '%')
+ switch(*++c) {
+ case 's':
+ dStr_append(ds, keys); break;;
+ case '%':
+ dStr_append_c(ds, '%'); break;;
+ case 0:
+ MSG_WARN("search_url ends with '%%'\n"); c--; break;;
+ default:
+ MSG_WARN("illegal specifier '%%%c' in search_url\n", *c);
+ }
+ else
+ dStr_append_c(ds, *c);
+ }
}
dFree(keys);