-/* $OpenBSD: cmd-confirm-before.c,v 1.54 2024/04/15 08:19:55 nicm Exp $ */
+/* $OpenBSD: cmd-confirm-before.c,v 1.55 2024/05/15 08:39:30 nicm Exp $ */
/*
* Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org>
cdata->confirm_key = confirm_key[0];
else {
cmdq_error(item, "invalid confirm key");
+ free(cdata);
return (CMD_RETURN_ERROR);
}
}
xasprintf(&new_prompt, "%s ", prompt);
else {
cmd = cmd_get_entry(cmd_list_first(cdata->cmdlist))->name;
- xasprintf(&new_prompt, "Confirm '%s'? (%c/n) ",
- cmd, cdata->confirm_key);
+ xasprintf(&new_prompt, "Confirm '%s'? (%c/n) ", cmd,
+ cdata->confirm_key);
}
status_prompt_set(tc, target, new_prompt, NULL,
-/* $OpenBSD: status.c,v 1.241 2023/11/14 15:59:49 nicm Exp $ */
+/* $OpenBSD: status.c,v 1.242 2024/05/15 08:39:30 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
if ((pb = paste_get_top(NULL)) == NULL)
return (0);
bufdata = paste_buffer_data(pb, &bufsize);
- ud = xreallocarray(NULL, bufsize + 1, sizeof *ud);
- udp = ud;
+ ud = udp = xreallocarray(NULL, bufsize + 1, sizeof *ud);
for (i = 0; i != bufsize; /* nothing */) {
more = utf8_open(udp, bufdata[i]);
if (more == UTF8_MORE) {
udp->size = 0;
n = udp - ud;
}
- if (n == 0)
- return (0);
-
- c->prompt_buffer = xreallocarray(c->prompt_buffer, size + n + 1,
- sizeof *c->prompt_buffer);
- if (c->prompt_index == size) {
- memcpy(c->prompt_buffer + c->prompt_index, ud,
- n * sizeof *c->prompt_buffer);
- c->prompt_index += n;
- c->prompt_buffer[c->prompt_index].size = 0;
- } else {
- memmove(c->prompt_buffer + c->prompt_index + n,
- c->prompt_buffer + c->prompt_index,
- (size + 1 - c->prompt_index) * sizeof *c->prompt_buffer);
- memcpy(c->prompt_buffer + c->prompt_index, ud,
- n * sizeof *c->prompt_buffer);
- c->prompt_index += n;
+ if (n != 0) {
+ c->prompt_buffer = xreallocarray(c->prompt_buffer, size + n + 1,
+ sizeof *c->prompt_buffer);
+ if (c->prompt_index == size) {
+ memcpy(c->prompt_buffer + c->prompt_index, ud,
+ n * sizeof *c->prompt_buffer);
+ c->prompt_index += n;
+ c->prompt_buffer[c->prompt_index].size = 0;
+ } else {
+ memmove(c->prompt_buffer + c->prompt_index + n,
+ c->prompt_buffer + c->prompt_index,
+ (size + 1 - c->prompt_index) *
+ sizeof *c->prompt_buffer);
+ memcpy(c->prompt_buffer + c->prompt_index, ud,
+ n * sizeof *c->prompt_buffer);
+ c->prompt_index += n;
+ }
}
-
if (ud != c->prompt_saved)
free(ud);
return (1);
}
if (size == 0) {
menu_free(menu);
+ free(spm);
return (NULL);
}
if (size == 1) {
} else
tmp = list[0];
free(list);
+ free(spm);
return (tmp);
}
if (height > size)