112 #ifdef HAVE_CRT_EXTERNS_H 116 #include <crt_externs.h> 123 static int GetOptarg(
char **,
int *,
char ***,
int * );
124 static void Help(
void );
125 static void Syntax(
void );
254 "Turns on invisible options" 263 "Print out this message" 272 "Print out the PLplot library version number" 281 "Be more verbose than usual" 290 "Print debugging info (implies -verbose)" 299 "Enable driver-specific hack(s)" 326 "X server to contact" 335 "Plots per page in x" 344 "Plots per page in y" 353 "Window size/position specified as in X, e.g., 400x300, 400x300-100+200, +100-200, etc." 362 "Window size/position specified as in X, e.g., 400x300, 400x300-100+200, +100-200, etc." 371 "Relative coordinates [0-1] of window into plot" 380 "Margin space in relative coordinates (0 to 0.5, def 0)" 389 "Page aspect ratio (def: same as output device)" 398 "Page justification in x (-0.5 to 0.5, def 0)" 407 "Page justification in y (-0.5 to 0.5, def 0)" 416 "Plot orientation (0,1,2,3=landscape,portrait,seascape,upside-down)" 425 "Allow aspect ratio to adjust to orientation swaps" 434 "Sets portrait mode (both orientation and aspect ratio)" 443 "Sets pen width (0 <= width)" 452 "Background color (e.g., FF0000=opaque red, 0000FF_0.1=blue with alpha of 0.1)" 461 "Number of colors to allocate in cmap 0 (upper bound)" 470 "Number of colors to allocate in cmap 1 (upper bound)" 479 "Create a family of output files" 487 "-fsiz size[kKmMgG]",
488 "Output family file size (e.g. -fsiz 0.5G, def MB)" 497 "First family member number on output" 506 "Increment between family members" 515 "Family member number minimum field width" 524 "Don't use pixmaps in X-based drivers" 533 "Double buffer X window output" 542 "No pause between pages" 551 "bytes sent before flushing output" 560 "Main window name of PLplot server (tk driver)" 569 "Invoked name of PLplot server (tk driver)" 578 "Name of PLplot container window (tk driver)" 587 "Additional directory(s) to autoload (tk driver)" 596 "file for plserver (tk driver)" 605 "Resolution, in dots per inch (e.g. -dpi 360x360)" 614 "Sets compression level in supporting devices" 623 "Initializes color table 0 from a cmap0.pal format file in one of standard PLplot paths." 632 "Initializes color table 1 from a cmap1.pal format file in one of standard PLplot paths." 641 "Use locale environment (e.g., LC_ALL, LC_NUMERIC, or LANG) to set LC_NUMERIC locale (which affects decimal point separator)." 650 "For the case where the boundary of the filled region is self-intersecting, use the even-odd fill rule rather than the default nonzero fill rule." 658 "-drvopt option[=value][,option[=value]]*",
659 "Driver specific options" 667 "-mfo PLplot metafile name",
668 "Write the plot to the specified PLplot metafile" 676 "-mfi PLplot metafile name",
677 "Read the specified PLplot metafile" 691 "All parameters must be white-space delimited. Some options are driver",
692 "dependent. Please see the PLplot reference document for more detail.",
725 #define PL_MAX_OPT_TABLES 10 751 int mode = 0,
argc = 2, status;
754 argv[0] = (
char *) opt;
755 argv[1] = (
char *) opt_arg;
766 fprintf( stderr,
"plsetopt: Unrecognized option %s\n", opt );
796 if ( ( tab->
handler != NULL ) ||
798 ( tab->
var != NULL ) ||
799 ( tab->
mode != 0 ) ||
800 ( tab->
syntax != NULL ) ||
801 ( tab->
desc != NULL ) )
803 plabort(
"plMergeOpts: input table improperly terminated" );
811 plabort(
"plMergeOpts: max tables limit exceeded, table not merged" );
867 char **argsave, **argend;
868 int i, myargc, myargcsave, status = 0;
881 myargc = ( *p_argc );
882 argend = argv + myargc;
893 plsc->program =
plstrdup( argv[0] );
906 for (; myargc > 0; --myargc, ++
argv )
909 if ( *argv == NULL || *argv[0] ==
'\0' )
916 for ( i =
tables - 1; i >= 0; i-- )
920 status =
ParseOpt( &myargc, &argv, p_argc, &argsave,
938 for (; myargc > 0; --myargc, ++
argv )
941 if ( *argv == NULL || *argv[0] ==
'\0' )
945 for ( i =
tables - 1; i >= 0; i-- )
949 status =
ParseOpt( &myargc, &argv, p_argc, &argsave,
973 fprintf( stderr,
"\nBad command line option \"%s\"\n", argv[0] );
981 else if ( status == 1 )
987 fprintf( stderr,
"\nBad command line option \"%s\"\n", argv[0] );
995 else if ( status == 2 )
1007 for ( i = 0; i < myargc; i++ )
1008 *argsave++ = *argv++;
1010 if ( argsave < argend )
1013 #ifdef HAVE_NSGETARGC 1021 *_NSGetArgc() = *p_argc;
1045 ParseOpt(
int *p_myargc,
char ***p_argv,
int *p_argc,
char ***p_argsave,
1055 opt = ( *p_argv )[0];
1059 for ( tab = option_table; tab->
opt; tab++ )
1068 if ( *opt == *tab->
opt && !strcmp( opt, tab->
opt ) )
1075 ( *( *p_argsave )++ ) = ( **p_argv );
1082 return (
ProcessOpt( opt, tab, p_myargc, p_argv, p_argc ) );
1109 char *opt_arg = NULL;
1115 if ( tab->
mode & need_arg )
1117 if (
GetOptarg( &opt_arg, p_myargc, p_argv, p_argc ) )
1123 switch ( tab->
mode & 0xFF00 )
1132 "ProcessOpt: no handler specified for option %s\n",
1141 (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) );
1144 plabort(
"ProcessOpt: out of memory" );
1147 strcpy( copy, opt_arg );
1149 free( (
void *) copy );
1161 if ( tab->
var == NULL )
1164 "ProcessOpt: no variable specified for option %s\n",
1168 *(
int *) tab->
var = 1;
1175 if ( tab->
var == NULL )
1178 "ProcessOpt: no variable specified for option %s\n",
1182 *(
int *) tab->
var = atoi( opt_arg );
1189 if ( tab->
var == NULL )
1192 "ProcessOpt: no variable specified for option %s\n",
1196 *(
PLFLT *) tab->
var = atof( opt_arg );
1203 *(
char **) tab->
var = opt_arg;
1211 "ProcessOpt: invalid processing mode for option %s\n",
1234 GetOptarg(
char **popt_arg,
int *p_myargc,
char ***p_argv,
int *p_argc )
1240 if ( ( *p_myargc ) <= 0 )
1252 if ( strstr( ( ( *p_argv ) - 1 )[0],
"-bg" ) != ( ( *p_argv ) - 1 )[0] && ( *p_argv )[0][0] ==
'-' && isalpha( ( *p_argv )[0][1] ) )
1263 *popt_arg = ( *p_argv )[0];
1269 fprintf( stderr,
"Argument missing for %s option.\n", ( *p_argv )[0] );
1289 if ( program_string != NULL )
1292 if ( usage_string != NULL )
1293 usage = usage_string;
1306 if (
usage == NULL )
1307 fprintf( stderr,
"\nUsage:\n %s [options]\n",
program );
1309 fputs(
usage, stderr );
1313 fprintf( stderr,
"\n\nType %s -h for a full description.\n\n",
1332 for ( i =
tables - 1; i >= 0; i-- )
1336 if ( ploption_info[i].
name )
1337 fprintf( stderr,
"\n%s:", ploption_info[i].name );
1339 fputs(
"\nUser options:", stderr );
1344 for ( tab = ploption_info[i].
options; tab->
opt; tab++ )
1352 if ( tab->
syntax == NULL )
1355 len = 3 + (int) strlen( tab->
syntax );
1356 if ( col + len > 79 )
1358 fprintf( stderr,
"\n " );
1361 fprintf( stderr,
" [%s]", tab->
syntax );
1364 fprintf( stderr,
"\n" );
1381 FILE *outfile = stderr;
1385 if ( getenv(
"PAGER" ) != NULL )
1386 pager = (FILE *) popen(
"$PAGER",
"w" );
1387 if ( pager == NULL )
1388 pager = (FILE *) popen(
"more",
"w" );
1389 if ( pager != NULL )
1395 if (
usage == NULL )
1396 fprintf( outfile,
"\nUsage:\n %s [options]\n",
program );
1398 fputs(
usage, outfile );
1402 for ( i =
tables - 1; i >= 0; i-- )
1406 if ( ploption_info[i].
name )
1407 fprintf( outfile,
"\n%s:\n", ploption_info[i].name );
1409 fputs(
"\nUser options:\n", outfile );
1413 for ( tab = ploption_info[i].
options; tab->
opt; tab++ )
1421 if ( tab->
desc == NULL )
1425 fprintf( outfile,
" * %-20s %s\n", tab->
syntax, tab->
desc );
1427 fprintf( outfile,
" %-20s %s\n", tab->
syntax, tab->
desc );
1432 if ( ploption_info[i].notes )
1434 putc(
'\n', outfile );
1435 for ( note = ploption_info[i].notes; *note; note++ )
1437 fputs( *note, outfile );
1438 putc(
'\n', outfile );
1444 if ( pager != NULL )
1467 memset( msg,
'\0',
sizeof ( msg ) );
1475 t = acc_opt; fl = 0;
1478 if ( strcmp( drvp->
option, t->
opt ) == 0 )
1486 fprintf( stderr,
"plParseDrvOpts: %s %s\n", t->
opt, *(
char **) t->
var_ptr );
1491 if ( sscanf( drvp->
value,
"%d", (
int *) t->
var_ptr ) != 1 )
1493 snprintf( msg,
sizeof ( msg ) - 1,
"Incorrect argument to '%s' option", drvp->
option );
1497 fprintf( stderr,
"plParseDrvOpts: %s %d\n", t->
opt, *(
int *) t->
var_ptr );
1502 if ( sscanf( drvp->
value,
"%f", (
float *) t->
var_ptr ) != 1 )
1504 snprintf( msg,
sizeof ( msg ) - 1,
"Incorrect argument to '%s' option", drvp->
option );
1508 fprintf( stderr,
"plParseDrvOpts: %s %f\n", t->
opt, *(
float *) t->
var_ptr );
1518 snprintf( msg,
sizeof ( msg ) - 1,
"Option '%s' not recognized.\n\nRecognized options for this driver are:\n", drvp->
option );
1524 while ( ( drvp = drvp->
next ) )
1547 fprintf( stderr,
"%s:\t%s\n", t->
opt, t->
hlp_msg );
1571 free( drvpl->
value );
1574 if ( drvpl != &drv_opt )
1576 }
while ( drvp != NULL );
1580 drv_opt.
value = NULL;
1581 drv_opt.
next = NULL;
1630 fprintf( stderr,
"PLplot library version: %s\n",
PLPLOT_VERSION );
1863 plsc->freeaspect = 1;
1921 width = atof( opt_arg );
1924 fprintf( stderr,
"?invalid width\n" );
1930 plsc->widthlock = 1;
1958 char *color_field, *color_field_wp, *color_field_wp_alt, *alpha_field;
1967 if ( *opt_arg ==
'#' )
1977 alpha_field = strchr(
opttmp,
'_' );
1978 if ( alpha_field != NULL )
1981 *alpha_field =
'\0';
1988 alpha_field =
"MAX_PLFLT_ALPHA";
1996 bgcolor = strtol( color_field, &endptr, 16 );
2001 if ( ( errno == ERANGE && ( bgcolor == LONG_MIN || bgcolor == LONG_MAX ) ) || ( errno != 0 && bgcolor == 0 ) )
2003 plwarn(
"opt_bg: parsing of color_field as hex to a long caused integer overflow so use (warning) red" );
2004 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2006 perror(
"opt_bg strtol issue" );
2007 fprintf( stderr,
"color_field = %s\n", color_field );
2008 color_field =
"ff0000";
2009 fprintf( stderr,
"derived color_field = %s\n", color_field );
2010 bgcolor = strtol( color_field, &endptr, 16 );
2011 fprintf( stderr,
"derived bgcolor = %#lx\n", bgcolor );
2013 else if ( endptr == color_field )
2015 plwarn(
"opt_bg: color_field could not be parsed as hex to a long so use (warning) red" );
2016 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2017 fprintf( stderr,
"color_field = %s\n", color_field );
2018 color_field =
"ff0000";
2019 fprintf( stderr,
"derived color_field = %s\n", color_field );
2020 bgcolor = strtol( color_field, &endptr, 16 );
2021 fprintf( stderr,
"derived bgcolor = %#lx\n", bgcolor );
2023 else if ( *endptr !=
'\0' )
2025 plwarn(
"opt_bg: color_field could be parsed as hex to a long but there was trailing garbage which was ignored" );
2026 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2027 fprintf( stderr,
"color_field = %s\n", color_field );
2030 fprintf( stderr,
"derived color_field = %s\n", color_field );
2031 fprintf( stderr,
"derived bgcolor = %#lx\n", bgcolor );
2038 color_field_wp = color_field;
2039 while ( isspace( (
unsigned char) *color_field_wp ) )
2041 if ( ( color_field_wp_alt = strstr( color_field_wp,
"+" ) ) == color_field_wp ||
2042 ( color_field_wp_alt = strstr( color_field_wp,
"-" ) ) == color_field_wp )
2043 color_field_wp += 1;
2044 if ( ( color_field_wp_alt = strstr( color_field_wp,
"0x" ) ) == color_field_wp ||
2045 ( color_field_wp_alt = strstr( color_field_wp,
"0X" ) ) == color_field_wp )
2046 color_field_wp += 2;
2048 switch ( strlen( color_field_wp ) )
2051 r = (
PLINT) ( ( bgcolor & 0xF00 ) >> 8 );
2052 g = (
PLINT) ( ( bgcolor & 0x0F0 ) >> 4 );
2053 b = (
PLINT) ( bgcolor & 0x00F );
2061 r = (
PLINT) ( ( bgcolor & 0xFF0000 ) >> 16 );
2062 g = (
PLINT) ( ( bgcolor & 0x00FF00 ) >> 8 );
2063 b = (
PLINT) ( bgcolor & 0x0000FF );
2067 plwarn(
"opt_bg: color_field without prefix is not of the correct form. Therefore use (warning) red" );
2068 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2069 fprintf( stderr,
"color_field = %s\n", color_field );
2070 fprintf( stderr,
"%s\n",
"The correct form of color_field without prefix is exactly 3 or 6 hex digits" );
2071 fprintf( stderr,
"color_field without prefix = %s\n", color_field_wp );
2075 fprintf( stderr,
"derived r, g, b = %d, %d, %d\n", r, g, b );
2080 a = (
PLFLT) strtod( alpha_field, &endptr );
2087 plwarn(
"opt_bg: parsing of alpha_field to a double caused floating overflow so use opaque" );
2088 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2090 perror(
"opt_bg strtod issue" );
2091 fprintf( stderr,
"alpha_field = %s\n", alpha_field );
2093 fprintf( stderr,
"derived alpha value = %e\n", a );
2095 else if ( endptr == alpha_field )
2097 plwarn(
"opt_bg: alpha_field could not be parsed to a double so use opaque" );
2098 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2099 fprintf( stderr,
"alpha_field = %s\n", alpha_field );
2101 fprintf( stderr,
"derived alpha value = %e\n", a );
2103 else if ( *endptr !=
'\0' )
2105 plwarn(
"opt_bg: alpha_field could be parsed to a double but there was trailing garbage which was ignored" );
2106 fprintf( stderr,
"%s\n",
"Further information relevant to this warning:" );
2107 fprintf( stderr,
"alpha_field = %s\n", alpha_field );
2108 fprintf( stderr,
"derived alpha value = %e\n", a );
2134 plsc->ncol0 = atoi( opt_arg );
2155 plsc->ncol1 = atoi( opt_arg );
2177 PLFLT xl, yl, xr, yr;
2182 if ( ( field = strtok(
opttmp,
"," ) ) == NULL )
2187 if ( ( field = strtok( NULL,
"," ) ) == NULL )
2192 if ( ( field = strtok( NULL,
"," ) ) == NULL )
2197 if ( ( field = strtok( NULL,
"," ) ) == NULL )
2227 option = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) );
2228 if ( option == NULL )
2229 plexit(
"opt_drvopt: Out of memory!?" );
2231 value = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) );
2232 if ( value == NULL )
2233 plexit(
"opt_drvopt: Out of memory!?" );
2236 *option = *value =
'\0';
2238 while ( ( t = *opt_arg++ ) )
2255 if ( drvp->
next == NULL )
2256 plexit(
"opt_drvopt: Out of memory!?\n" );
2263 *tt =
'\0'; tt =
value;
2283 fprintf( stderr,
"\nopt_drvopt: -drvopt parsed options:\n" );
2286 fprintf( stderr,
"%s %s\n", drvp->
option, drvp->
value );
2287 while ( drvp = drvp->
next );
2288 fprintf( stderr,
"\n" );
2291 free( option ); free( value );
2344 size_t len = strlen( opt_arg );
2345 char lastchar = opt_arg[len - 1];
2346 PLFLT multiplier = 1.0e6;
2347 char *spec = (
char *) malloc( len + 1 );
2350 plexit(
"opt_fsiz: Insufficient memory" );
2358 multiplier = 1.0e3; len--;
2362 multiplier = 1.0e6; len--;
2366 multiplier = 1.0e9; len--;
2369 strncpy( spec, opt_arg, len );
2372 bytemax = (
PLINT) ( multiplier * atof( spec ) );
2375 fprintf( stderr,
"?invalid file size %d. 2.14G is the maximum.\n", bytemax );
2378 plsfam( 1, -1, bytemax );
2401 plsc->member = atoi( opt_arg );
2423 plsc->finc = atoi( opt_arg );
2445 plsc->fflen = atoi( opt_arg );
2530 plsc->bufmax = atoi( opt_arg );
2551 plsc->server_name =
plstrdup( opt_arg );
2572 plsc->plserver =
plstrdup( opt_arg );
2593 if ( ( plsc->plwindow = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) ) ) == NULL )
2595 plexit(
"opt_plwindow: Insufficient memory" );
2597 strcpy( plsc->plwindow, opt_arg );
2618 plsc->auto_path =
plstrdup( opt_arg );
2639 plssub( atoi( opt_arg ), -1 );
2660 plssub( -1, atoi( opt_arg ) );
2686 PLFLT xdpi = 0., ydpi = 0.;
2687 PLINT xwid, ywid, xoff, yoff;
2691 if ( ( plsc->geometry = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) ) ) == NULL )
2693 plexit(
"opt_geo: Insufficient memory" );
2696 strcpy( plsc->geometry, opt_arg );
2698 numargs = sscanf( opt_arg,
"%dx%d%d%d", &xwid, &ywid, &xoff, &yoff );
2704 fprintf( stderr,
"?invalid xwid in -geometry %s\n", opt_arg );
2706 fprintf( stderr,
"?invalid ywid in -geometry %s\n", opt_arg );
2709 fprintf( stderr,
"?invalid xwid in -geometry %s\n", opt_arg );
2714 fprintf( stderr,
"?invalid ywid in -geometry %s\n", opt_arg );
2718 else if ( numargs == 4 )
2721 fprintf( stderr,
"?invalid xwid in -geometry %s\n", opt_arg );
2723 fprintf( stderr,
"?invalid ywid in -geometry %s\n", opt_arg );
2726 fprintf( stderr,
"?invalid xwid in -geometry %s\n", opt_arg );
2731 fprintf( stderr,
"?invalid ywid in -geometry %s\n", opt_arg );
2734 if ( abs( xoff ) == 0 )
2735 fprintf( stderr,
"?invalid xoff in -geometry %s\n", opt_arg );
2736 if ( abs( yoff ) == 0 )
2737 fprintf( stderr,
"?invalid yoff in -geometry %s\n", opt_arg );
2741 numargs = sscanf( opt_arg,
"%d%d", &xoff, &yoff );
2746 if ( abs( xoff ) == 0 )
2747 fprintf( stderr,
"?invalid xoff in -geometry %s\n", opt_arg );
2748 if ( abs( yoff ) == 0 )
2749 fprintf( stderr,
"?invalid yoff in -geometry %s\n", opt_arg );
2753 fprintf( stderr,
"?invalid -geometry %s\n", opt_arg );
2758 plspage( xdpi, ydpi, xwid, ywid, xoff, yoff );
2778 if ( ( plsc->tk_file = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) ) ) == NULL )
2780 plexit(
"opt_tk_file: Insufficient memory" );
2783 strcpy( plsc->tk_file, opt_arg );
2809 PLFLT xdpi = 0., ydpi = 0.;
2810 PLINT xwid = 0, ywid = 0, xoff = 0, yoff = 0;
2814 if ( strchr(
opttmp,
'x' ) )
2816 field = strtok(
opttmp,
"x" );
2817 xdpi = atof( field );
2819 fprintf( stderr,
"?invalid xdpi\n" );
2821 if ( ( field = strtok( NULL,
" " ) ) == NULL )
2824 ydpi = atof( field );
2826 fprintf( stderr,
"?invalid ydpi\n" );
2836 plspage( xdpi, ydpi, xwid, ywid, xoff, yoff );
2858 comp = atoi( opt_arg );
2861 fprintf( stderr,
"?invalid compression\n" );
2926 if ( ( locale = setlocale( LC_NUMERIC,
"" ) ) )
2928 printf(
"LC_NUMERIC locale set to \"%s\"\n", locale );
2932 plwarn(
"Could not use invalid environment (e.g., LC_ALL, LC_NUMERIC, or LANG) to set LC_NUMERIC locale. Falling back to LC_NUMERIC \"C\" locale instead.\n" );
2933 if ( !( locale = setlocale( LC_NUMERIC,
"C" ) ) )
2935 plexit(
"Your platform is seriously broken. Not even a \"C\" locale could be set." );
2959 plsc->dev_eofill = 1;
2960 if ( plsc->level > 0 )
2981 if ( ( plsc->mf_outfile = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) ) ) == NULL )
2983 plexit(
"opt_mfo: Insufficient memory" );
2986 strcpy( plsc->mf_outfile, opt_arg );
3006 if ( ( plsc->mf_infile = (
char *) malloc( (
size_t) ( 1 + strlen( opt_arg ) ) *
sizeof (
char ) ) ) == NULL )
3008 plexit(
"opt_mfi: Insufficient memory" );
3011 strcpy( plsc->mf_infile, opt_arg );
#define PL_MAX_OPT_TABLES
int plParseDrvOpts(DrvOpt *acc_opt)
PLINT plMergeOpts(PLOptionTable *options, PLCHAR_VECTOR name, PLCHAR_VECTOR *notes)
static int opt_portrait(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
#define PL_PARSE_NOPROGRAM
void plexit(PLCHAR_VECTOR errormsg)
static int opt_v(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
int(* handler)(PLCHAR_VECTOR, PLCHAR_VECTOR, PLPointer)
static int opt_auto_path(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static PLCHAR_VECTOR usage
static int opt_locale(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_nopixmap(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_fflen(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
const char * PLCHAR_VECTOR
static int opt_width(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
#define PL_PARSE_NODELETE
static int opt_dev(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_db(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
void plabort(PLCHAR_VECTOR errormsg)
static int ParseOpt(int *, char ***, int *, char ***, PLOptionTable *)
static int opt_py(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_fsiz(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_verbose(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_dpi(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_dev_compression(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
PLINT c_plparseopts(int *p_argc, char **argv, PLINT mode)
static int opt_wplt(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_jy(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
void plSetUsage(PLCHAR_VECTOR program_string, PLCHAR_VECTOR usage_string)
static int opt_geo(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_eofill(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int GetOptarg(char **, int *, char ***, int *)
static int opt_o(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_ncol1(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
struct DrvOptCmd DrvOptCmd
static int opt_cmap1(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_server_name(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_h(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
PLOptionInfo ploption_info_default
static int opt_jx(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
PLINT c_plsetopt(PLCHAR_VECTOR opt, PLCHAR_VECTOR opt_arg)
static int opt_a(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_px(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static PLCHAR_VECTOR program
static char opttmp[OPTMAX]
void plHelpDrvOpts(DrvOpt *acc_opt)
static PLCHAR_VECTOR plplot_notes[]
static int opt_mfi(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_bufmax(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_plwindow(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static PLOptionTable options[]
char PLDLLIMPEXP * plstrdup(PLCHAR_VECTOR src)
static int opt_cmap0(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_mar(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int mode_noprogram
static int ProcessOpt(char *, PLOptionTable *, int *, char ***, int *)
static int opt_ori(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
void plwarn(PLCHAR_VECTOR errormsg)
static int opt_finc(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_drvopt(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_np(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_bg(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
PLOptionInfo ploption_info[PL_MAX_OPT_TABLES]
static int opt_freeaspect(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_hack(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_fbeg(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_plserver(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_debug(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_ncol0(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_mfo(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static PLOptionTable ploption_table[]
static int opt_tk_file(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)
static int opt_fam(PLCHAR_VECTOR, PLCHAR_VECTOR, void *)