refs.c: remove the_repo from substitute_branch_name()

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2019-04-06 18:34:26 +07:00 committed by Junio C Hamano
parent 546edf37ae
commit 8f56e9d4ba
3 changed files with 17 additions and 8 deletions

View File

@ -1468,8 +1468,12 @@ extern int parse_oid_hex(const char *hex, struct object_id *oid, const char **en
#define INTERPRET_BRANCH_LOCAL (1<<0) #define INTERPRET_BRANCH_LOCAL (1<<0)
#define INTERPRET_BRANCH_REMOTE (1<<1) #define INTERPRET_BRANCH_REMOTE (1<<1)
#define INTERPRET_BRANCH_HEAD (1<<2) #define INTERPRET_BRANCH_HEAD (1<<2)
extern int interpret_branch_name(const char *str, int len, struct strbuf *, int repo_interpret_branch_name(struct repository *r,
unsigned allowed); const char *str, int len,
struct strbuf *buf,
unsigned allowed);
#define interpret_branch_name(str, len, buf, allowed) \
repo_interpret_branch_name(the_repository, str, len, buf, allowed)
extern int get_oid_mb(const char *str, struct object_id *oid); extern int get_oid_mb(const char *str, struct object_id *oid);
extern int validate_headref(const char *ref); extern int validate_headref(const char *ref);

9
refs.c
View File

@ -539,10 +539,11 @@ void expand_ref_prefix(struct argv_array *prefixes, const char *prefix)
* later free()ing) if the string passed in is a magic short-hand form * later free()ing) if the string passed in is a magic short-hand form
* to name a branch. * to name a branch.
*/ */
static char *substitute_branch_name(const char **string, int *len) static char *substitute_branch_name(struct repository *r,
const char **string, int *len)
{ {
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
int ret = interpret_branch_name(*string, *len, &buf, 0); int ret = repo_interpret_branch_name(r, *string, *len, &buf, 0);
if (ret == *len) { if (ret == *len) {
size_t size; size_t size;
@ -556,7 +557,7 @@ static char *substitute_branch_name(const char **string, int *len)
int dwim_ref(const char *str, int len, struct object_id *oid, char **ref) int dwim_ref(const char *str, int len, struct object_id *oid, char **ref)
{ {
char *last_branch = substitute_branch_name(&str, &len); char *last_branch = substitute_branch_name(the_repository, &str, &len);
int refs_found = expand_ref(str, len, oid, ref); int refs_found = expand_ref(str, len, oid, ref);
free(last_branch); free(last_branch);
return refs_found; return refs_found;
@ -596,7 +597,7 @@ int expand_ref(const char *str, int len, struct object_id *oid, char **ref)
int dwim_log(const char *str, int len, struct object_id *oid, char **log) int dwim_log(const char *str, int len, struct object_id *oid, char **log)
{ {
char *last_branch = substitute_branch_name(&str, &len); char *last_branch = substitute_branch_name(the_repository, &str, &len);
const char **p; const char **p;
int logs_found = 0; int logs_found = 0;
struct strbuf path = STRBUF_INIT; struct strbuf path = STRBUF_INIT;

View File

@ -1427,13 +1427,17 @@ static int interpret_branch_mark(const char *name, int namelen,
return len + at; return len + at;
} }
int interpret_branch_name(const char *name, int namelen, struct strbuf *buf, int repo_interpret_branch_name(struct repository *r,
unsigned allowed) const char *name, int namelen,
struct strbuf *buf,
unsigned allowed)
{ {
char *at; char *at;
const char *start; const char *start;
int len; int len;
if (r != the_repository)
BUG("interpret_branch_name() does not really use 'r' yet");
if (!namelen) if (!namelen)
namelen = strlen(name); namelen = strlen(name);