1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include <stdio.h> // for scotch
#include <stdint.h>
#include <scotch.h>
#include <netloc.h>
#include <netlocscotch.h>
void help(char *name, FILE *f)
{
fprintf(f, "Usage: %s <archfile> [subarchfile]\n"
"\t%s --help\n", name, name);
}
int main(int argc, char **argv)
{
int ret;
SCOTCH_Arch arch;
SCOTCH_Arch subarch;
char *arch_filename = NULL;
char *subarch_filename = NULL;
if (argc == 1 || argc > 3) {
help(argv[0], stdout);
return 1;
}
if (argc == 2) {
if (!strcmp(*argv, "--help")) {
help(argv[0], stdout);
return 0;
} else {
arch_filename = argv[1];
}
} else if (argc == 3) {
arch_filename = argv[1];
subarch_filename = argv[2];
}
ret = netlocscotch_build_global_arch(&arch);
if( NETLOC_SUCCESS != ret ) {
return ret;
}
FILE *arch_file = fopen(arch_filename, "w");
SCOTCH_archSave(&arch, arch_file);
fclose(arch_file);
if (subarch_filename) {
ret = netlocscotch_build_current_arch(&arch, &subarch);
if( NETLOC_SUCCESS != ret ) {
return ret;
}
FILE *subarch_file = fopen(subarch_filename, "w");
SCOTCH_archSave(&subarch, subarch_file);
fclose(subarch_file);
SCOTCH_archExit(&subarch);
}
SCOTCH_archExit(&arch);
return 0;
}
|