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:
| M | suffix.c | | | 4 | ++-- | 
| M | terminal.c | | | 40 | ++++++++++++++++++++-------------------- | 
| M | types.c | | | 119 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- | 
| M | url.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;
 }