#include "gom.h"
#include "output.h"
#include "dump_gom.h"
+#include "portability.h"
#include <stdio.h>
#include <locale.h>
#include "gedcom.h"
printf(" -dg Debug setting: only libgedcom debug messages\n");
printf(" -da Debug setting: libgedcom + yacc debug messages\n");
printf(" -q No output to standard output\n");
+ printf(" -o <outfile> File to generate output to (def. testgedcom.out)\n");
}
void gedcom_message_handler(Gedcom_msg_type type, char *msg)
int compat_enabled = 1;
int debug_level = 0;
int result = 0;
+ char* outfilename = NULL;
char* file_name = NULL;
if (argc > 1) {
else if (!strncmp(argv[i], "-q", 3)) {
output_set_quiet(1);
}
+ else if (!strncmp(argv[i], "-o", 3)) {
+ i++;
+ if (i < argc) {
+ outfilename = argv[i];
+ }
+ else {
+ printf ("Missing output file name\n");
+ show_help();
+ exit(1);
+ }
+ }
else if (strncmp(argv[i], "-", 1)) {
file_name = argv[i];
break;
gedcom_set_error_handling(mech);
gedcom_set_message_handler(gedcom_message_handler);
- output_open();
- output(0, "\n=== Parsing file %s\n", file_name);
+ output_open(outfilename);
+ output(0, "\n=== Parsing file %s\n", simple_base_name(file_name));
result = gom_parse_file(file_name);
if (result == 0) {
output(1, "Parse succeeded\n");