From 7bf5d02abc44bb11196c7b18e9ef3604ad4a11de Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Mon, 1 Apr 2019 20:32:50 +0200 Subject: [PATCH] trc checkpoint --- module/share/lib/libda.a | Bin 17300 -> 17300 bytes module/tranche/src/tranche.lib.c | 36 +++++++++--------- module/tranche/test/try/test2.sh | 2 +- ...st2stdout.dat => test2stdout.dat.expected} | 0 module/tranche/test/try/test3.out.expected | 2 +- module/tranche/test/try/test4.out.expected | 2 - module/tranche/test/try/test5.sh | 2 +- tool/bin/tranche | Bin 38360 -> 38536 bytes tool/bin/tranche-make | Bin 38400 -> 38584 bytes tool/bin/tranche-target | Bin 38384 -> 38600 bytes 10 files changed, 21 insertions(+), 23 deletions(-) rename module/tranche/test/try/{test2stdout.dat => test2stdout.dat.expected} (100%) diff --git a/module/share/lib/libda.a b/module/share/lib/libda.a index 7e790c4393579a3d08839f0fc140eff7726ac795..67e5e144aeb1c591e00dd8a2047bf8ff1a8dbb97 100644 GIT binary patch delta 29 gcmbQz&N!u=ae^$XvALelement_size; + } + da_push(fn_arrp, &terminator); + char *file_name = strdup(fn_arrp->base); + da_rewind(fn_arrp); + da_push(file_names, &file_name); + while( *pt && isspace(*pt) ) pt++; } - da_push(fn_arrp, &terminator); - - char *file_name = strdup(*(char **)fn_arrp->base); - da_push(file_names, &file_name); } //-------------------------------------------------------------------------------- @@ -148,7 +152,7 @@ int tranche_target(FILE *src, Da *target_arrp, char *tdir){ parse_file_list(&file_name_arr, pt, tdir); da_strings_set_union(target_arrp, &file_name_arr, free); da_rewind(&file_name_arr); - tranche_target(src, target_arrp); + tranche_target(src, target_arrp, tdir); } da_rewind(&line); } @@ -179,7 +183,7 @@ void tranche_make(FILE *src_file, char *src_name, int mfile_fd, char *tdir){ Da ta; Da *tap=&ta; // target array pointer da_alloc(tap, sizeof(char *)); - tranche_target(src_file, tap); + tranche_target(src_file, tap, tdir); // construct then output the dependency line ---------------------------------------- Da dla; @@ -187,10 +191,6 @@ void tranche_make(FILE *src_file, char *src_name, int mfile_fd, char *tdir){ da_alloc(dlap, sizeof(char)); char *pt = tap->base; // char * because it points to a byte in the array while( pt < tap->end ){ - if(tdir){ - da_string_push(dlap, tdir); - da_push(dlap, &slash); - } da_string_push(dlap, *(char **)pt); da_push(dlap, &sp); pt += tap->element_size; diff --git a/module/tranche/test/try/test2.sh b/module/tranche/test/try/test2.sh index 5959bbc..c5617a8 100644 --- a/module/tranche/test/try/test2.sh +++ b/module/tranche/test/try/test2.sh @@ -3,6 +3,6 @@ diff -q test2.c test2.c.expected diff -q test2.h test2.h.expected diff -q test2stdout.dat test2stdout.dat.expected -rm test2.c test2.h test2stdout.dat.expected +rm test2.c test2.h test2stdout.dat diff --git a/module/tranche/test/try/test2stdout.dat b/module/tranche/test/try/test2stdout.dat.expected similarity index 100% rename from module/tranche/test/try/test2stdout.dat rename to module/tranche/test/try/test2stdout.dat.expected diff --git a/module/tranche/test/try/test3.out.expected b/module/tranche/test/try/test3.out.expected index 8294b86..8bb7f8f 100644 --- a/module/tranche/test/try/test3.out.expected +++ b/module/tranche/test/try/test3.out.expected @@ -2,4 +2,4 @@ test11.dat test12.dat test13.dat test14.dat -test15.dat +test15.dat \ No newline at end of file diff --git a/module/tranche/test/try/test4.out.expected b/module/tranche/test/try/test4.out.expected index 05de4b1..e69de29 100644 --- a/module/tranche/test/try/test4.out.expected +++ b/module/tranche/test/try/test4.out.expected @@ -1,2 +0,0 @@ -test2.c -test2.h diff --git a/module/tranche/test/try/test5.sh b/module/tranche/test/try/test5.sh index 284d01e..b949f72 100644 --- a/module/tranche/test/try/test5.sh +++ b/module/tranche/test/try/test5.sh @@ -1,4 +1,4 @@ -./tranche test1.dat test2.trc.c +./tranche test1.dat test2.trc.c > /dev/null diff -q test11.dat test11.dat.expected diff -q test12.dat test12.dat.expected diff --git a/tool/bin/tranche b/tool/bin/tranche index 548941994a6370d8c8cc18b2eed45ec628a6b95c..ad956240c8f77f203283bff9341cf9a101f3ab6c 100755 GIT binary patch delta 5778 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 S)z23s)Na(NGRoEj9RCFiuF59> delta 5394 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 G)Bg)spt^Jb diff --git a/tool/bin/tranche-target b/tool/bin/tranche-target index e315a2c3cd13820f4510cd1bddcc9fa00c1e85e4..a79e844ab25aa0716fbe7a4961c14b4760ac8bb7 100755 GIT binary patch delta 11396 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 E11~K*{{R30 delta 11067 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 -- 2.20.1