Lex is currently using progam_name = argv[0].
Change to __progname?
Regards,
Index: flexdef.h
===================================================================
RCS file: /cvs/src/usr.bin/lex/flexdef.h,v
retrieving revision 1.7
diff -u -p -r1.7 flexdef.h
--- flexdef.h 3 Feb 2004 21:20:17 -0000 1.7
+++ flexdef.h 4 Oct 2015 23:36:52 -0000
@@ -423,7 +423,7 @@ extern int yymore_really_used, reject_re
* use_stdout - the -t flag
* input_files - array holding names of input files
* num_input_files - size of input_files array
- * program_name - name with which program was invoked
+ * __progname - name with which program was invoked
*
* action_array - array to hold the rule actions
* action_size - size of action_array
@@ -445,7 +445,7 @@ extern char *prefix, *yyclass;
extern int do_stdinit, use_stdout;
extern char **input_files;
extern int num_input_files;
-extern char *program_name;
+extern char *__progname;
extern char *action_array;
extern int action_size;
Index: main.c
===================================================================
RCS file: /cvs/src/usr.bin/lex/main.c,v
retrieving revision 1.14
diff -u -p -r1.14 main.c
--- main.c 16 Mar 2014 18:38:30 -0000 1.14
+++ main.c 4 Oct 2015 23:36:53 -0000
@@ -104,11 +104,6 @@ int end_of_buffer_state;
char **input_files;
int num_input_files;
-/* Make sure program_name is initialized so we don't crash if writing
- * out an error message before getting the program name from argv[0].
- */
-char *program_name = "flex";
-
#ifndef SHORT_FILE_NAMES
static const char outfile_template[] = "lex.%s.%s";
static const char backing_name[] = "lex.backup";
@@ -406,7 +401,7 @@ int exit_status;
if ( printstats )
{
fprintf( stderr, _( "%s version %s usage statistics:\n" ),
- program_name, flex_version );
+ __progname, flex_version );
fprintf( stderr, _( " scanner options: -" ) );
@@ -609,10 +604,8 @@ char **argv;
defs1_offset = prolog_offset = action_offset = action_index = 0;
action_array[0] = '\0';
- program_name = argv[0];
-
- if ( program_name[0] != '\0' &&
- program_name[strlen( program_name ) - 1] == '+' )
+ if ( __progname[0] != '\0' &&
+ __progname[strlen( __progname ) - 1] == '+' )
C_plus_plus = true;
/* read flags */
@@ -795,7 +788,7 @@ char **argv;
case 'V':
printf( _( "%s version %s\n" ),
- program_name, flex_version );
+ __progname, flex_version );
exit( 0 );
case 'w':
@@ -813,8 +806,8 @@ char **argv;
default:
fprintf( stderr,
_( "%s: unknown flag '%c'. For usage, try\n\t%s --help\n" ),
- program_name, (int) arg[i],
- program_name );
+ __progname, (int) arg[i],
+ __progname );
exit( 1 );
}
@@ -1116,7 +1109,7 @@ void usage()
fprintf( f,
_( "%s [-bdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" ),
- program_name );
+ __progname );
fprintf( f, _( "\t[--help --version] [file ...]\n" ) );
fprintf( f, _( "\t-b generate backing-up information to %s\n" ),
@@ -1151,8 +1144,8 @@ _( "%s [-bdfhilnpstvwBFILTV78+? -C[aefFm
fprintf( f,
_( "\t-I generate interactive scanner (opposite of -B)\n" ) );
fprintf( f, _( "\t-L suppress #line directives in scanner\n" ) );
- fprintf( f, _( "\t-T %s should run in trace mode\n" ), program_name );
- fprintf( f, _( "\t-V report %s version\n" ), program_name );
+ fprintf( f, _( "\t-T %s should run in trace mode\n" ), __progname );
+ fprintf( f, _( "\t-V report %s version\n" ), __progname );
fprintf( f, _( "\t-7 generate 7-bit scanner\n" ) );
fprintf( f, _( "\t-8 generate 8-bit scanner\n" ) );
fprintf( f, _( "\t-+ generate C++ scanner class\n" ) );
@@ -1173,5 +1166,5 @@ _( "\t\t-CF do not compress scanner tab
fprintf( f, _( "\t-P specify scanner prefix other than \"yy\"\n" ) );
fprintf( f, _( "\t-S specify skeleton file\n" ) );
fprintf( f, _( "\t--help produce this help message\n" ) );
- fprintf( f, _( "\t--version report %s version\n" ), program_name );
+ fprintf( f, _( "\t--version report %s version\n" ), __progname );
}
Index: misc.c
===================================================================
RCS file: /cvs/src/usr.bin/lex/misc.c,v
retrieving revision 1.13
diff -u -p -r1.13 misc.c
--- misc.c 27 Oct 2013 18:31:24 -0000 1.13
+++ misc.c 4 Oct 2015 23:36:53 -0000
@@ -334,7 +334,7 @@ void dataflush()
void flexerror( msg )
const char msg[];
{
- fprintf( stderr, "%s: %s\n", program_name, msg );
+ fprintf( stderr, "%s: %s\n", __progname, msg );
flexend( 1 );
}
@@ -345,7 +345,7 @@ void flexfatal( msg )
const char msg[];
{
fprintf( stderr, _( "%s: fatal internal error, %s\n" ),
- program_name, msg );
+ __progname, msg );
exit( 1 );
}