diff options
Diffstat (limited to 'sys/src/cmd/hgfs/util.c')
| -rw-r--r-- | sys/src/cmd/hgfs/util.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/src/cmd/hgfs/util.c b/sys/src/cmd/hgfs/util.c new file mode 100644 index 000000000..179713124 --- /dev/null +++ b/sys/src/cmd/hgfs/util.c @@ -0,0 +1,28 @@ +#include <u.h> +#include <libc.h> +#include <thread.h> +#include "dat.h" +#include "fns.h" + +int +getdothg(char *dothg, char *path) +{ + char buf[MAXPATH], *s; + + if(path != nil){ + snprint(buf, sizeof(buf), "%s", path); + cleanname(buf); + } else if(getwd(buf, sizeof(buf)) == nil) + return -1; + for(;;){ + snprint(dothg, MAXPATH, "%s/.hg", buf); + if(access(dothg, AEXIST) == 0) + return 0; + if(path != nil) + break; + if((s = strrchr(buf, '/')) == nil) + break; + *s = 0; + } + return -1; +} |
