diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2020-11-02 19:23:18 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-11-02 19:23:18 +0200 |
commit | deb2b3e6e63520fad4843f81419b42238a886afe (patch) | |
tree | 15dedfab78da4ad20ce272e65d7a7876ae717181 /test cases/native/3 pipeline/srcgen.c | |
parent | ff50f724bbf49739abbee9cbb4c8e6200849738f (diff) | |
download | meson-dircondense2.zip meson-dircondense2.tar.gz meson-dircondense2.tar.bz2 |
Condense test directory names again.dircondense2
Diffstat (limited to 'test cases/native/3 pipeline/srcgen.c')
-rw-r--r-- | test cases/native/3 pipeline/srcgen.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/test cases/native/3 pipeline/srcgen.c b/test cases/native/3 pipeline/srcgen.c new file mode 100644 index 0000000..ceb9ecc --- /dev/null +++ b/test cases/native/3 pipeline/srcgen.c @@ -0,0 +1,69 @@ +#include<stdio.h> +#include<assert.h> +#include<string.h> + +#define ARRSIZE 80 + +int main(int argc, char **argv) { + char arr[ARRSIZE]; + char *ofilename; + char *ifilename; + char *dfilename; + FILE *ifile; + FILE *ofile; + FILE *depfile; + size_t bytes; + int i; + + if(argc != 4) { + fprintf(stderr, "%s <input file> <output file> <dependency file>\n", argv[0]); + return 1; + } + ifilename = argv[1]; + ofilename = argv[2]; + dfilename = argv[3]; + ifile = fopen(argv[1], "r"); + if(!ifile) { + fprintf(stderr, "Could not open source file %s.\n", argv[1]); + return 1; + } + ofile = fopen(ofilename, "w"); + if(!ofile) { + fprintf(stderr, "Could not open target file %s\n", ofilename); + fclose(ifile); + return 1; + } + bytes = fread(arr, 1, ARRSIZE, ifile); + assert(bytes < 80); + assert(bytes > 0); + fwrite(arr, 1, bytes, ofile); + + depfile = fopen(dfilename, "w"); + if(!depfile) { + fprintf(stderr, "Could not open depfile %s\n", ofilename); + fclose(ifile); + fclose(ofile); + return 1; + } + for(i=0; i<strlen(ofilename); i++) { + if(ofilename[i] == ' ') { + fwrite("\\ ", 1, 2, depfile); + } else { + fwrite(&ofilename[i], 1, 1, depfile); + } + } + fwrite(": ", 1, 2, depfile); + for(i=0; i<strlen(ifilename); i++) { + if(ifilename[i] == ' ') { + fwrite("\\ ", 1, 2, depfile); + } else { + fwrite(&ifilename[i], 1, 1, depfile); + } + } + fwrite("\n", 1, 1, depfile); + + fclose(ifile); + fclose(ofile); + fclose(depfile); + return 0; +} |