I don't recall exactly why these were pointers any longer, but it doesn't
seem to be necessary any longer. It is more straightforward if they are
just stored in the same way as the other settings.
/* Format of reals in output (SET WRB). */
enum float_format output_float_format;
/* Format of reals in output (SET WRB). */
enum float_format output_float_format;
- int *viewlength;
- int *viewwidth;
+ int viewlength;
+ int viewwidth;
bool safer_mode;
bool include;
int epoch;
bool safer_mode;
bool include;
int epoch;
FLOAT_NATIVE_DOUBLE, /* input_float_format */
INTEGER_NATIVE, /* output_integer_format */
FLOAT_NATIVE_DOUBLE, /* output_float_format */
FLOAT_NATIVE_DOUBLE, /* input_float_format */
INTEGER_NATIVE, /* output_integer_format */
FLOAT_NATIVE_DOUBLE, /* output_float_format */
- NULL, /* viewlength */
- NULL, /* viewwidth */
+ 24, /* viewlength */
+ 79, /* viewwidth */
false, /* safer_mode */
true, /* include */
-1, /* epoch */
false, /* safer_mode */
true, /* include */
-1, /* epoch */
SETTINGS_DEVICE_LISTING | SETTINGS_DEVICE_TERMINAL}
};
SETTINGS_DEVICE_LISTING | SETTINGS_DEVICE_TERMINAL}
};
-static void init_viewport ( int *, int *);
-
-settings_init (int *width, int *length)
- init_viewport (width, length);
settings_set_epoch (-1);
the_settings.styles = fmt_settings_create ();
settings_set_epoch (-1);
the_settings.styles = fmt_settings_create ();
int
settings_get_viewlength (void)
{
int
settings_get_viewlength (void)
{
- return *the_settings.viewlength;
+ return the_settings.viewlength;
}
/* Sets the view length. */
void
settings_set_viewlength ( int viewlength_)
{
}
/* Sets the view length. */
void
settings_set_viewlength ( int viewlength_)
{
- *the_settings.viewlength = viewlength_;
+ the_settings.viewlength = viewlength_;
}
/* Screen width. */
int
settings_get_viewwidth(void)
{
}
/* Screen width. */
int
settings_get_viewwidth(void)
{
- return *the_settings.viewwidth;
+ return the_settings.viewwidth;
}
/* Sets the screen width. */
void
settings_set_viewwidth ( int viewwidth_)
{
}
/* Sets the screen width. */
void
settings_set_viewwidth ( int viewwidth_)
{
- *the_settings.viewwidth = viewwidth_;
-}
-
-static void
-init_viewport ( int *width, int *length)
-{
- the_settings.viewwidth = width;
- the_settings.viewlength = length;
+ the_settings.viewwidth = viewwidth_;
}
/* Whether PSPP can erase and overwrite files. */
}
/* Whether PSPP can erase and overwrite files. */
struct caseproto;
struct settings;
struct caseproto;
struct settings;
-void settings_init (int *, int *);
+void settings_init (void);
void settings_done (void);
enum float_format settings_get_input_float_format (void);
void settings_done (void);
enum float_format settings_get_input_float_format (void);
preregister_widgets ();
gsl_set_error_handler_off ();
preregister_widgets ();
gsl_set_error_handler_off ();
- settings_init (&viewer_width, &viewer_length);
fh_init ();
the_dataset = create_dataset ();
fh_init ();
the_dataset = create_dataset ();
int
main (int argc, char **argv)
{
int
main (int argc, char **argv)
{
- int *view_width_p, *view_length_p;
struct terminal_opts *terminal_opts;
struct argv_parser *parser;
struct terminal_opts *terminal_opts;
struct argv_parser *parser;
the_source_stream = create_source_stream ();
prompt_init ();
readln_initialize ();
the_source_stream = create_source_stream ();
prompt_init ();
readln_initialize ();
- terminal_init (&view_width_p, &view_length_p);
- settings_init (view_width_p, view_length_p);
+ settings_init ();
+ terminal_check_size ();
random_init ();
the_dataset = create_dataset ();
random_init ();
the_dataset = create_dataset ();
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2007, 2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-#include <ui/terminal/terminal.h>
+#include "ui/terminal/terminal.h"
#include <stdbool.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdlib.h>
-#include <libpspp/compiler.h>
+#include "data/settings.h"
+#include "libpspp/compiler.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "gettext.h"
#define _(msgid) gettext (msgid)
-static int view_width = -1;
-static int view_length = -1;
-
-/* Initializes the terminal interface by determining the size of
- the user's terminal. Stores a pointer to the size variables
- in *VIEW_WIDTH_P and *VIEW_LENGTH_P. */
-void
-terminal_init (int **view_width_p, int **view_length_p)
-{
- *view_width_p = &view_width;
- *view_length_p = &view_length;
- terminal_check_size ();
-}
-
/* 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
/* 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
void
terminal_check_size (void)
{
void
terminal_check_size (void)
{
+ int view_width = 0;
+ int view_length = 0;
+
#if LIBNCURSES_USABLE
if (getenv ("TERM") != NULL)
{
#if LIBNCURSES_USABLE
if (getenv ("TERM") != NULL)
{
- if (view_width <= 0)
- {
- if (getenv ("COLUMNS") != NULL)
- view_width = atoi (getenv ("COLUMNS"));
- if (view_width <= 0)
- view_width = 79;
- }
+ if (view_width <= 0 && getenv ("COLUMNS") != NULL)
+ view_width = atoi (getenv ("COLUMNS"));
+ if (view_width > 0)
+ settings_set_viewwidth (view_width);
- if (view_length <= 0)
- {
- if (getenv ("LINES") != NULL)
- view_length = atoi (getenv ("LINES"));
- if (view_length <= 0)
- view_length = 24;
- }
+ if (view_length <= 0 && getenv ("LINES") != NULL)
+ view_length = atoi (getenv ("LINES"));
+ if (view_length > 0)
+ settings_set_viewlength (view_length);