sequencer: configurably warn on non-existent files

In the future, we plan on externing read_oneliner(). Future users of
read_oneliner() will want the ability to output warnings in the event
that the `path` doesn't exist. Introduce the
`READ_ONELINER_WARN_MISSING` flag which, if active, would issue a
warning when a file doesn't exist by always executing warning_errno()
in the case where strbuf_read_file() fails.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Denton Liu 2020-04-07 10:27:53 -04:00 коммит произвёл Junio C Hamano
Родитель 3442c3d11d
Коммит bfa50c2c7f
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -420,6 +420,7 @@ static int write_message(const void *buf, size_t len, const char *filename,
}
#define READ_ONELINER_SKIP_IF_EMPTY (1 << 0)
#define READ_ONELINER_WARN_MISSING (1 << 1)
/*
* Reads a file that was presumably written by a shell script, i.e. with an
@ -436,7 +437,8 @@ static int read_oneliner(struct strbuf *buf,
int orig_len = buf->len;
if (strbuf_read_file(buf, path, 0) < 0) {
if (errno != ENOENT && errno != ENOTDIR)
if ((flags & READ_ONELINER_WARN_MISSING) ||
(errno != ENOENT && errno != ENOTDIR))
warning_errno(_("could not read '%s'"), path);
return 0;
}