зеркало из https://github.com/microsoft/git.git
sha1-name.c: add `get_oidf()` which acts like `get_oid()`
Compared to `get_oid()`, `get_oidf()` has as parameters a pointer to `object_id`, a printf format string and additional arguments. This will help simplify the code in subsequent commits. Original-idea-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
eacdb4d2f4
Коммит
f5116f43f6
1
cache.h
1
cache.h
|
@ -1333,6 +1333,7 @@ struct object_context {
|
|||
GET_OID_BLOB)
|
||||
|
||||
extern int get_oid(const char *str, struct object_id *oid);
|
||||
extern int get_oidf(struct object_id *oid, const char *fmt, ...);
|
||||
extern int get_oid_commit(const char *str, struct object_id *oid);
|
||||
extern int get_oid_committish(const char *str, struct object_id *oid);
|
||||
extern int get_oid_tree(const char *str, struct object_id *oid);
|
||||
|
|
19
sha1-name.c
19
sha1-name.c
|
@ -1542,6 +1542,25 @@ int get_oid(const char *name, struct object_id *oid)
|
|||
return get_oid_with_context(name, 0, oid, &unused);
|
||||
}
|
||||
|
||||
/*
|
||||
* This returns a non-zero value if the string (built using printf
|
||||
* format and the given arguments) is not a valid object.
|
||||
*/
|
||||
int get_oidf(struct object_id *oid, const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
int ret;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
|
||||
va_start(ap, fmt);
|
||||
strbuf_vaddf(&sb, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
ret = get_oid(sb.buf, oid);
|
||||
strbuf_release(&sb);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Many callers know that the user meant to name a commit-ish by
|
||||
|
|
Загрузка…
Ссылка в новой задаче