pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp/src/data ChangeLog settings.c


From: Ben Pfaff
Subject: [Pspp-cvs] pspp/src/data ChangeLog settings.c
Date: Fri, 10 Aug 2007 00:16:19 +0000

CVSROOT:        /cvsroot/pspp
Module name:    pspp
Changes by:     Ben Pfaff <blp> 07/08/10 00:16:19

Modified files:
        src/data       : ChangeLog settings.c 

Log message:
        Fix bug reported by Jason Stover.
        * settings.c: Move get_termcap_viewport and in particular the
        #include for <curses.h> to the end of the file.  curses.h
        redefines bool on some systems (e.g. OpenBSD), which causes
        disagreement between uses of bool before its inclusion and
        afterward.
        Tested by Jason Stover.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/ChangeLog?cvsroot=pspp&r1=1.147&r2=1.148
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/settings.c?cvsroot=pspp&r1=1.10&r2=1.11

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/ChangeLog,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -b -r1.147 -r1.148
--- ChangeLog   30 Jul 2007 17:07:50 -0000      1.147
+++ ChangeLog   10 Aug 2007 00:16:18 -0000      1.148
@@ -1,3 +1,13 @@
+2007-08-09  Ben Pfaff  <address@hidden>
+
+       Fix bug reported by Jason Stover.
+       * settings.c: Move get_termcap_viewport and in particular the
+       #include for <curses.h> to the end of the file.  curses.h
+       redefines bool on some systems (e.g. OpenBSD), which causes
+       disagreement between uses of bool before its inclusion and
+       afterward.
+       Tested by Jason Stover.
+
 2007-07-29  Ben Pfaff  <address@hidden>
 
        Provisional fix for bug #18692 and bug #20161.  Reviewed by John

Index: settings.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/settings.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- settings.c  27 Jul 2007 22:58:02 -0000      1.10
+++ settings.c  10 Aug 2007 00:16:19 -0000      1.11
@@ -26,11 +26,6 @@
 
 #include "error.h"
 
-#ifdef HAVE_LIBNCURSES
-#include <curses.h>
-#include <term.h>
-#endif
-
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
 
@@ -80,6 +75,7 @@
 static int syntax = ENHANCED;
 
 static void init_viewport (void);
+static void get_termcap_viewport (void);
 
 void
 settings_init (void)
@@ -131,28 +127,6 @@
   viewwidth = viewwidth_;
 }
 
-#if HAVE_LIBNCURSES
-static void
-get_termcap_viewport (void)
-{
-  char term_buffer[16384];
-  if (getenv ("TERM") == NULL)
-    return;
-  else if (tgetent (term_buffer, getenv ("TERM")) <= 0)
-    {
-      error (0,0, _("could not access definition for terminal `%s'"),
-             getenv ("TERM"));
-      return;
-    }
-
-  if (tgetnum ("li") > 0)
-    viewlength = tgetnum ("li");
-
-  if (tgetnum ("co") > 1)
-    viewwidth = tgetnum ("co") - 1;
-}
-#endif /* HAVE_LIBNCURSES */
-
 static void
 init_viewport (void)
 {
@@ -161,9 +135,7 @@
 
   viewwidth = viewlength = -1;
 
-#if HAVE_LIBNCURSES
   get_termcap_viewport ();
-#endif /* HAVE_LIBNCURSES */
 
   if (viewwidth < 0 && getenv ("COLUMNS") != NULL)
     viewwidth = atoi (getenv ("COLUMNS"));
@@ -526,3 +498,38 @@
 {
   syntax = mode;
 }
+
+/* Code that interfaces to ncurses.  This must be at the very end
+   of this file because curses.h redefines "bool" on some systems
+   (e.g. OpenBSD), causing declaration mismatches with functions
+   that have parameters or return values of type "bool". */
+#if HAVE_LIBNCURSES
+#include <curses.h>
+#include <term.h>
+
+static void
+get_termcap_viewport (void)
+{
+  char term_buffer[16384];
+  if (getenv ("TERM") == NULL)
+    return;
+  else if (tgetent (term_buffer, getenv ("TERM")) <= 0)
+    {
+      error (0,0, _("could not access definition for terminal `%s'"),
+             getenv ("TERM"));
+      return;
+    }
+
+  if (tgetnum ("li") > 0)
+    viewlength = tgetnum ("li");
+
+  if (tgetnum ("co") > 1)
+    viewwidth = tgetnum ("co") - 1;
+}
+#else /* !HAVE_LIBNCURSES */
+static void
+get_termcap_viewport (void)
+{
+  /* Nothing to do. */
+}
+#endif /* !HAVE_LIBNCURSES */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]