links

lynx-like text mode web browser
git clone anongit@rnpnr.xyz:links.git
Log | Files | Refs | Feed | README | LICENSE

Commit: 78c95cc8f99bdc7a682b75dcc632251fc3970645
Parent: 55fdaa82525f11e1b8aa6eebbe20589c769c1f03
Author: opask
Date:   Sun, 22 Jul 2018 16:59:32 -0600

remove mem_free from suffix.c, terminal.c, types.c, url.c

Diffstat:
Msuffix.c | 4++--
Mterminal.c | 40++++++++++++++++++++--------------------
Mtypes.c | 119+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Murl.c | 71+++++++++++++++++++++++++++++++++++------------------------------------
4 files changed, 119 insertions(+), 115 deletions(-)

diff --git a/suffix.c b/suffix.c @@ -23,7 +23,7 @@ static int search_list_and_wildcards(const_char_ptr const *list, int len, unsign x = stracpy(cast_uchar "*."); add_to_strn(&x, name); sl = search_list(list, len, x); - mem_free(x); + free(x); if (sl) return 1; dot = cast_uchar strchr(cast_const_char name, '.'); @@ -31,7 +31,7 @@ static int search_list_and_wildcards(const_char_ptr const *list, int len, unsign x = stracpy(cast_uchar "*"); add_to_strn(&x, dot); sl = search_list(list, len, x); - mem_free(x); + free(x); return sl; } diff --git a/terminal.c b/terminal.c @@ -51,7 +51,7 @@ unsigned char *get_cwd(void) buf = xmalloc(bufsize); ENULLLOOP(gcr, cast_uchar getcwd(cast_char buf, bufsize)); if (gcr) return buf; - mem_free(buf); + free(buf); if (errno != ERANGE) break; if ((unsigned)bufsize > MAXINT - 128) overalloc(); bufsize += 128; @@ -365,7 +365,7 @@ void draw_to_window(struct window *win, void (*fn)(struct terminal *term, void * fn(term, data); } drv->set_clip_area(term->dev, &r1); - mem_free(s); + free(s); #endif } } @@ -436,7 +436,7 @@ void delete_window(struct window *win) nxw = win->list_entry.next; #endif del_from_list(win); - if (win->data) mem_free(win->data); + free(win->data); if (!F) redraw_terminal(term); #ifdef G else { @@ -446,7 +446,7 @@ void delete_window(struct window *win) register_bottom_half(redraw_windows, term); } #endif - mem_free(win); + free(win); } void delete_window_ev(struct window *win, struct links_event *ev) @@ -654,7 +654,7 @@ struct terminal *init_gfx_term(void (*root_window)(struct window *, struct links term->count = terminal_count++; term->fdin = -1; if (!(term->dev = dev = drv->init_device())) { - mem_free(term); + free(term); check_if_no_terminal(); return NULL; } @@ -695,7 +695,7 @@ struct terminal *init_gfx_term(void (*root_window)(struct window *, struct links memcpy(ptr + 1, info, len); ev.b = (long)ptr; root_window(win, &ev, 0); - mem_free(ptr); + free(ptr); } return term; } @@ -1053,7 +1053,7 @@ static void redraw_screen(struct terminal *term) if (l && term->master) want_draw(); hard_write(term->fdout, a, l); if (l && term->master) done_draw(); - mem_free(a); + free(a); term->dirty = 0; } @@ -1093,11 +1093,11 @@ void destroy_terminal(void *term_) } del_from_list(term); close_socket(&term->blocked); - if (term->title) mem_free(term->title); + free(term->title); if (!F) { - mem_free(term->screen); - mem_free(term->last_screen); - mem_free(term->input_queue); + free(term->screen); + free(term->last_screen); + free(term->input_queue); set_handlers(term->fdin, NULL, NULL, NULL); EINTRLOOP(rs, close(term->fdin)); if (!term->master) { @@ -1119,7 +1119,7 @@ void destroy_terminal(void *term_) hard_write(term->handle_to_close, cast_uchar "x", 1); close_socket(&term->handle_to_close); } - mem_free(term); + free(term); check_if_no_terminal(); } @@ -1346,7 +1346,7 @@ void exec_on_terminal(struct terminal *term, unsigned char *path, unsigned char if (!F) block_itrm(term->fdin); #ifdef G else if (drv->block(term->dev)) { - mem_free(param); + free(param); if (*delet) EINTRLOOP(rs, unlink(cast_const_char delet)); return; @@ -1361,10 +1361,10 @@ void exec_on_terminal(struct terminal *term, unsigned char *path, unsigned char else drv->unblock(term->dev); #endif } - mem_free(param); + free(param); return; } - mem_free(param); + free(param); if (fg == 1 #ifdef G && !have_extra_exec() @@ -1389,7 +1389,7 @@ void exec_on_terminal(struct terminal *term, unsigned char *path, unsigned char add_chr_to_str(&data, &datal, 0); add_to_str(&data, &datal, delet); hard_write(term->fdout, data, datal + 1); - mem_free(data); + free(data); } } @@ -1402,7 +1402,7 @@ void do_terminal_function(struct terminal *term, unsigned char code, unsigned ch add_chr_to_str(&x_data, &x_datal, 0); add_to_str(&x_data, &x_datal, data); exec_on_terminal(term, NULL, x_data, 0); - mem_free(x_data); + free(x_data); } void set_terminal_title(struct terminal *term, unsigned char *title) @@ -1414,11 +1414,11 @@ void set_terminal_title(struct terminal *term, unsigned char *title) *b = 0; } if (term->title && !strcmp(cast_const_char title, cast_const_char term->title)) goto ret; - if (term->title) mem_free(term->title); + free(term->title); term->title = stracpy(title); #ifdef SET_WINDOW_TITLE_UTF_8 { - mem_free(title); + free(title); title = convert(term_charset(term), utf8_table, term->title, NULL); } #endif @@ -1427,7 +1427,7 @@ void set_terminal_title(struct terminal *term, unsigned char *title) else if (drv->set_title) drv->set_title(term->dev, title); #endif ret: - mem_free(title); + free(title); } struct terminal *find_terminal(tcount count) diff --git a/types.c b/types.c @@ -78,11 +78,12 @@ static void assoc_delete_item(struct list *data) { struct assoc *del = get_struct(data, struct assoc, head); - if (del->head.list_entry.next) del_from_list(&del->head); - mem_free(del->label); - mem_free(del->ct); - mem_free(del->prog); - mem_free(del); + if (del->head.list_entry.next) + del_from_list(&del->head); + free(del->label); + free(del->ct); + free(del->prog); + free(del); } static void assoc_copy_item(struct list *in, struct list *out) @@ -98,9 +99,9 @@ static void assoc_copy_item(struct list *in, struct list *out) item_out->accept_ftp = item_in->accept_ftp; item_out->system = item_in->system; - mem_free(item_out->label); - mem_free(item_out->ct); - mem_free(item_out->prog); + free(item_out->label); + free(item_out->ct); + free(item_out->prog); item_out->label = stracpy(item_in->label); item_out->ct = stracpy(item_in->ct); @@ -127,7 +128,7 @@ static unsigned char *assoc_type_item(struct terminal *term, struct list *data, if (item->prog) add_to_strn(&txt, item->prog); } txt1 = convert(assoc_ld.codepage, term_charset(term), txt, NULL); - mem_free(txt); + free(txt); return txt1; } @@ -225,15 +226,15 @@ static void assoc_edit_done(void *data) prog = ct + MAX_STR_LEN; txt = convert(term_charset(s->dlg->win->term), assoc_ld.codepage, label, NULL); - mem_free(item->label); + free(item->label); item->label = txt; txt = convert(term_charset(s->dlg->win->term), assoc_ld.codepage, ct, NULL); - mem_free(item->ct); + free(item->ct); item->ct = txt; txt = convert(term_charset(s->dlg->win->term), assoc_ld.codepage, prog, NULL); - mem_free(item->prog); + free(item->prog); item->prog = txt; s->fn(s->dlg, s->data, &item->head, &assoc_ld); @@ -246,8 +247,9 @@ static void assoc_edit_abort(struct dialog_data *data) struct dialog *dlg = data->dlg; struct assoc *item = (struct assoc *)dlg->udata; - mem_free(dlg->udata2); - if (item) assoc_delete_item(&item->head); + free(dlg->udata2); + if (item) + assoc_delete_item(&item->head); } static void assoc_edit_item(struct dialog_data *dlg, struct list *data, void (*ok_fn)(struct dialog_data *, struct list *, struct list *, struct list_description *), struct list *ok_arg, unsigned char dlg_title) @@ -471,10 +473,11 @@ static void ext_delete_item(struct list *data) { struct extension *del = get_struct(data, struct extension, head); - if (del->head.list_entry.next) del_from_list(&del->head); - if (del->ext) mem_free(del->ext); - if (del->ct) mem_free(del->ct); - mem_free(del); + if (del->head.list_entry.next) + del_from_list(&del->head); + free(del->ext); + free(del->ct); + free(del); } @@ -483,8 +486,8 @@ static void ext_copy_item(struct list *in, struct list *out) struct extension *item_in = get_struct(in, struct extension, head); struct extension *item_out = get_struct(out, struct extension, head); - mem_free(item_out->ext); - mem_free(item_out->ct); + free(item_out->ext); + free(item_out->ct); item_out->ext = stracpy(item_in->ext); item_out->ct = stracpy(item_in->ct); @@ -505,7 +508,7 @@ static unsigned char *ext_type_item(struct terminal *term, struct list *data, in add_to_strn(&txt, cast_uchar ": "); add_to_strn(&txt, item->ct); txt1 = convert(assoc_ld.codepage, term_charset(term), txt, NULL); - mem_free(txt); + free(txt); return txt1; } @@ -574,11 +577,11 @@ static void ext_edit_done(void *data) ct = ext + MAX_STR_LEN; txt = convert(term_charset(s->dlg->win->term), ext_ld.codepage,ext, NULL); - mem_free(item->ext); + free(item->ext); item->ext = txt; txt = convert(term_charset(s->dlg->win->term), ext_ld.codepage,ct, NULL); - mem_free(item->ct); + free(item->ct); item->ct=txt; s->fn(s->dlg, s->data, &item->head, &ext_ld); @@ -592,8 +595,9 @@ static void ext_edit_abort(struct dialog_data *data) struct dialog *dlg = data->dlg; struct extension *item = (struct extension *)dlg->udata; - mem_free(dlg->udata2); - if (item) ext_delete_item(&item->head); + free(dlg->udata2); + if (item) + ext_delete_item(&item->head); } @@ -716,7 +720,7 @@ void update_prog(struct list_head *l, unsigned char *p, int s) struct protocol_program *repl; struct list_head *lrepl; foreach(struct protocol_program, repl, lrepl, *l) if (repl->system == s) { - mem_free(repl->prog); + free(repl->prog); goto ss; } repl = xmalloc(sizeof(struct protocol_program)); @@ -902,7 +906,7 @@ unsigned char *get_content_type_by_extension(unsigned char *url) if (is_in_list(a->ct, exxt, el)) return exxt; } - mem_free(exxt); + free(exxt); return NULL; } @@ -914,7 +918,7 @@ static unsigned char *get_content_type_by_header_and_extension(unsigned char *he file = get_filename_from_header(head); if (file) { ct = get_content_type_by_extension(file); - mem_free(file); + free(file); if (ct) return ct; } return NULL; @@ -1014,12 +1018,13 @@ unsigned char *get_content_type(unsigned char *head, unsigned char *url) goto no_code_by_extension; ctt = get_content_type_by_header_and_extension(head, url); if (ctt) { - mem_free(ct); + free(ct); return ctt; } } no_code_by_extension: - if (!*ct) mem_free(ct); + if (!*ct) + free(ct); else return ct; } if (!get_http_code(head, &code, NULL) && code >= 300) @@ -1041,14 +1046,14 @@ unsigned char *get_content_encoding(unsigned char *head, unsigned char *url, int if ((s = cast_uchar strchr(cast_const_char ct, ';'))) *s = 0; ce = get_content_encoding_from_content_type(ct); if (ce) { - mem_free(ct); + free(ct); return stracpy(ce); } if (is_html_type(ct)) { - mem_free(ct); + free(ct); return NULL; } - mem_free(ct); + free(ct); } if (!get_http_code(head, &code, NULL) && code >= 300) return NULL; if (!(ext = get_url_data(url))) ext = url; @@ -1064,11 +1069,11 @@ unsigned char *get_content_encoding(unsigned char *head, unsigned char *url, int if (extd) { ce = get_compress_by_extension(extd + 1, cast_uchar strchr(cast_const_char(extd + 1), 0)); if (ce) { - mem_free(ext); + free(ext); return stracpy(ce); } } - mem_free(ext); + free(ext); } return NULL; } @@ -1133,20 +1138,20 @@ unsigned char *get_filename_from_header(unsigned char *head) x = parse_header_param(ct, cast_uchar "filename*", 1); if (x) extended = 1; else x = parse_header_param(ct, cast_uchar "filename", 1); - mem_free(ct); + free(ct); if (x) { if (*x) goto ret_x; - mem_free(x); + free(x); } } if ((ct = parse_http_header(head, cast_uchar "Content-Type", NULL))) { x = parse_header_param(ct, cast_uchar "name*", 0); if (x) extended = 1; else x = parse_header_param(ct, cast_uchar "name", 0); - mem_free(ct); + free(ct); if (x) { if (*x) goto ret_x; - mem_free(x); + free(x); } } return NULL; @@ -1168,20 +1173,20 @@ no_extended: y = init_str(); ly = 0; add_conv_str(&y, &ly, x, (int)strlen(cast_const_char x), -2); - mem_free(x); + free(x); x = y; cp_idx = -1; if (codepage) { cp_idx = get_cp_index(codepage); - mem_free(codepage); + free(codepage); } if (cp_idx < 0) { cp_idx = get_cp_index(cast_uchar "iso-8859-1"); if (cp_idx < 0) cp_idx = 0; } y = convert(cp_idx, 0, x, NULL); - mem_free(x); + free(x); x = y; for (y = x; *y; y++) if (dir_sep(*y) @@ -1210,22 +1215,22 @@ unsigned char *get_filename_from_url(unsigned char *url, unsigned char *head, in f = init_str(); add_conv_str(&f, &ll, s, (int)(e - s), -2); if (!(ct = parse_http_header(head, cast_uchar "Content-Type", NULL))) goto no_ct; - mem_free(ct); + free(ct); ct = get_content_type(head, url); if (ct) { x = get_extension_by_content_type(ct); if (x) { add_to_strn(&want_ext, cast_uchar "."); add_to_strn(&want_ext, x); - mem_free(x); + free(x); } - mem_free(ct); + free(ct); } no_ct: if (!*want_ext) { x = cast_uchar strrchr(cast_const_char f, '.'); if (x) { - mem_free(want_ext); + free(want_ext); want_ext = stracpy(x); } } @@ -1236,7 +1241,7 @@ unsigned char *get_filename_from_url(unsigned char *url, unsigned char *head, in unsigned char *ct1; ct1 = get_content_encoding(head, url, 1); if (ct1) { - mem_free(ct1); + free(ct1); } else if (x) { unsigned char *w = cast_uchar strrchr(cast_const_char want_ext, '.'); if (w && (ww = canonical_compressed_ext(w + 1, NULL)) && !casestrcmp(x, ww)) @@ -1254,7 +1259,7 @@ unsigned char *get_filename_from_url(unsigned char *url, unsigned char *head, in } } } - mem_free(ct); + free(ct); } if (strlen(cast_const_char want_ext) > strlen(cast_const_char f) || casestrcmp(want_ext, f + strlen(cast_const_char f) - strlen(cast_const_char want_ext))) { x = cast_uchar strrchr(cast_const_char f, '.'); @@ -1264,7 +1269,7 @@ unsigned char *get_filename_from_url(unsigned char *url, unsigned char *head, in add_to_strn(&f, want_ext); skip_tgz_2:; } - mem_free(want_ext); + free(want_ext); return f; } @@ -1273,7 +1278,7 @@ static void free_prog_list(struct list_head *l) struct list_head *lp; struct protocol_program *p; foreach(struct protocol_program, p, lp, *l) - mem_free(p->prog); + free(p->prog); free_list(struct protocol_program, *l); } @@ -1283,20 +1288,20 @@ void free_types(void) struct list_head *ll; foreach(struct list, l, ll, assoc.list_entry) { struct assoc *a = get_struct(l, struct assoc, head); - mem_free(a->ct); - mem_free(a->prog); - mem_free(a->label); + free(a->ct); + free(a->prog); + free(a->label); ll = ll->prev; del_from_list(&a->head); - mem_free(a); + free(a); } foreach(struct list, l, ll, extensions.list_entry) { struct extension *e = get_struct(l, struct extension, head); - mem_free(e->ext); - mem_free(e->ct); + free(e->ext); + free(e->ct); ll = ll->prev; del_from_list(&e->head); - mem_free(e); + free(e); } free_prog_list(&mailto_prog); diff --git a/url.c b/url.c @@ -198,7 +198,7 @@ int get_port(unsigned char *url) if ((h = get_protocol_name(url))) { int nn = -1; /* against warning */ get_prot_info(h, &nn, NULL, NULL, NULL, NULL); - mem_free(h); + free(h); n = nn; } return (int)n; @@ -211,7 +211,7 @@ void (*get_protocol_handle(unsigned char *url))(struct connection *) int post = 0; if (!(p = get_protocol_name(url))) return NULL; get_prot_info(p, NULL, &f, NULL, &post, NULL); - mem_free(p); + free(p); if (!post && strchr(cast_const_char url, POST_CHAR)) return NULL; return f; } @@ -223,7 +223,7 @@ void (*get_external_protocol_function(unsigned char *url))(struct session *, uns int post = 0; if (!(p = get_protocol_name(url))) return NULL; get_prot_info(p, NULL, NULL, &f, &post, NULL); - mem_free(p); + free(p); if (!post && strchr(cast_const_char url, POST_CHAR)) return NULL; return f; } @@ -234,7 +234,7 @@ int url_bypasses_socks(unsigned char *url) unsigned char *p; if (!(p = get_protocol_name(url))) return 1; get_prot_info(p, NULL, NULL, NULL, NULL, &ret); - mem_free(p); + free(p); return ret; } @@ -299,13 +299,13 @@ static unsigned char *translate_hashbang(unsigned char *up) p = extract_position(u); if (!p) { free_u_ret_up: - mem_free(u); + free(u); return up; } if (p[0] == '!') dp = p + 1; else if (!casecmp(p, cast_uchar "%21", 3)) dp = p + 3; else { - mem_free(p); + free(p); goto free_u_ret_up; } if (!(post_seq = cast_uchar strchr(cast_const_char u, POST_CHAR))) post_seq = cast_uchar strchr(cast_const_char u, 0); @@ -331,9 +331,9 @@ static unsigned char *translate_hashbang(unsigned char *up) } } add_to_str(&r, &rl, post_seq); - mem_free(u); - mem_free(p); - mem_free(up); + free(u); + free(p); + free(up); return r; } @@ -370,7 +370,7 @@ match: add_to_str(&res, &l, cast_uchar patterns[i].result1); add_bytes_to_str(&res, &l, id, id_end - id); add_to_str(&res, &l, cast_uchar patterns[i].result2); - mem_free(n); + free(n); return res; } @@ -423,7 +423,7 @@ static void insert_wd(unsigned char **up, unsigned char *cwd) } if (!dir_sep(cwd[strlen(cast_const_char cwd) - 1])) add_chr_to_str(&url, &url_l, '/'); add_to_str(&url, &url_l, u + 7); - mem_free(u); + free(u); *up = url; } @@ -443,10 +443,10 @@ static unsigned char *translate_idn(unsigned char *nu, int canfail) if (!id) { if (!canfail) return nu; - mem_free(nu); + free(nu); return NULL; } - mem_free(nu); + free(nu); return id; } return nu; @@ -500,7 +500,7 @@ unsigned char *join_urls(unsigned char *base, unsigned char *rel) if (!parse_url(n, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_n; add_to_strn(&n, cast_uchar "/"); if (!parse_url(n, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_n; - mem_free(n); + free(n); } if (is_proxy_url(rel)) goto prx; if (!parse_url(rel, &l, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) { @@ -515,7 +515,7 @@ unsigned char *join_urls(unsigned char *base, unsigned char *rel) memmove(ch + 1, ch, strlen(cast_const_char ch) + 1); *ch = '/'; if (!parse_url(n, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_n; - mem_free(n); + free(n); prx: if (parse_url(base, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &p, NULL, NULL) || !p) { goto bad_base; @@ -550,7 +550,7 @@ unsigned char *translate_url(unsigned char *url, unsigned char *cwd) nu = stracpy(url); while (*nu && nu[strlen(cast_const_char nu) - 1] == ' ') nu[strlen(cast_const_char nu) - 1] = 0; ch = translate_url(nu, cwd); - mem_free(nu); + free(nu); return ch; } if (is_proxy_url(url)) return NULL; @@ -567,7 +567,7 @@ unsigned char *translate_url(unsigned char *url, unsigned char *cwd) memmove(ch + 1, ch, strlen(cast_const_char ch) + 1); *ch = '/'; if (!parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_nu; - mem_free(nu); + free(nu); } prefix = cast_uchar "file://"; if (url[0] == '[' && strchr(cast_const_char url, ']')) { @@ -584,7 +584,7 @@ unsigned char *translate_url(unsigned char *url, unsigned char *cwd) ; g = memacpy(e, f - e); tl = is_tld(g); - mem_free(g); + free(g); if (tl) http: prefix = cast_uchar "http://", sl = 1; } @@ -595,7 +595,7 @@ unsigned char *translate_url(unsigned char *url, unsigned char *cwd) add_to_strn(&nu, url); if (sl && !strchr(cast_const_char url, '/')) add_to_strn(&nu, cast_uchar "/"); if (parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) { - mem_free(nu); + free(nu); return NULL; } goto return_nu; @@ -606,7 +606,7 @@ unsigned char *translate_url(unsigned char *url, unsigned char *cwd) if (!parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_nu; add_to_strn(&nu, cast_uchar "/"); if (!parse_url(nu, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)) goto return_nu; - mem_free(nu); + free(nu); return NULL; return_nu: @@ -636,7 +636,7 @@ int url_not_saveable(unsigned char *url) if (!u) return 1; p = parse_url(u, NULL, NULL, NULL, NULL, &palen, NULL, NULL, NULL, NULL, NULL, NULL, NULL); - mem_free(u); + free(u); return p || palen; } @@ -862,7 +862,7 @@ static unsigned char *puny_encode(unsigned char *s, int len) } ret_free_uni: - mem_free(uni); + free(uni); if (res_l > puny_max_length) goto err; @@ -870,7 +870,7 @@ ret_free_uni: return res; err_free_uni: - mem_free(uni); + free(uni); err: return NULL; } @@ -970,12 +970,12 @@ static unsigned char *puny_decode(unsigned char *s, int len) add_to_str(&res, &res_l, us); } - mem_free(uni); + free(uni); return res; err_free_uni: - mem_free(uni); + free(uni); err: return NULL; } @@ -1002,14 +1002,14 @@ next_host_elem: if (!enc) goto err; add_to_str(&p, &pl, enc); - mem_free(enc); + free(enc); goto advance_host; } } else { unsigned char *dec = puny_decode(host, l); if (dec) { add_to_str(&p, &pl, dec); - mem_free(dec); + free(dec); goto advance_host; } } @@ -1026,7 +1026,7 @@ advance_host: return p; err: - mem_free(p); + free(p); return NULL; } @@ -1048,7 +1048,7 @@ unsigned char *idn_encode_url(unsigned char *url, int decode) add_bytes_to_str(&p, &pl, url, host - url); add_to_str(&p, &pl, h); add_to_str(&p, &pl, host + holen); - mem_free(h); + free(h); return p; } @@ -1074,13 +1074,13 @@ static unsigned char *display_url_or_host(struct terminal *term, unsigned char * url_dec = idn_encode_host(url, (int)strlen(cast_const_char url), separator, 1); is_idn = strcmp(cast_const_char url_dec, cast_const_char url); url_conv = convert(utf8_table, term_charset(term), url_dec, NULL); - mem_free(url_dec); + free(url_dec); url_conv2 = convert(term_charset(term), utf8_table, url_conv, NULL); if (!just_host) url_enc = idn_encode_url(url_conv2, 0); else url_enc = idn_encode_host(url_conv2, (int)strlen(cast_const_char url_conv2), separator, 0); - mem_free(url_conv2); + free(url_conv2); if (!strcmp(cast_const_char url_enc, cast_const_char url)) { if (is_idn && warn_idn) { ret = stracpy(cast_uchar "(IDN) "); @@ -1089,12 +1089,11 @@ static unsigned char *display_url_or_host(struct terminal *term, unsigned char * ret = url_conv; url_conv = NULL; } - } else { + } else ret = convert(utf8_table, term_charset(term), url, NULL); - } - mem_free(url); - mem_free(url_conv); - mem_free(url_enc); + free(url); + free(url_conv); + free(url_enc); return ret; }