int AslCommandLine ( int argc, char **argv) { int BadCommandLine = 0; ACPI_STATUS Status; /* Minimum command line contains at least the command and an input file */ if (argc < 2) { printf (ACPI_COMMON_SIGNON (ASL_COMPILER_NAME)); Usage (); exit (1); } /* Process all command line options */ BadCommandLine = AslDoOptions (argc, argv, FALSE); if (Gbl_DoTemplates) { Status = DtCreateTemplates (Gbl_TemplateSignature); if (ACPI_FAILURE (Status)) { exit (-1); } exit (1); } /* Next parameter must be the input filename */ if (!argv[AcpiGbl_Optind] && !Gbl_DisasmFlag && !Gbl_GetAllTables) { printf ("Missing input filename\n"); BadCommandLine = TRUE; } if (Gbl_DoSignon) { printf (ACPI_COMMON_SIGNON (ASL_COMPILER_NAME)); if (Gbl_IgnoreErrors) { printf ("Ignoring all errors, forcing AML file generation\n\n"); } } if (BadCommandLine) { printf ("Use -h option for help information\n"); exit (1); } return (AcpiGbl_Optind); }
static int AslDoResponseFile ( char *Filename) { char *argv = StringBuffer2; FILE *ResponseFile; int OptStatus = 0; int Opterr; int Optind; ResponseFile = fopen (Filename, "r"); if (!ResponseFile) { printf ("Could not open command file %s, %s\n", Filename, strerror (errno)); return (-1); } /* Must save the current GetOpt globals */ Opterr = AcpiGbl_Opterr; Optind = AcpiGbl_Optind; /* * Process all lines in the response file. There must be one complete * option per line */ while (fgets (StringBuffer, ASL_MSG_BUFFER_SIZE, ResponseFile)) { /* Compress all tokens, allowing us to use a single argv entry */ AslMergeOptionTokens (StringBuffer, StringBuffer2); /* Process the option */ AcpiGbl_Opterr = 0; AcpiGbl_Optind = 0; OptStatus = AslDoOptions (1, &argv, TRUE); if (OptStatus) { printf ("Invalid option in command file %s: %s\n", Filename, StringBuffer); break; } } /* Restore the GetOpt globals */ AcpiGbl_Opterr = Opterr; AcpiGbl_Optind = Optind; fclose (ResponseFile); return (OptStatus); }
static int AslCommandLine ( int argc, char **argv) { int BadCommandLine = 0; /* Minimum command line contains at least the command and an input file */ if (argc < 2) { AslCompilerSignon (ASL_FILE_STDOUT); Usage (); exit (1); } /* Process all command line options */ BadCommandLine = AslDoOptions (argc, argv, FALSE); /* Next parameter must be the input filename */ if (!argv[AcpiGbl_Optind] && !Gbl_DisasmFlag && !Gbl_GetAllTables) { printf ("Missing input filename\n"); BadCommandLine = TRUE; } if (Gbl_DoSignon) { AslCompilerSignon (ASL_FILE_STDOUT); } /* Abort if anything went wrong on the command line */ if (BadCommandLine) { printf ("\n"); Usage (); exit (1); } return (AcpiGbl_Optind); }