path: root/strbuf.c
diff options
authorJunio C Hamano <>2009-03-21 20:17:30 (GMT)
committerJunio C Hamano <>2009-03-23 06:44:08 (GMT)
commita552de75eb01f78046feaf7dc88e5e4833624ad5 (patch)
treed069272f15dc3876743f24ed75c43f4209c004b4 /strbuf.c
parent431b1969fcde69959a23355fba6894fb69c8fa0c (diff)
strbuf_branchname(): a wrapper for branch name shorthands
The function takes a user-supplied string that is supposed to be a branch name, and puts it in a strbuf after expanding possible shorthand notation. A handful of open coded sequence to do this in the existing code have been changed to use this helper function. Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'strbuf.c')
1 files changed, 9 insertions, 0 deletions
diff --git a/strbuf.c b/strbuf.c
index bfbd816..a60b0ad 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -357,3 +357,12 @@ int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint)
return len;
+int strbuf_branchname(struct strbuf *sb, const char *name)
+ int len = strlen(name);
+ if (interpret_branch_name(name, sb) == len)
+ return 0;
+ strbuf_add(sb, name, len);
+ return len;