commit - 46102ea3153564d16a0ab489cbecb67025e29aea
commit + 36f94f06b08270ab5d4465aa61ae025c98e24c2c
blob - aca82a24187775201b6e0deb3994b792c18c9099
blob + 2d9a872abf6fe7e335474c0504f25b6f685d18ac
--- minibuffer.c
+++ minibuffer.c
#include <string.h>
#include "fs.h"
+#include "iri.h"
#include "minibuffer.h"
#include "session.h"
#include "ui.h"
void
ir_select_gemini(void)
{
- char buf[1025] = {0};
- struct phos_uri uri;
+ static struct iri iri;
+ char buf[1025];
struct tab *tab = current_tab;
minibuffer_hist_save_entry();
- /* a bit ugly but... */
- memcpy(&uri, &tab->uri, sizeof(tab->uri));
- phos_uri_set_query(&uri, minibuffer_compl_text());
- phos_serialize_uri(&uri, buf, sizeof(buf));
+ if (iri_parse(NULL, tab->hist_cur->h, &iri) == -1)
+ goto err;
+ if (iri_setquery(&iri, minibuffer_compl_text()) == -1)
+ goto err;
+ if (iri_unparse(&iri, buf, sizeof(buf)) == -1)
+ goto err;
exit_minibuffer();
load_url_in_tab(tab, buf, NULL, LU_MODE_NOCACHE);
+ return;
+
+ err:
+ message("Failed to select URL.");
}
void