Merge pull request #409 from Galaxy-cst/master

Rebuild JSON report file in first time and append while using -R
This commit is contained in:
van Hauser 2019-04-27 11:17:45 +02:00 committed by GitHub
commit a5ade64bdb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3552,11 +3552,16 @@ int main(int argc, char *argv[]) {
// printf("[DATA] with additional data %s\n", hydra_options.miscptr);
if (hydra_options.outfile_ptr != NULL) {
if ((hydra_brains.ofp = fopen(hydra_options.outfile_ptr, "a+")) == NULL) {
char outfile_open_type[] = "a+"; //Default open in a+ mode
if (hydra_options.outfile_format == FORMAT_JSONV1 && hydra_options.restore != 1) {
outfile_open_type[0] = 'w'; //Creat new outfile, if using JSON output and not using -R. The open mode should be "w+".
}
if ((hydra_brains.ofp = fopen(hydra_options.outfile_ptr, outfile_open_type)) == NULL) {
perror("[ERROR] Error creating outputfile");
exit(-1);
}
if (hydra_options.outfile_format == FORMAT_JSONV1) {
if (hydra_options.restore != 1) { // No JSON head while using -R
fprintf(hydra_brains.ofp, "{ \"generator\": {\n"
"\t\"software\": \"%s\", \"version\": \"%s\", \"built\": \"%s\",\n"
"\t\"server\": \"%s\", \"service\": \"%s\", \"jsonoutputversion\": \"1.00\",\n"
@ -3569,6 +3574,7 @@ int main(int argc, char *argv[]) {
free(t);
}
fprintf(hydra_brains.ofp, "\"\n\t},\n\"results\": [");
}
} else { // else default is plain text aka == 0
fprintf(hydra_brains.ofp, "# %s %s run at %s on %s %s (%s", PROGRAM, VERSION, hydra_build_time(),
hydra_options.server == NULL ? hydra_options.infile_ptr : hydra_options.server, hydra_options.service, prg);