#include "gedcom.h"
#include "output.h"
+#include "portability.h"
#include <locale.h>
#include <stdio.h>
void show_help ()
{
printf("gedcom-parse test program for libgedcom\n\n");
- printf("Usage: updatetest [options] file\n");
+ printf("Usage: updatetest [options]\n");
printf("Options:\n");
printf(" -h Show this help text\n");
printf(" -q No output to standard output\n");
+ printf(" -o <outfile> File to generate output to (def. testgedcom.out)\n");
}
int test_xref_functions()
{
struct xref_value* xr;
int result;
+ long int tmp;
xr = gedcom_get_by_xref("@NOTHING_THERE@");
if (xr != NULL)
return 16;
}
- if ((int)xr->object != 1) {
+ tmp = void_ptr_to_int(xr->object);
+ if (tmp != 1) {
output(1, "Not the correct cross-reference object\n");
return 17;
}
int main(int argc, char* argv[])
{
int result;
+ char* outfilename = NULL;
if (argc > 1) {
int i;
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 {
printf ("Unrecognized option: %s\n", argv[i]);
show_help();
setlocale(LC_ALL, "");
gedcom_set_message_handler(gedcom_message_handler);
- output_open();
+ output_open(outfilename);
result = gedcom_new_model();
if (result == 0)