Hi Karl,

I would appreciate I you could apply the attached patch.
The patch avoids lots of gcc (gcc-2.95.3 on ix86-linux-gnu)
warnings when compiling with --disable-nls. With the patch there are no
warnings with and without --disable-nls.

regards
Peter Breitenlohner <[EMAIL PROTECTED]>
diff -ur texinfo-4.5.orig/ChangeLog texinfo-4.5/ChangeLog
--- texinfo-4.5.orig/ChangeLog  2003-02-05 01:42:44.000000000 +0100
+++ texinfo-4.5/ChangeLog       2003-02-10 11:17:36.000000000 +0100
@@ -1,3 +1,12 @@
+2003-02-10    Peter Breitenlohner <[EMAIL PROTECTED]>
+
+       * info/indices.c, info/info.c, info/info.h, info/nodemenu.c,
+       info/session.c, info/window.c, makeinfo/defun.c, makeinfo/html.c,
+       makeinfo/index.c, makeinfo/insertion.c, makeinfo/makeinfo.c,
+       makeinfo/makeinfo.h, makeinfo/node.c: declare all constant
+       strings as such in order to avoid lots of gcc warnings (for
+       --disable-nls and maybe without that as well).
+
 2003-02-04    <[EMAIL PROTECTED]>
 
        * Version 4.5 (that info bug was a killer).
