aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2015-05-05 23:55:09 +0200
committerTharre <tharre3@gmail.com>2015-05-05 23:55:09 +0200
commit3d7bf2600524bf988362859ddd92556baf4e7e2f (patch)
tree4a82c601faf5786a4c84bf89eee152da7eb0d296 /src
parentdec5aaccacb11029b6d14df3f4acf1fd64e236ad (diff)
downloadredo-3d7bf2600524bf988362859ddd92556baf4e7e2f.tar.gz
redo-3d7bf2600524bf988362859ddd92556baf4e7e2f.tar.xz
redo-3d7bf2600524bf988362859ddd92556baf4e7e2f.zip
Fix some issues with paths
Diffstat (limited to 'src')
-rw-r--r--src/build.c14
-rw-r--r--src/redo.c2
2 files changed, 5 insertions, 11 deletions
diff --git a/src/build.c b/src/build.c
index 27bf48e..b74c4fd 100644
--- a/src/build.c
+++ b/src/build.c
@@ -119,7 +119,8 @@ int build_target(const char *target) {
free(dirc);
- char **argv = parse_shebang((char*)target, dofiles->chosen, temp_output);
+ char **argv = parse_shebang(xbasename((char*)target),
+ xbasename(dofiles->chosen), xbasename(temp_output));
/* set "REDO_PARENT_TARGET" */
if (setenv("REDO_PARENT_TARGET", target, 1))
@@ -267,15 +268,7 @@ static do_attr *get_dofiles(const char *target) {
do_attr *dofiles = xmalloc(sizeof(do_attr));
dofiles->specific = concat(2, target, ".do");
- if (!is_absolute(target)) {
- dofiles->general = concat(3, "default", take_extension(target), ".do");
- } else {
- char *dirc = xstrdup(target);
- char *dt = dirname(dirc);
-
- dofiles->general = concat(4, dt, "/default", take_extension(target), ".do");
- free(dirc);
- }
+ dofiles->general = concat(3, "default", take_extension(target), ".do");
if (fexists(dofiles->specific))
dofiles->chosen = dofiles->specific;
@@ -457,6 +450,7 @@ static int handle_c(const char *target) {
/* magic number matches */
return 1;
+
bool rebuild = false;
unsigned char hash[HASHSIZE];
hash_file(target, hash);
diff --git a/src/redo.c b/src/redo.c
index 84eca0b..577d975 100644
--- a/src/redo.c
+++ b/src/redo.c
@@ -88,7 +88,7 @@ int main(int argc, char *argv[]) {
} while (!*temp);
update_target(*temp, ident);
- add_dep(*temp, parent, ident);
+ add_dep(*temp, xbasename(parent), ident);
*temp = NULL;
}