summaryrefslogtreecommitdiff
path: root/migcom.c
diff options
context:
space:
mode:
Diffstat (limited to 'migcom.c')
-rw-r--r--migcom.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/migcom.c b/migcom.c
index 14b9dd6..db04455 100644
--- a/migcom.c
+++ b/migcom.c
@@ -80,6 +80,8 @@
extern int yyparse();
static FILE *myfopen(const char *name, const char *mode);
+static string_t RoutineListFileName;
+
static void
parseArgs(int argc, char **argv)
{
@@ -88,6 +90,9 @@ parseArgs(int argc, char **argv)
{
switch (argv[0][1])
{
+ case 'n':
+ DefaultFiles = FALSE;
+ break;
case 'q':
BeQuiet = TRUE;
break;
@@ -106,6 +111,15 @@ parseArgs(int argc, char **argv)
case 'R':
UseMsgRPC = FALSE;
break;
+ case 'l':
+ if (streql(argv[0], "-list"))
+ {
+ --argc; ++argv;
+ if (argc == 0)
+ fatal("missing name for -list option");
+ RoutineListFileName = strmake(argv[0]);
+ }
+ break;
case 's':
if (streql(argv[0], "-server"))
{
@@ -272,6 +286,14 @@ main(int argc, char **argv)
}
WriteServer(server, StatementList);
fclose(server);
+
+ if (RoutineListFileName != strNULL)
+ {
+ FILE *listfile = myfopen (RoutineListFileName, "w");
+ WriteRoutineList (listfile, StatementList);
+ fclose (listfile);
+ }
+
if (BeVerbose)
printf("done.\n");