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 );
        }
 

Reply via email to