From 55a63940956bc1fba3f113d59a4c26e549704de6 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 11 Dec 2003 07:37:23 +0000 Subject: [PATCH] Wed Dec 10 23:32:47 2003 Ben Pfaff * sysdeps/: Removed, because everything was too old to be useful anymore. --- ChangeLog | 5 + sysdeps/ChangeLog | 9 - sysdeps/README | 8 - sysdeps/borlandc5.0/ChangeLog | 60 ---- sysdeps/borlandc5.0/bc5-con32s.c | 95 ------ sysdeps/borlandc5.0/config.h | 303 ------------------ sysdeps/borlandc5.0/libintl.h | 20 -- sysdeps/borlandc5.0/mk-bc5-dist | 69 ---- sysdeps/borlandc5.0/pspp.ico | Bin 16790 -> 0 bytes sysdeps/borlandc5.0/pspp.ide | Bin 86840 -> 0 bytes sysdeps/borlandc5.0/pspp.iwz.in | 383 ----------------------- sysdeps/borlandc5.0/setup1.bmp | Bin 36082 -> 0 bytes sysdeps/borlandc5.0/sm-gnu-hd.bmp | Bin 8414 -> 0 bytes sysdeps/borlandc5.0/unix2dos.pl | 19 -- sysdeps/borlandc5.0/version.c | 7 - sysdeps/windows/README | 10 - sysdeps/windows/con32s.c | 504 ------------------------------ 17 files changed, 5 insertions(+), 1487 deletions(-) delete mode 100644 sysdeps/ChangeLog delete mode 100644 sysdeps/README delete mode 100644 sysdeps/borlandc5.0/ChangeLog delete mode 100644 sysdeps/borlandc5.0/bc5-con32s.c delete mode 100644 sysdeps/borlandc5.0/config.h delete mode 100644 sysdeps/borlandc5.0/libintl.h delete mode 100755 sysdeps/borlandc5.0/mk-bc5-dist delete mode 100755 sysdeps/borlandc5.0/pspp.ico delete mode 100644 sysdeps/borlandc5.0/pspp.ide delete mode 100755 sysdeps/borlandc5.0/pspp.iwz.in delete mode 100755 sysdeps/borlandc5.0/setup1.bmp delete mode 100755 sysdeps/borlandc5.0/sm-gnu-hd.bmp delete mode 100644 sysdeps/borlandc5.0/unix2dos.pl delete mode 100644 sysdeps/borlandc5.0/version.c delete mode 100644 sysdeps/windows/README delete mode 100644 sysdeps/windows/con32s.c diff --git a/ChangeLog b/ChangeLog index 7ee9ca18..e45419e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Dec 10 23:32:47 2003 Ben Pfaff + + * sysdeps/: Removed, because everything was too old to be useful + anymore. + Sun Jan 2 21:24:32 2000 Ben Pfaff * Makefile.am: Require Automake 1.4 or later. It's been out for diff --git a/sysdeps/ChangeLog b/sysdeps/ChangeLog deleted file mode 100644 index 74e6766d..00000000 --- a/sysdeps/ChangeLog +++ /dev/null @@ -1,9 +0,0 @@ -Sun Aug 9 11:17:39 1998 Ben Pfaff - - * README: New file. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/sysdeps/README b/sysdeps/README deleted file mode 100644 index 5a4ede64..00000000 --- a/sysdeps/README +++ /dev/null @@ -1,8 +0,0 @@ --*- text -*- - -The files in this directory were at one time useful for compiling PSPP -under Borland C++ 5.0 for Windows. They may or may not be useful any -longer. They are provided without any assurance that they are up to -date. Use at your own risk. - --blp diff --git a/sysdeps/borlandc5.0/ChangeLog b/sysdeps/borlandc5.0/ChangeLog deleted file mode 100644 index 0beaf5b3..00000000 --- a/sysdeps/borlandc5.0/ChangeLog +++ /dev/null @@ -1,60 +0,0 @@ -Sun Aug 9 11:15:17 1998 Ben Pfaff - - * pspp.iwz.in: Update name of sm-gnu-head.bmp. - - * sm-gnu-head.bmp: Renamed sm-gnu-hd.bmp. - -Fri Dec 5 23:01:44 1997 Ben Pfaff - - * fiasco.ico: Renamed pspp.ico. - - * fiasco.ide: Renamed pspp.ide. - - * fiasco.iwz.in: Renamed pspp.iwz.in. - -Wed Aug 20 12:52:43 1997 Ben Pfaff - - * fiasco.iwz.in: Updated. - -Sat Aug 16 11:02:38 1997 Ben Pfaff - - * mk-bc5-dist: No longer run from toplevel Makefile. - - * unix2dos.pl: Moved here from the top level. - - * pref.h: Removed. - -Thu Aug 14 22:19:46 1997 Ben Pfaff - - * fiasco.iwz.in: Revised. - - * pref.h: Updated from pref.h.orig. - - * fiasco.ide: Updated. - -Sun Aug 3 11:50:23 1997 Ben Pfaff - - * fiasco.ico: New file, icon for Fiasco. - - * fiasco.iwz.in: New file, InstallShield template for Fiasco. - - * setup1.bmp: New file, Bitmap displayed during installation. - - * sm-gnu-head.bmp: New file, small GNU head from - www.gnu.org converted to BMP format. - -Thu Jul 17 02:20:09 1997 Ben Pfaff - - * New directory for Windows support via Borland C++ 5.0. - - * bc5-con32s.c: Combines _read.c and _write from the old - sysdeps/borlandc4.0 directory. - - * config.h, libintl.h, pref.h, version.c: Standard files adapted - to Borland C++ 5.0. - ----------------------------------------------------------------------- -Local Variables: -mode: change-log -version-control: never -End: diff --git a/sysdeps/borlandc5.0/bc5-con32s.c b/sysdeps/borlandc5.0/bc5-con32s.c deleted file mode 100644 index ec55ab84..00000000 --- a/sysdeps/borlandc5.0/bc5-con32s.c +++ /dev/null @@ -1,95 +0,0 @@ -/* con32s - emulates console under Windows. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. - Written by Ben Pfaff . - - 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 the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ - -/* This replaces a few of the Borland C++ library functions. It does - not use any of the runtime library header files, so you do not need - the runtime library source in order to compile it. */ - -#include -#include -#include - -/* 1=It is necessary to emulate the console window. */ -int _emu_console; - -/* Exported by con32s.c. */ -extern int _blp_console_read (void *buf, unsigned len); - -/* Exported by Borland runtime library. */ -extern long _handles[]; -extern int __IOerror (int); -extern int __NTerror (void); - -/* Replaces Borland library function. */ -int -_rtl_read (int fd, void *buf, unsigned len) -{ - DWORD nread; - - if ((unsigned) fd >= _nfile) - return __IOerror (ERROR_INVALID_HANDLE); - - /* Redirect stdin to the faked console window. */ - if (_emu_console && fd < 3) - return _blp_console_read (buf, len); - - if (ReadFile ((HANDLE) _handles[fd], buf, (DWORD) len, &nread, NULL) != 1) - return __NTerror (); - else - return (int) nread; -} - -/* Replaces Borland library function. */ -int -_rtl_write (int fd, const void *buf, unsigned int len) -{ - DWORD written; - - if ((unsigned) fd >= _nfile) - return __IOerror (ERROR_INVALID_HANDLE); - - /* Redirect stdout, stderr to the faked console window. */ - if (_emu_console && fd < 3) - return _blp_console_write (buf, len); - - if (WriteFile ((HANDLE) _handles[fd], (PVOID) buf, (DWORD) len, &written, - NULL) != 1) - return __NTerror (); - else - return (int) written; -} - -void -determine_os (void) -{ -#pragma startup determine_os 64 - DWORD nButtons; - - /* Try out a random console function. If it fails then we must not - have a console. - - Believe it or not, this seems to be the only way to determine - reliably whether we're running under 3.1. If you know a better - way, let me know. */ - if (GetNumberOfConsoleMouseButtons (&nButtons)) - _emu_console = 0; - else - _emu_console = 1; -} - diff --git a/sysdeps/borlandc5.0/config.h b/sysdeps/borlandc5.0/config.h deleted file mode 100644 index a90e84ce..00000000 --- a/sysdeps/borlandc5.0/config.h +++ /dev/null @@ -1,303 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ -/* Special definitions, to process by autoheader. - Copyright (C) 1997 Free Software Foundation. */ - -/* Definitions for byte order, according to significance of bytes, from low - addresses to high addresses. The value is what you get by putting '4' - in the most significant byte, '3' in the second most significant byte, - '2' in the second least significant byte, and '1' in the least - significant byte. These definitions never need to be modified. */ -#define BIG 4321 /* 68k */ -#define LITTLE 1234 /* i[3456]86 */ -#define UNKNOWN 0000 /* Endianness must be determined at runtime. */ - -/* Definitions for floating-point representation. */ -#define FPREP_IEEE754 754 /* The usual IEEE-754 format. */ -#define FPREP_UNKNOWN 666 /* Triggers an error at compile time. */ - -/* We want prototypes for all the GNU extensions. */ -#define _GNU_SOURCE 1 - -/* The concatenation of the strings "GNU ", and PACKAGE. */ -#define GNU_PACKAGE "GNU PSPP" - -/* Define to the name of the distribution. */ -#define PACKAGE "PSPP" - -/* Define to 1 if ANSI function prototypes are usable. */ -#define PROTOTYPES 1 - -/* Define to the version of the distribution. */ -#define VERSION "0.1.0" - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#define CRAY_STACKSEG_END - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you don't have vprintf but do have _doprnt. */ -#undef HAVE_DOPRNT - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define if you have the vprintf function. */ -#define HAVE_VPRINTF 1 - -/* Define as __inline if that's what the C compiler calls it. */ -#define inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define if your declares struct tm. */ -#undef TM_IN_SYS_TIME - -/* Define if sprintf() returns the number of characters written to - the destination string, excluding the null terminator. */ -#define HAVE_GOOD_SPRINTF 1 - -/* Define endianness of computer here as BIG or LITTLE, if known. - If not known, define as UNKNOWN. */ -#define ENDIAN LITTLE - -/* Define as floating-point representation of this computer. For - i386, m68k, and other common chips, this is FPREP_IEEE754. */ -#define FPREP FPREP_IEEE754 - -/* Number of digits in longest `long' value, including sign. This is - usually 11, for 32-bit `long's, or 19, for 64-bit `long's. */ -#define INT_DIGITS 11 - -/* Define if you have the history library (-lhistory). */ -#undef HAVE_LIBHISTORY - -/* Define if you have the termcap library (-ltermcap). */ -#undef HAVE_LIBTERMCAP - -/* Define if your locale.h file contains LC_MESSAGES. */ -#define HAVE_LC_MESSAGES 1 - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#define HAVE_STPCPY 1 - -/* The number of bytes in a double. */ -#define SIZEOF_DOUBLE 8 - -/* The number of bytes in a float. */ -#define SIZEOF_FLOAT 4 - -/* The number of bytes in a int. */ -#define SIZEOF_INT 4 - -/* The number of bytes in a long. */ -#define SIZEOF_LONG 4 - -/* The number of bytes in a long double. */ -#define SIZEOF_LONG_DOUBLE 12 - -/* The number of bytes in a long long. */ -#define SIZEOF_LONG_LONG - -/* The number of bytes in a short. */ -#define SIZEOF_SHORT 2 - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define if you have the __setfpucw function. */ -#undef HAVE___SETFPUCW - -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT - -/* Define if you have the finite function. */ -#undef HAVE_FINITE - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD - -/* Define if you have the getdelim function. */ -#undef HAVE_GETDELIM - -/* Define if you have the gethostname function. */ -#undef HAVE_GETHOSTNAME - -/* Define if you have the getline function. */ -#undef HAVE_GETLINE - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the getpid function. */ -#define HAVE_GETPID 1 - -/* Define if you have the isinf function. */ -#undef HAVE_ISINF - -/* Define if you have the isnan function. */ -#undef HAVE_ISNAN - -/* Define if you have the memchr function. */ -#define HAVE_MEMCHR 1 - -/* Define if you have the memmem function. */ -#define HAVE_MEMMEM 0 - -/* Define if you have the memmove function. */ -#define HAVE_MEMMOVE 1 - -/* Define if you have the memset function. */ -#define HAVE_MEMSET 1 - -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP - -/* Define if you have the putenv function. */ -#define HAVE_PUTENV 1 - -/* Define if you have the setenv function. */ -#undef HAVE_SETENV - -/* Define if you have the setlocale function. */ -#define HAVE_SETLOCALE 1 - -/* Define if you have the stpcpy function. */ -#define HAVE_STPCPY 1 - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the strerror function. */ -#define HAVE_STRERROR 1 - -/* Define if you have the strncasecmp function. */ -#undef HAVE_STRNCASECMP - -/* Define if you have the strpbrk function. */ -#define HAVE_STRPBRK 1 - -/* Define if you have the strstr function. */ -#define HAVE_STRSTR 1 - -/* Define if you have the strtod function. */ -#define HAVE_STRTOD 1 - -/* Define if you have the strtol function. */ -#define HAVE_STRTOL 1 - -/* Define if you have the strtoul function. */ -#define HAVE_STRTOUL 1 - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_FPU_CONTROL_H - -/* Define if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define if you have the header file. */ -#define HAVE_LOCALE_H 1 - -/* Define if you have the header file. */ -#define HAVE_MALLOC_H 1 - -/* Define if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_READLINE_HISTORY_H - -/* Define if you have the header file. */ -#undef HAVE_READLINE_READLINE_H - -/* Define if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define if you have the header file. */ -#undef HAVE_TERMCAP_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#define HAVE_VALUES_H 1 - -/* Define if you have the i library (-li). */ -#undef HAVE_LIBI - -/* Define if you have the m library (-lm). */ -#undef HAVE_LIBM - -/* Define if you have the readline library (-lreadline). */ -#undef HAVE_LIBREADLINE - -#include - -/* Local Variables: */ -/* mode:c */ -/* End: */ diff --git a/sysdeps/borlandc5.0/libintl.h b/sysdeps/borlandc5.0/libintl.h deleted file mode 100644 index 67dbe228..00000000 --- a/sysdeps/borlandc5.0/libintl.h +++ /dev/null @@ -1,20 +0,0 @@ -/* PSPP - computes sample statistics. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. - Written by Ben Pfaff . - - 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 the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ - -/* Nothing needed here. */ diff --git a/sysdeps/borlandc5.0/mk-bc5-dist b/sysdeps/borlandc5.0/mk-bc5-dist deleted file mode 100755 index fc6e9012..00000000 --- a/sysdeps/borlandc5.0/mk-bc5-dist +++ /dev/null @@ -1,69 +0,0 @@ -#! /bin/sh -e - -# This script makes a source distribution for compilation under -# Borland C++ 5.0. It also produces a .iwz file for use with -# InstallShield Express. - -if test "$1" = ""; then - echo "usage: $0 \'DOS-path-to-PSPP-source\' \'DOS-path-to-Borland-C++-5.0-root\'" -fi - -test -f src/q2c.c || (echo "Not in PSPP source directory" && exit 1) - -make distdir - -DOSROOT="$1" -VERSION=`sed -ne 's/^.*\[//;s/].*$//;/^[0-9]*\.[0-9]*\.[0-9]*$/p' < configure.in` -BC5ROOT=`pwd`/pspp-$VERSION-bc5 -DISTROOT=`pwd` - -rm -rf $BC5ROOT -cp -r pspp-$VERSION $BC5ROOT -rm -f $DISTROOT/manualfiles.tmp -rm -f $DISTROOT/testsfiles.tmp - -cd $BC5ROOT/doc -texi2html -number -monolithic FAQ.texi - -mkdir $BC5ROOT/manual -cd $BC5ROOT/manual -texi2html -menu -number -split_node ../doc/pspp.texi -cp pspp_toc.html index.html - -n_manual=0 -for d in *; do - n_manual=`expr $n_manual + 1` - echo "Group5File$n_manual=${DOSROOT}\\MANUAL\\$d" >> $DISTROOT/manualfiles.tmp -done - -cd $BC5ROOT/tests -n_tests=0 -for d in *; do - n_tests=`expr $n_tests + 1` - echo "Group3File$n_tests=${DOSROOT}\\TESTS\\$d" >> $DISTROOT/testsfiles.tmp -done - -SEDDOSROOT=`echo "$1" | sed 's/\\\\/\\\\\\\\/'` -echo "s%@BASEDIR@%$SEDDOSROOT%g" > $DISTROOT/bc5.sed -SEDBC5BASEDIR=`echo "$2" | sed 's/\\\\/\\\\\\\\/'` -echo "s%@BC5BASEDIR@%$SEDBC5BASEDIR%g" >> $DISTROOT/bc5.sed -echo "s%@MANUALCOUNT@%$n_manual%g" >> $DISTROOT/bc5.sed -echo "s%@TESTSCOUNT@%$n_tests%g" >> $DISTROOT/bc5.sed - -IN=$BC5ROOT/sysdeps/borlandc5.0/pspp.iwz.in -OUT=$BC5ROOT/pspp.iwz -sed -n -f $DISTROOT/bc5.sed -e '1,/^Group3Dir/p' < $IN > $OUT -cat $DISTROOT/testsfiles.tmp >> $OUT -sed -n -f $DISTROOT/bc5.sed -e '/^Group4Size/,/^Group5Dir/p' < $IN >> $OUT -cat $DISTROOT/manualfiles.tmp < $IN >> $OUT -sed -n -f $DISTROOT/bc5.sed -e '/^Group5Size/,$p' < $IN >> $OUT - -cp $BC5ROOT/sysdeps/borlandc5.0/pspp.ide $BC5ROOT/pspp.ide -cp $BC5ROOT/pref.h.orig $BC5ROOT/sysdeps/borlandc5.0/pref.h - -rm $DISTROOT/manualfiles.tmp -rm $DISTROOT/testsfiles.tmp -rm $DISTROOT/bc5.sed - -find $BC5ROOT -type f | xargs perl $DISTROOT/sysdeps/borlandc5.0/unix2dos.pl -find $BC5ROOT -name \*.bak | xargs rm -f diff --git a/sysdeps/borlandc5.0/pspp.ico b/sysdeps/borlandc5.0/pspp.ico deleted file mode 100755 index 4157a06a94e1c5111b8e8bcf7019cf994f7b1b03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16790 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 S`wrWFNOs?{+z*oa\PSPP.ICO -Reg11Vals=1 -Reg12Path=HKEY_CLASSES_ROOT\.sps -Reg12PathUninstall=1 -Reg12Val1Type=0 -Reg12Val1Name=(Default) -Reg12Val1Data=PSPP.Script -Reg12Vals=1 -Reg13Path=HKEY_CLASSES_ROOT\.spss -Reg13PathUninstall=1 -Reg13Val1Type=0 -Reg13Val1Name=(Default) -Reg13Val1Data=PSPP.Script -Reg13Vals=1 -Reg14Path=HKEY_CLASSES_ROOT\PSPP.Script\shell\open\command -Reg14PathUninstall=1 -Reg14Val1Type=0 -Reg14Val1Name=(Default) -Reg14Val1Data=\PSPP.EXE %1 -Reg14Vals=1 -Reg15Path=HKEY_CLASSES_ROOT\.lst -Reg15PathUninstall=1 -Reg15Val1Type=0 -Reg15Val1Name=(Default) -Reg15Val1Data=PSPP.Listing -Reg15Vals=1 -Reg16Path=HKEY_CLASSES_ROOT\.list -Reg16PathUninstall=1 -Reg16Val1Type=0 -Reg16Val1Name=(Default) -Reg16Val1Data=PSPP.Listing -Reg16Vals=1 -Reg17Path=HKEY_CLASSES_ROOT\PSPP.Listing -Reg17PathUninstall=1 -Reg17Val1Type=0 -Reg17Val1Name=(Default) -Reg17Val1Data=PSPP Listing Output -Reg17Vals=1 -Reg18Path=HKEY_CLASSES_ROOT\PSPP.Listing\shell -Reg18PathUninstall=1 -Reg18Val1Type=0 -Reg18Val1Name=(Default) -Reg18Val1Data=(value not set) -Reg18Vals=1 -Reg19Path=HKEY_CLASSES_ROOT\PSPP.Listing\shell\open -Reg19PathUninstall=1 -Reg19Val1Type=0 -Reg19Val1Name=(Default) -Reg19Val1Data=(value not set) -Reg19Vals=1 -Reg20Path=HKEY_CLASSES_ROOT\PSPP.Listing\shell\open\command -Reg20PathUninstall=1 -Reg20Val1Type=0 -Reg20Val1Name=(Default) -Reg20Val1Data=\NOTEPAD.EXE %1 -Reg20Vals=1 -Reg21Path=HKEY_CLASSES_ROOT\PSPP.Listing\DefaultIcon -Reg21PathUninstall=1 -Reg21Val1Type=0 -Reg21Val1Name=(Default) -Reg21Val1Data=\PSPP.ICO -Reg21Vals=1 -Regs=21 - -[Registry] -Reg1Path=HKEY_CLASSES_ROOT\PSPP.Script -Reg1PathUninstall=1 -Reg1ValName=(Default) -Reg1ValType=0 -Reg1ValData=PSPP Script -Reg2Path=HKEY_CLASSES_ROOT\PSPP.Script\shell -Reg2PathUninstall=1 -Reg3Path=HKEY_CLASSES_ROOT\PSPP.Script\shell\open -Reg3PathUninstall=1 -Reg4Path=HKEY_CLASSES_ROOT\.stat -Reg4PathUninstall=1 -Reg4ValName=(Default) -Reg4ValType=0 -Reg4ValData=PSPP.Script -Reg5Path=HKEY_CLASSES_ROOT\PSPP.Script\DefaultIcon -Reg5PathUninstall=1 -Reg5ValName=(Default) -Reg5ValType=0 -Reg5ValData=\PSPP.ICO -Reg6Path=HKEY_CLASSES_ROOT\.sps -Reg6PathUninstall=1 -Reg6ValName=(Default) -Reg6ValType=0 -Reg6ValData=PSPP.Script -Reg7Path=HKEY_CLASSES_ROOT\.spss -Reg7PathUninstall=1 -Reg7ValName=(Default) -Reg7ValType=0 -Reg7ValData=PSPP.Script -Reg8Path=HKEY_CLASSES_ROOT\PSPP.Script\shell\open\command -Reg8PathUninstall=1 -Reg8ValName=(Default) -Reg8ValType=0 -Reg8ValData=\PSPP.EXE %1 -Reg9Path=HKEY_CLASSES_ROOT\.lst -Reg9PathUninstall=1 -Reg9ValName=(Default) -Reg9ValType=0 -Reg9ValData=PSPP.Listing -Reg10Path=HKEY_CLASSES_ROOT\.list -Reg10PathUninstall=1 -Reg10ValName=(Default) -Reg10ValType=0 -Reg10ValData=PSPP.Listing -Reg11Path=HKEY_CLASSES_ROOT\PSPP.Listing -Reg11PathUninstall=1 -Reg11ValName=(Default) -Reg11ValType=0 -Reg11ValData=PSPP Listing Output -Reg12Path=HKEY_CLASSES_ROOT\PSPP.Listing\shell -Reg12PathUninstall=1 -Reg13Path=HKEY_CLASSES_ROOT\PSPP.Listing\shell\open -Reg13PathUninstall=1 -Reg14Path=HKEY_CLASSES_ROOT\PSPP.Listing\shell\open\command -Reg14PathUninstall=1 -Reg14ValName=(Default) -Reg14ValType=0 -Reg14ValData=\NOTEPAD.EXE %1 -Reg15Path=HKEY_CLASSES_ROOT\PSPP.Listing\DefaultIcon -Reg15PathUninstall=1 -Reg15ValName=(Default) -Reg15ValType=0 -Reg15ValData=\PSPP.ICO -Regs=15 - -[Groups] -Groups=6 -Group1Size=421589 -Group1Files=6 -Group1Name=Program Files -Group1Dir= -Group1File1=@BASEDIR@\pspp.exe -Group1File2=@BASEDIR@\config\devices -Group1File3=@BASEDIR@\config\papersize -Group1File4=@BASEDIR@\config\ps-prologue -Group1File5=@BASEDIR@\COPYING -Group1File6=@BASEDIR@\sysdeps\borlandc5.0\pspp.ICO -Group2Size=43097 -Group2Files=4 -Group2Name=Help Files - HTML -Group2Dir=\HELP -Group2File1=@BASEDIR@\doc\BUGS.html -Group2File2=@BASEDIR@\doc\LANGUAGE.html -Group2File3=@BASEDIR@\doc\README.html -Group2File4=@BASEDIR@\doc\THANKS.html -Group3Size=104388 -Group3Files=@TESTSCOUNT@ -Group3Name=Test Files -Group3Dir=\TESTS -Group4Size=63652 -Group4Files=7 -Group4Name=Help Files - ASCII -Group4Dir=\HELP\ASCII -Group4File1=@BASEDIR@\BUGS -Group4File2=@BASEDIR@\LANGUAGE -Group4File3=@BASEDIR@\NEWS -Group4File4=@BASEDIR@\README -Group4File5=@BASEDIR@\THANKS -Group4File6=@BASEDIR@\TODO -Group4File7=@BASEDIR@\AUTHORS -Group5Size=336614 -Group5Files=@MANUALCOUNT@ -Group5Name=Manual - HTML -Group5Dir=\HELP\MANUAL -Group6Size=229376 -Group6Files=1 -Group6Auto=108 -Group6ID=38308 -Group6Name=System Files -Group6Dir= -Group6File1=@BC5BASEDIR@\BIN\CW3220.DLL -Group6File1Auto=108 - -[Components] -Components=4 -Component1Groups=2 -Component1Name=Application Files -Component1Description=Application files needed to run the application -Component1GroupList=1 6 -Component2Groups=2 -Component2Name=Help and Tutorial Files -Component2Description=Help and tutorial needed for online help -Component2GroupList=2 4 -Component3Groups=1 -Component3Name=Sample Files -Component3Description=Sample data files -Component3GroupList=3 -Component4Groups=1 -Component4Name=Manual - HTML -Component4Description=On-line manual in World Wide Web HTML format. -Component4GroupList=5 - -[Types] -Types=3 -Type1Components=4 -Type1Name=Custom -Type1ComponentList=1 2 3 4 -Type2Components=4 -Type2Name=Typical -Type2ComponentList=1 2 3 4 -Type3Components=1 -Type3Name=Compact -Type3ComponentList=1 - -[Sequence] -DestinationLocationDir=\Free Software Foundation\PSPP -SelectProgramFolderName=PSPP -WelcomeMessage=1 -LicenseAgreement=1 -LicenseAgreementFile=@BASEDIR@\copying -DestinationLocation=1 -SetupType=1 -CustomSetup=1 -CustomSetupGroupSel=1 -SelectProgramFolder=1 -BeginFileTransfer=1 -ProgressBar=1 -Billboards=1 -BillboardsFile=@BASEDIR@\sysdeps\borlandc5.0\ -SetupComplete=1 - -[Icons] -Icons=5 -Icon1Cmd=[Program Files]\pspp.exe -Icon1Description=PSPP -Icon1WorkingDir=[Program Files] -Icon1IconFile=[Program Files]\pspp.ICO -Icon1RealFile=@BASEDIR@\sysdeps\borlandc5.0\pspp.ICO -Icon1WhichIcon=0 -Icon1KeyVirtual=0 -Icon1KeyFlags=0 -Icon2Cmd=[Help Files - HTML]\BUGS.html -Icon2Description=Bugs -Icon2WorkingDir=[Help Files - HTML] -Icon2RealFile=@BASEDIR@\doc\BUGS.html -Icon2WhichIcon=0 -Icon2KeyVirtual=0 -Icon2KeyFlags=0 -Icon3Cmd=[Help Files - HTML]\LANGUAGE.html -Icon3Description=Language Notes -Icon3WorkingDir=[Help Files - HTML] -Icon3RealFile=@BASEDIR@\doc\LANGUAGE.html -Icon3WhichIcon=0 -Icon3KeyVirtual=0 -Icon3KeyFlags=0 -Icon4Cmd=[Help Files - HTML]\README.html -Icon4Description=README -Icon4WorkingDir=[Help Files - HTML] -Icon4RealFile=@BASEDIR@\doc\README.html -Icon4WhichIcon=0 -Icon4KeyVirtual=0 -Icon4KeyFlags=0 -Icon5Cmd=[Manual - HTML]\pspp_toc.html -Icon5Description=Manual -Icon5WorkingDir=[Manual - HTML] -Icon5RealFile=@BASEDIR@\MANUAL\pspp_toc.html -Icon5WhichIcon=0 -Icon5KeyVirtual=0 -Icon5KeyFlags=0 diff --git a/sysdeps/borlandc5.0/setup1.bmp b/sysdeps/borlandc5.0/setup1.bmp deleted file mode 100755 index 620981e014c3880b5dad04fe8167f0949c98b81b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36082 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 uXR|EVxc^nU^ diff --git a/sysdeps/borlandc5.0/sm-gnu-hd.bmp b/sysdeps/borlandc5.0/sm-gnu-hd.bmp deleted file mode 100755 index 6aaa8afc96f286353a947874806301d7896cb112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8414 zcmd6sJF?`i6~=Lut5DWnh8N%!IQK>z5gF>ANRA*Q^Ll1UHxrrsJBNo*xB5=cI59J~ zTMzj7&XWWE_kaBJFGkzH`1~t>|K{%x{{CeC%%?Gb!Oc1aLP=|~~wbnm9$VDu?-E;4#c z>%AnO_=iLann*t0*;UN+Go8{UXD^)gAW(PhJw|RZnoF!=5ini8E7DtxvT8>Rn)W&* zrSiBAZg+1nx;G`!sJ4=G_$7=Iswg=VYz+ga{}qh9*MWEkj{bWXM;#}g9-4ECoBonM zWB{!&J_rzvP-%MB+v($tPP_7urRxBZwu(Fr*UNj1Mnj3z>lCBUzvLf%Ze_2N$7t+w zn}Oc>dKcyBcFntW*8ECN9-^eZX#nLWRx_hXaG-cLp1ckTU< z<{ONuPG~{jXtgx?9Y&p=rHQ1|`dwx&{%P60;n6UrWvxeEMQo{d(73a0oqTrm9zQZH zms2+l=7vXgk5i$?v5Yy3PdyIDv-dnE{?p~*y&DGaC^tN+i%mRcpD)pUB8%!{mU^uk zs?(PEl7((~=!iJY)+>MtRs5-*3VVa0I;HCAjeAu=Uo*2i-)WyK20=x!A}>x1F|w*C zb!xMm()WsyqPG<1JfCeL{b*;L^aN9%KVjs<#jLApH%tE}Y){8HA1cZd4`^FeXYW?s zmBqp>XC~+`Z+RdA8_fHi=kc}9Ud@;2sOyMThXYn!op9=y2^5B zOtPZEWp44Iccr=4_ZY{jozv`MJPC`sNO$v7yW0DSN7utsbOtL5-4+>wGPDD795d)0IC{`9{J@`eW<#l)zuHgTDjlrY-WX0JR(1{a4GhpjF8==7>s`4Tdx zK+il*S&{q1VB1i^b}?8qYn;^nf-&rd7AK5~fNLP5^OEzwRKxQ86{Gh)sMN>xxCrU+ z^|7zQ-C+zp9{aQI=w8;f6J48h-}2CdhC!fSl(eqx>LmFj3kjt4q35ajI*iXaGQi3A zNgs(sc4C|^J?2cO?Fa4^BT5Dz{ngEC&++W61tyZSEW2kfJV~I5^~hfGNo_m9SKFD8 zE;?oF6nq|KEk=;(A)k9`dc<)M^9Cc5z1a7inL}q^4kr?7D>i9j=DsbMXRhY?Mnfx$)zklIKrG$tU4sAyUER3bELfBlJ>Wy#Hy6;$%EV#LL55#<9SiE3b^eY1YCE2n~{yP!*bmw@|nCS=#ThIyuQ&hnwD zqG7}wJx93Sg&gsSwN4y^Q@J#T@Ky+lPWJ`E&H%HZ#leH2esOl$aK8wVPTuJOt!zR# z2VwD3SC5QF9qdyP28A>poW!9~E33#JnW3kNsIekvWG)Cfp;0`Wp(rY~vMXYhz?J14 zrHip%O&BRaTvv%cp@ZLoc+1M4LlkC9iwTS7&W>@&!9p#Fi95*3jM8Kzl@uY%w}=u$ zSOhO@1dS<$PrNgy)+6g7YKvERjG0raqFIggQL8*<$il6$}PZ?6y zjhhMKh+gJ|VagcNA-S`UI#t+3tLSQA;4(|mnW3(oD~@A>c$^5FO^`B1Gd7<<~Bl{w`Z%0v8=C4btgc|7xkFy>1$98ZGS zx;C|S92hGGMY{1CB4`BjGfL7U!LEq*F)ba0C#78+Jn#u`ruWCf;;Z%rghbIeExAV{ zRL~%1IWbDXpC8cajYSe$@T(937RX&sRCgabi8%jN=_!P)ljWHSWPJ= zVz5CrB!pAsz;9wfE=rpxWT#+GpSN`O!v3OOaePe<5>8tbLgf^q0nuPjf zOeD&0mbkv7Puvm3pR$lBF}0lvDFveTm}83Qi^outKwXoM)%sGD(cI;qB>;H_o#m3J2mK=61X zG+O)6T4Nr5UgJknjrDYL#Q;QpNkj9>;vDsK#qSra{X$gQ6UGr2KzQC4Rqgcp!I28O eZPE0MAxi{$y>+h{3V$3y@q#gT{P6n!3FE(htO2qB diff --git a/sysdeps/borlandc5.0/unix2dos.pl b/sysdeps/borlandc5.0/unix2dos.pl deleted file mode 100644 index 95ee10d9..00000000 --- a/sysdeps/borlandc5.0/unix2dos.pl +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/perl -while (<>) { - if ($ARGV ne $oldargv) { - $translate = -T $ARGV; - rename($ARGV, $ARGV . '.bak'); - open(ARGVOUT, ">$ARGV"); - select(ARGVOUT); - $oldargv = $ARGV; - } - if ($translate) { - chop; - $_ .= " -"; - } -} -continue { - print; # this prints to original filename -} -select(STDOUT); diff --git a/sysdeps/borlandc5.0/version.c b/sysdeps/borlandc5.0/version.c deleted file mode 100644 index e7284769..00000000 --- a/sysdeps/borlandc5.0/version.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -char bare_version[] = VERSION; -char version[] = GNU_PACKAGE " " VERSION; -char stat_version[] = GNU_PACKAGE " " VERSION - " (Fri Jul 11 12:33:09 GMT-5:00 1997)."; -char host_system[] = "i586-borlandc5.0"; -char build_system[] = "i586-borlandc5.0"; diff --git a/sysdeps/windows/README b/sysdeps/windows/README deleted file mode 100644 index 63258b4e..00000000 --- a/sysdeps/windows/README +++ /dev/null @@ -1,10 +0,0 @@ -PSPP currently runs only as a console-mode application under Windows -environments. Since Windows 3.1 does not provide a console, PSPP -needs special assistance to run under Windows 3.1. con32s is a small -library that I have developed to do this. This directory contains the -compiler-independent portion of con32s. There is also a small -compiler-dependent portion that need to be written for each compiler. -See the example for Borland C++ for more details. - - -blp - diff --git a/sysdeps/windows/con32s.c b/sysdeps/windows/con32s.c deleted file mode 100644 index f184f870..00000000 --- a/sysdeps/windows/con32s.c +++ /dev/null @@ -1,504 +0,0 @@ -/* con32s - emulates Windows console. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. - Written by Ben Pfaff . - - 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 the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ - -#include -#include -#include -#include -#include -#include -#include - -typedef struct line_struct line; -struct line_struct - { - line *next, *prev; /* next and previous lines */ - char *text; /* text */ - int len; /* number of characters in text */ - int size; /* maximum allocated size for text */ - }; /* line */ - -/* Pointer to tail end of text lines. */ -static line *tail; - -/* Console window created. */ -static int inited = 0; - -/* Console window title. */ -static const char *title = _("Con32s Console Emulator by Ben Pfaff"); - -/* Important variables. */ -HINSTANCE _hInstance; -HINSTANCE _hPrev; -LPSTR _cmdline; -int _nCmdShow; - -/* Console window. */ -HWND wnd; - -/* Width, height of a single character in the console font. */ -int cw, ch; - -/* Width, height of console window in characters. */ -int nw, nh; - -/* Keyboard buffer. */ -#define MAX_KBD_BUF 80 /* Maximum number of characters to buffer. */ -char kbd[MAX_KBD_BUF]; -char *hp, *tp; /* Keyboard buffer head, tail. */ - -static void -outmsg (char *format,...) -{ - va_list args; - char s[128]; - - va_start (args, format); - vsprintf (s, format, args); - va_end (args); - MessageBox (_hInstance, s, "Con32s", - MB_OK | MB_ICONHAND | MB_SYSTEMMODAL); -} - -static void * -xmalloc (size_t size) -{ - void *vp; - if (size == 0) - return NULL; - vp = malloc (size); - if (!vp) - { - MessageBox (NULL, _("xmalloc(): out of memory"), NULL, MB_OK); - exit (EXIT_FAILURE); - } - return vp; -} - -static void * -xrealloc (void *ptr, size_t size) -{ - void *vp; - if (!size) - { - if (ptr) - free (ptr); - return NULL; - } - if (ptr) - vp = realloc (ptr, size); - else - vp = malloc (size); - if (!vp) - { - MessageBox (NULL, _("xrealloc(): out of memory"), NULL, MB_OK); - exit (EXIT_FAILURE); - } - return vp; -} - -void _blp_console_init (void); -void _blp_console_yield (void); -void _blp_console_paint (void); -void find_console_top (line ** top); -void find_console_bottom (int *x, int *y, line ** bottom); - -static void -writechar (int c) -{ - int x, y; - line *bottom; - - static HDC dc; - - if (c == 10000) - { - if (dc) - { - ReleaseDC (wnd, dc); - dc = 0; - } - return; - } - - if (!tail) - { - tail = xmalloc (sizeof (line)); - tail->next = tail->prev = NULL; - tail->text = NULL; - tail->len = tail->size = 0; - } - - switch (c) - { - case '\n': - { - tail->next = xmalloc (sizeof (line)); - tail->next->prev = tail; - tail = tail->next; - tail->next = NULL; - tail->text = NULL; - tail->len = tail->size = 0; - } - break; - case '\r': - break; - case '\b': - { - find_console_bottom (&x, &y, &bottom); - if (tail->len) - tail->len--; - else - { - tail = tail->prev; - free (tail->next); - tail->next = NULL; - } - - if (x > 1) - { - if (!dc) - { - dc = GetDC (wnd); - SelectObject (dc, GetStockObject (ANSI_FIXED_FONT)); - assert (dc); - } - TextOut (dc, x * cw, y * ch, " ", 1); - return; - } - } - break; - default: - { - if (tail->len + 1 > tail->size) - { - tail->size += 16; - tail->text = xrealloc (tail->text, tail->size); - } - - find_console_bottom (&x, &y, &bottom); - tail->text[tail->len++] = c; - if (y < nh) - { - if (!dc) - { - dc = GetDC (wnd); - SelectObject (dc, GetStockObject (ANSI_FIXED_FONT)); - assert (dc); - } - TextOut (dc, x * cw, y * ch, &tail->text[tail->len - 1], 1); - return; - } - } - break; - } - InvalidateRect (wnd, NULL, TRUE); -} - -/* Writes LEN bytes from BUF to the fake console window. */ -int -_blp_console_write (const void *buf, unsigned len) -{ - int i; - - if (!inited) - _blp_console_init (); - for (i = 0; i < len; i++) - writechar (((char *) buf)[i]); - writechar (10000); - return len; -} - -/* Reads one character from the fake console window. A whole line - is read at once, then spoon-fed to the runtime library. */ -#if __BORLANDC__ -#pragma argsused -#endif -int -_blp_console_read (const void *t1, unsigned t2) -{ - static char buf[1024]; - static int len; - static int n; - - MSG msg; - - int c; - - if (!inited) - _blp_console_init (); - if (n < len) - { - *(char *) t1 = buf[n]; - n++; - return 1; - } - - printf ("_"); - len = n = 0; - while (GetMessage ((LPMSG) & msg, NULL, 0, 0)) - { - TranslateMessage ((LPMSG) & msg); - DispatchMessage ((LPMSG) & msg); - - while (hp != tp) - { - c = *(unsigned char *) tp; - if (++tp >= &kbd[MAX_KBD_BUF]) - tp = kbd; - if ((c >= 32 && c < 128) || c == '\b' || c == '\r') - switch (c) - { - case '\b': - if (len <= 0) - break; - printf ("\b\b_"); - len--; - break; - default: - if (len >= 1022) - break; - if (c == '\r') - { - buf[len++] = '\n'; - printf ("\b\n"); - *(char *) t1 = buf[n]; - n++; - return 1; - } - buf[len++] = c; - printf ("\b%c_", c); - break; - } - } - } - len = 0; - return 0; -} - -LRESULT CALLBACK _export _blp_console_wndproc (HWND, UINT, WPARAM, LPARAM); - -void -_blp_console_init (void) -{ - WNDCLASS wc; - - if (inited) - return; - inited = 1; - wc.style = CS_HREDRAW | CS_VREDRAW; - wc.lpfnWndProc = _blp_console_wndproc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 0; - wc.hInstance = (HINSTANCE) _hInstance; - wc.hIcon = LoadIcon (NULL, IDI_APPLICATION); - wc.hCursor = LoadCursor (NULL, IDC_ARROW); - wc.hbrBackground = CreateSolidBrush (RGB (255, 255, 255)); - wc.lpszMenuName = NULL; - wc.lpszClassName = "blp_console"; - if (!RegisterClass (&wc)) - { - MessageBox ((HWND) 0, _("RegisterClass(): returned 0."), - "_blp_console_init()", MB_APPLMODAL | MB_OK); - exit (EXIT_FAILURE); - } - - wnd = CreateWindow ("blp_console", title, WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - CW_USEDEFAULT, NULL, (HMENU) 0, (HINSTANCE) _hInstance, - NULL); - if (!wnd) - { - MessageBox ((HWND) 0, _("CreateWindow(): returned 0."), - "_blp_console_init()", MB_APPLMODAL | MB_OK); - exit (EXIT_FAILURE); - } - - ShowWindow (wnd, _nCmdShow); - - hp = tp = kbd; -} - -LRESULT CALLBACK _export -_blp_console_wndproc (HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) -{ - char s[80]; - - switch (msg) - { - case WM_CREATE: - { - HDC dc = GetDC (hwnd); - TEXTMETRIC tm; - int success; - - SelectObject (dc, GetStockObject (ANSI_FIXED_FONT)); - success = GetTextMetrics (dc, &tm); - assert (success); - cw = tm.tmMaxCharWidth; - ch = tm.tmHeight; - success = ReleaseDC (hwnd, dc); - assert (success); - return 0; - } - case WM_PAINT: - _blp_console_paint (); - return 0; - case WM_CHAR: - { - if (hp + 1 != tp && (hp != &kbd[MAX_KBD_BUF - 1] || tp != kbd)) - { - *hp++ = wp; - if (hp >= &kbd[MAX_KBD_BUF]) - hp = kbd; - } - } - break; - } - return DefWindowProc (hwnd, msg, wp, lp); -} - -static void -find_console_top (line ** top) -{ - int success; - - /* Line count. */ - int lc; - - /* Line iterator. */ - line *iter; - - /* Scratch line. */ - static line temp; - - /* Client rectangle. */ - RECT r; - - success = GetClientRect (wnd, &r); - assert (success); - nw = r.right / cw; - if (nw < 1) - nw = 1; - nh = r.bottom / ch; - if (nh < 1) - nh = 1; - - /* Find the beginning of the text to display. */ - for (lc = 0, iter = tail; iter; iter = iter->prev) - { - if (!iter->len) - lc++; - else - lc += (iter->len / nw) + (iter->len % nw > 0); - if (lc >= nh || !iter->prev) - break; - } - if (lc > nh) - { - temp = *iter; - temp.text += nw * (lc - nh); - temp.len -= nw * (lc - nh); - *top = &temp; - } - else - *top = iter; -} - -static void -find_console_bottom (int *x, int *y, line ** bottom) -{ - find_console_top (bottom); - *x = *y = 0; - if (!*bottom) - return; - while (1) - { - if ((*bottom)->len == 0) - (*y)++; - else - (*y) += ((*bottom)->len / nw) + ((*bottom)->len % nw > 0); - if (!(*bottom)->next) - break; - *bottom = (*bottom)->next; - } - *x = (*bottom)->len % nw; - (*y)--; -} - -void -_blp_console_paint (void) -{ - PAINTSTRUCT ps; - HDC dc; - - /* Current screen location. */ - int x, y; - - /* Current line. */ - line *iter; - - dc = BeginPaint (wnd, &ps); - assert (dc); - - find_console_top (&iter); - - /* Display the text. */ - SelectObject (dc, GetStockObject (ANSI_FIXED_FONT)); - SetTextColor (dc, RGB (0, 0, 0)); - for (y = 0; iter; iter = iter->next) - { - if (!iter->len) - { - y += ch; - continue; - } - for (x = 0; x < iter->len; x += nw) - { - TextOut (dc, 0, y, &iter->text[x], - iter->len - x > nw ? nw : iter->len - x); - y += ch; - } - } - - EndPaint (wnd, &ps); -} - -int main (int argc, char *argv[], char *env[]); - -#if __BORLANDC__ -#pragma argsused -#endif -int CALLBACK -WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int nCmdShow) -{ - int result; - MSG msg; - - char *pgmname = "PSPP"; - - _hInstance = inst; - _hPrev = prev; - _cmdline = cmdline; - _nCmdShow = nCmdShow; - - result = main (1, &pgmname, NULL); - - return result; -} -- 2.30.2