diff -ur texinfo-4.5.orig/info/indices.c texinfo-4.5/info/indices.c
--- texinfo-4.5.orig/info/indices.c     2002-08-26 01:38:38.000000000 +0200
+++ texinfo-4.5/info/indices.c  2002-11-15 21:23:31.000000000 +0100
@@ -390,7 +390,7 @@
   /* Report to the user on what we have found. */
   {
     register int j;
-    char *name = _("CAN'T SEE THIS");
+    const char *name = _("CAN'T SEE THIS");
     char *match;
 
     for (j = 0; index_nodenames[j]; j++)
diff -ur texinfo-4.5.orig/info/info.c texinfo-4.5/info/info.c
--- texinfo-4.5.orig/info/info.c        2003-01-19 19:45:59.000000000 +0100
+++ texinfo-4.5/info/info.c     2003-02-10 10:54:53.000000000 +0100
@@ -609,22 +609,22 @@
    use them that way.  This also has the advantage that there's only one
    copy of the strings.  */
 
-char *msg_cant_find_node;
-char *msg_cant_file_node;
-char *msg_cant_find_window;
-char *msg_cant_find_point;
-char *msg_cant_kill_last;
-char *msg_no_menu_node;
-char *msg_no_foot_node;
-char *msg_no_xref_node;
-char *msg_no_pointer;
-char *msg_unknown_command;
-char *msg_term_too_dumb;
-char *msg_at_node_bottom;
-char *msg_at_node_top;
-char *msg_one_window;
-char *msg_win_too_small;
-char *msg_cant_make_help;
+const char *msg_cant_find_node;
+const char *msg_cant_file_node;
+const char *msg_cant_find_window;
+const char *msg_cant_find_point;
+const char *msg_cant_kill_last;
+const char *msg_no_menu_node;
+const char *msg_no_foot_node;
+const char *msg_no_xref_node;
+const char *msg_no_pointer;
+const char *msg_unknown_command;
+const char *msg_term_too_dumb;
+const char *msg_at_node_bottom;
+const char *msg_at_node_top;
+const char *msg_one_window;
+const char *msg_win_too_small;
+const char *msg_cant_make_help;
 
 static void
 init_messages ()
diff -ur texinfo-4.5.orig/info/info.h texinfo-4.5/info/info.h
--- texinfo-4.5.orig/info/info.h        2002-08-26 01:38:38.000000000 +0200
+++ texinfo-4.5/info/info.h     2002-11-15 21:42:51.000000000 +0100
@@ -128,22 +128,22 @@
 extern void info_error ();
 
 /* Error message defines. */
-extern char *msg_cant_find_node;
-extern char *msg_cant_file_node;
-extern char *msg_cant_find_window;
-extern char *msg_cant_find_point;
-extern char *msg_cant_kill_last;
-extern char *msg_no_menu_node;
-extern char *msg_no_foot_node;
-extern char *msg_no_xref_node;
-extern char *msg_no_pointer;
-extern char *msg_unknown_command;
-extern char *msg_term_too_dumb;
-extern char *msg_at_node_bottom;
-extern char *msg_at_node_top;
-extern char *msg_one_window;
-extern char *msg_win_too_small;
-extern char *msg_cant_make_help;
+extern const char *msg_cant_find_node;
+extern const char *msg_cant_file_node;
+extern const char *msg_cant_find_window;
+extern const char *msg_cant_find_point;
+extern const char *msg_cant_kill_last;
+extern const char *msg_no_menu_node;
+extern const char *msg_no_foot_node;
+extern const char *msg_no_xref_node;
+extern const char *msg_no_pointer;
+extern const char *msg_unknown_command;
+extern const char *msg_term_too_dumb;
+extern const char *msg_at_node_bottom;
+extern const char *msg_at_node_top;
+extern const char *msg_one_window;
+extern const char *msg_win_too_small;
+extern const char *msg_cant_make_help;
 
 
 extern char *filename_non_directory ();        /* Found in info-utils.c. */
diff -ur texinfo-4.5.orig/info/nodemenu.c texinfo-4.5/info/nodemenu.c
--- texinfo-4.5.orig/info/nodemenu.c    2002-08-26 01:38:38.000000000 +0200
+++ texinfo-4.5/info/nodemenu.c 2002-11-15 21:20:28.000000000 +0100
@@ -22,7 +22,7 @@
 #include "info.h"
 
 /* Return a line describing the format of a node information line. */
-static char *
+static const char *
 nodemenu_format_info ()
 {
   return (_("\n\
diff -ur texinfo-4.5.orig/info/session.c texinfo-4.5/info/session.c
--- texinfo-4.5.orig/info/session.c     2003-01-24 20:05:53.000000000 +0100
+++ texinfo-4.5/info/session.c  2003-02-10 10:54:53.000000000 +0100
@@ -2433,7 +2433,8 @@
 info_follow_menus (initial_node, menus, errstr, errarg1, errarg2)
      NODE *initial_node;
      char **menus;
-     char **errstr, **errarg1, **errarg2;
+     const char **errstr;
+     char **errarg1, **errarg2;
 {
   NODE *node = NULL;
   *errstr = *errarg1 = *errarg2 = NULL;
@@ -2796,7 +2797,7 @@
 DECLARE_INFO_COMMAND (info_goto_invocation_node,
                      _("Find the node describing program invocation"))
 {
-  char *invocation_prompt = _("Find Invocation node of [%s]: ");
+  const char *invocation_prompt = _("Find Invocation node of [%s]: ");
   char *program_name, *line;
   char *default_program_name, *prompt, *file_name;
   NODE *top_node;
@@ -3848,7 +3849,8 @@
      int failing_p;
 {
   register int i;
-  char *prefix, *prompt, *p_rep;
+  const char *prefix;
+  char *prompt, *p_rep;
   int prompt_len, p_rep_index, p_rep_size;
 
   if (dir < 0)
diff -ur texinfo-4.5.orig/info/window.c texinfo-4.5/info/window.c
--- texinfo-4.5.orig/info/window.c      2002-08-26 01:38:38.000000000 +0200
+++ texinfo-4.5/info/window.c   2002-11-15 21:29:48.000000000 +0100
@@ -1144,7 +1144,7 @@
     int modeline_len = 0;
     char *parent = NULL, *filename = "*no file*";
     char *nodename = "*no node*";
-    char *update_message = NULL;
+    const char *update_message = NULL;
     NODE *node = window->node;
 
     if (node)
diff -ur texinfo-4.5.orig/makeinfo/defun.c texinfo-4.5/makeinfo/defun.c
--- texinfo-4.5.orig/makeinfo/defun.c   2002-11-11 09:01:55.000000000 +0100
+++ texinfo-4.5/makeinfo/defun.c        2002-11-15 21:32:02.000000000 +0100
@@ -331,7 +331,8 @@
 {
   enum insertion_type base_type;
   char **defun_args, **scan_args;
-  char *category, *defined_name, *type_name, *type_name2;
+  const char *category;
+  char *defined_name, *type_name, *type_name2;
 
   {
     char *line;
diff -ur texinfo-4.5.orig/makeinfo/html.c texinfo-4.5/makeinfo/html.c
--- texinfo-4.5.orig/makeinfo/html.c    2002-11-04 23:14:40.000000000 +0100
+++ texinfo-4.5/makeinfo/html.c 2002-11-15 21:32:54.000000000 +0100
@@ -33,7 +33,7 @@
 void
 html_output_head ()
 {
-  static char *html_title = NULL;
+  static const char *html_title = NULL;
 
   if (html_output_head_p)
     return;
diff -ur texinfo-4.5.orig/makeinfo/index.c texinfo-4.5/makeinfo/index.c
--- texinfo-4.5.orig/makeinfo/index.c   2002-11-26 23:54:31.000000000 +0100
+++ texinfo-4.5/makeinfo/index.c        2003-02-10 10:54:53.000000000 +0100
@@ -696,7 +696,7 @@
         {
           /* A pathological document might have an index entry outside of any
              node.  Don't crash; try using the section name instead.  */
-          char *index_node = index->node;
+          const char *index_node = index->node;
           
           line_number = index->defining_line;
           input_filename = index->defining_file;
@@ -741,12 +741,14 @@
               if (index->node && *index->node)
                 {
                   /* Make sure any non-macros in the node name are expanded.  */
+                  char *expanded_index;
+                  
                   in_fixed_width_font++;
-                  index_node = expansion (index_node, 0);
+                  expanded_index = expansion (index_node, 0);
                   in_fixed_width_font--;
-                  add_anchor_name (index_node, 1);
-                  add_word_args ("\">%s</a>", index_node);
-                  free (index_node);
+                  add_anchor_name (expanded_index, 1);
+                  add_word_args ("\">%s</a>", expanded_index);
+                  free (expanded_index);
                 }
               else if (STREQ (index_node, _("(outside of any node)")))
                 {
diff -ur texinfo-4.5.orig/makeinfo/insertion.c texinfo-4.5/makeinfo/insertion.c
--- texinfo-4.5.orig/makeinfo/insertion.c       2003-01-03 00:46:29.000000000 +0100
+++ texinfo-4.5/makeinfo/insertion.c    2003-02-10 10:54:53.000000000 +0100
@@ -191,7 +191,7 @@
 
  /* Return a pointer to the print name of this
     enumerated type. */
-char *
+const char *
 insertion_type_pname (type)
      enum insertion_type type;
 {
@@ -981,7 +981,7 @@
         break;
       else
         {
-          char *offender = insertion_type_pname (insertion_stack->insertion);
+          const char *offender = insertion_type_pname (insertion_stack->insertion);
 
           file_line_error (insertion_stack->filename,
                            insertion_stack->line_number,
diff -ur texinfo-4.5.orig/makeinfo/makeinfo.c texinfo-4.5/makeinfo/makeinfo.c
--- texinfo-4.5.orig/makeinfo/makeinfo.c        2003-01-19 19:44:28.000000000 +0100
+++ texinfo-4.5/makeinfo/makeinfo.c     2003-02-10 10:54:53.000000000 +0100
@@ -193,7 +193,7 @@
 
 #if defined (VA_FPRINTF) && __STDC__
 /* Unfortunately we must use prototypes if we are to use <stdarg.h>.  */
-void add_word_args (char *, ...);
+void add_word_args (const char *, ...);
 void execute_string (char *, ...);
 #else
 void add_word_args ();
@@ -218,10 +218,10 @@
 /* Print an error message, and return false. */
 void
 #if defined (VA_FPRINTF) && __STDC__
-error (char *format, ...)
+error (const char *format, ...)
 #else
 error (format, va_alist)
-     char *format;
+     const char *format;
      va_dcl
 #endif
 {
@@ -245,12 +245,12 @@
 /* Just like error (), but print the input file and line number as well. */
 void
 #if defined (VA_FPRINTF) && __STDC__
-file_line_error (char *infile, int lno, char *format, ...)
+file_line_error (char *infile, int lno, const char *format, ...)
 #else
 file_line_error (infile, lno, format, va_alist)
    char *infile;
    int lno;
-   char *format;
+   const char *format;
    va_dcl
 #endif
 {
@@ -276,10 +276,10 @@
    number from global variables. */
 void
 #if defined (VA_FPRINTF) && __STDC__
-line_error (char *format, ...)
+line_error (const char *format, ...)
 #else
 line_error (format, va_alist)
-   char *format;
+   const char *format;
    va_dcl
 #endif
 {
@@ -303,10 +303,10 @@
 
 void
 #if defined (VA_FPRINTF) && __STDC__
-warning (char *format, ...)
+warning (const char *format, ...)
 #else
 warning (format, va_alist)
-     char *format;
+     const char *format;
      va_dcl
 #endif
 {
@@ -1377,7 +1377,7 @@
       strcat (output_filename, basename);
       if (mkdir (output_filename, 0777) == -1)
         {
-          char *errmsg = strerror (errno);
+          const char *errmsg = strerror (errno);
 
           if ((errno == EEXIST
 #ifdef __MSDOS__
@@ -2161,7 +2161,7 @@
 /* Return the string which invokes PROC; a pointer to a function.
    Always returns the first function in the command table if more than
    one matches PROC.  */
-static char *
+static const char *
 find_proc_name (proc)
      COMMAND_FUNCTION *proc;
 {
@@ -2187,7 +2187,7 @@
     {
       if (brace_stack->proc != misplaced_brace)
         {
-          char *proc_name;
+          const char *proc_name;
 
           proc_name = find_proc_name (brace_stack->proc);
           file_line_error (input_filename, brace_stack->line,
@@ -2241,10 +2241,10 @@
 
 void
 #if defined (VA_FPRINTF) && __STDC__
-add_word_args (char *format, ...)
+add_word_args (const char *format, ...)
 #else
 add_word_args (format, va_alist)
-    char *format;
+    const char *format;
     va_dcl
 #endif
 {
diff -ur texinfo-4.5.orig/makeinfo/makeinfo.h texinfo-4.5/makeinfo/makeinfo.h
--- texinfo-4.5.orig/makeinfo/makeinfo.h        2003-01-17 18:14:34.000000000 +0100
+++ texinfo-4.5/makeinfo/makeinfo.h     2003-02-10 10:54:53.000000000 +0100
@@ -153,7 +153,7 @@
 DECLARE (char *, copying_text, NULL);
 
 /* @documentdescription ... @end documentdescription. */
-DECLARE (char *, document_description, NULL);
+DECLARE (const char *, document_description, NULL);
 
 /* Nonzero if the last character inserted has the syntax class of NEWLINE. */
 DECLARE (int, last_char_was_newline, 1);
diff -ur texinfo-4.5.orig/makeinfo/node.c texinfo-4.5/makeinfo/node.c
--- texinfo-4.5.orig/makeinfo/node.c    2003-01-18 18:16:17.000000000 +0100
+++ texinfo-4.5/makeinfo/node.c 2003-02-10 10:54:53.000000000 +0100
@@ -1292,7 +1292,7 @@
 /* The strings here are followed in the message by `reference to...' in
    the `validate' routine.  They are only used in messages, thus are
    translated.  */
-static char *
+static const char *
 reftype_type_string (type)
      enum reftype type;
 {
_______________________________________________
Bug-texinfo mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-texinfo

Reply via email to