mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-30 14:53:11 +00:00
src/history: Stop renarrowing a string in a for-loop
Classic case of doing stuff in a loop that doesn't change. No idea if the compiler caught it, but I sleep easier now.
This commit is contained in:
parent
b0f320481c
commit
2aaf7fda27
1 changed files with 7 additions and 5 deletions
|
@ -1285,14 +1285,16 @@ bool history_t::rewrite_to_temporary_file(int existing_fd, int dst_fd) const {
|
||||||
// Returns the fd of an opened temporary file, or -1 on failure
|
// Returns the fd of an opened temporary file, or -1 on failure
|
||||||
static int create_temporary_file(const wcstring &name_template, wcstring *out_path) {
|
static int create_temporary_file(const wcstring &name_template, wcstring *out_path) {
|
||||||
int out_fd = -1;
|
int out_fd = -1;
|
||||||
|
char *narrow_str = nullptr;
|
||||||
for (size_t attempt = 0; attempt < 10 && out_fd == -1; attempt++) {
|
for (size_t attempt = 0; attempt < 10 && out_fd == -1; attempt++) {
|
||||||
char *narrow_str = wcs2str(name_template);
|
narrow_str = wcs2str(name_template);
|
||||||
out_fd = fish_mkstemp_cloexec(narrow_str);
|
out_fd = fish_mkstemp_cloexec(narrow_str);
|
||||||
if (out_fd >= 0) {
|
|
||||||
*out_path = str2wcstring(narrow_str);
|
|
||||||
}
|
|
||||||
free(narrow_str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (out_fd >= 0) {
|
||||||
|
*out_path = str2wcstring(narrow_str);
|
||||||
|
}
|
||||||
|
free(narrow_str);
|
||||||
return out_fd;
|
return out_fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue