Possibly working directory auto-detection

This commit is contained in:
Neale Pickett 2012-11-07 19:44:27 -07:00
parent 472ddcdfea
commit 8d999c678f
2 changed files with 16 additions and 12 deletions

View File

@ -363,16 +363,24 @@ my_snprintf(char *buf, size_t buflen, char *fmt, ...)
} }
} }
void void
ctf_chdir() ctf_chdir()
{ {
char const *ctf_base = getenv("CTF_BASE"); static int initialized = 0;
int i; int i;
if (ctf_base) { if (initialized) {
/* chdir to CTF_BASE */ return;
chdir(ctf_base); }
initialized = 1;
/* chdir to $CTF_BASE */
{
char const *ctf_base = getenv("CTF_BASE");
if (ctf_base) {
chdir(ctf_base);
}
} }
/* Keep going up one directory until there's a packages directory */ /* Keep going up one directory until there's a packages directory */
@ -395,17 +403,13 @@ mkpath(char const *type, char const *fmt, va_list ap)
{ {
char relpath[PATH_MAX]; char relpath[PATH_MAX];
static char path[PATH_MAX]; static char path[PATH_MAX];
char const *var = getenv("CTF_BASE");
ctf_chdir();
vsnprintf(relpath, sizeof(relpath) - 1, fmt, ap); vsnprintf(relpath, sizeof(relpath) - 1, fmt, ap);
relpath[sizeof(relpath) - 1] = '\0'; relpath[sizeof(relpath) - 1] = '\0';
if (! var) {
var = "";
}
/* $CTF_BASE/type/relpath */ /* $CTF_BASE/type/relpath */
my_snprintf(path, sizeof(path), "%s/%s/%s", var, type, relpath); my_snprintf(path, sizeof(path), "%s/%s", type, relpath);
return path; return path;
} }

View File

@ -1,7 +1,7 @@
TANKS_PKGDIR = $(TARGET)/tanks TANKS_PKGDIR = $(TARGET)/tanks
TANKS_CACHE = $(CACHE)/tanks.git TANKS_CACHE = $(CACHE)/tanks.git
TANKS_BUILDDIR = $(BUILD)/tanks TANKS_BUILDDIR = $(BUILD)/tanks
TANKS_URL = "http://dirtbags.net/projects/tanks" TANKS_URL = "http://woozle.org/~neale/g.cgi/tanks"
$(TANKS_CACHE): $(TANKS_CACHE):
git clone --bare $(TANKS_URL) $@ git clone --bare $(TANKS_URL) $@