diff --context --recursive --new-file xview3.2p1-X11R6/Build-LinuxXView.bash xview-3.2p1.4/Build-LinuxXView.bash *** xview3.2p1-X11R6/Build-LinuxXView.bash Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/Build-LinuxXView.bash Fri Jun 27 02:36:27 1997 *************** *** 0 **** --- 1,156 ---- + # This script sets up the necessary environment to build XView for Linux. + # It should be sourced by bash or run with one of the arguments shown below. + # If you want to use a installation directory prefix different from /, set + # $INSTPREFIX accordingly. Setting $OPENWINHOME to values != /usr/openwin + # is untested at the moment! + # This script relies on wrappers for make and imake being in the current + # directory. The imake-wrapper appends the file $IMAKEAPPEND to the created + # Makefile if it exists. The make-wrapper simply calls pmake instead of make. + # Don't try to build XView with bash 2.0 installed as /bin/sh -- it will fail + # (due to a bug in X11R6's Imake.rules). Use bash 1.14 or 2.01 instead. + + if ! [ -d lib/libxview ]; then + echo Please change to XView source tree and try again + exit 1 + fi + + # Set the directories that will be used for installation + [ -z "$OPENWINHOME" ] && OPENWINHOME=/usr/openwin + [ -z "$X11DIR" ] && X11DIR=/usr/X11R6 + OWDEST=$INSTPREFIX$OPENWINHOME + X11DEST=$INSTPREFIX$X11DIR/lib/X11/config + + # Generate file that gets appended to every Makefile created by the imake-wrapper + + if [ -n "$BUILDPREFIX" ]; then + IMAKE_EXTRA_INCLUDES="-I$BUILDPREFIX/usr/X11R6/include -I$BUILDPREFIX/usr/include" + IMAKE_EXTRA_LOCAL_LDFLAGS="-L$BUILDPREFIX/usr/X11R6/lib -L$BUILDPREFIX/usr/lib" + fi + cat > imake.append < ../$DIRNAME.bin.tar.gz + ;; + srctar) + rm -f imake.append + DIRNAME="`pwd`" + DIRNAME="${DIRNAME##*/}" + ( + cd .. + chmod -R a+rX,u+w,go-w "$DIRNAME" + tar cv "$DIRNAME" | gzip -9 > $DIRNAME.src.tar.gz + ) + ;; + clean) + rm -f imake.append + [ -e clients/olvwm-4.1/Makefile ] && (cd clients/olvwm-4.1 && make clean) + [ -e Makefile ] && make Clean + find -name Makefile -o -name "*~" -o -name "*.so.*" -o -name "*.so" | xargs -r rm + ;; + diff) + rm -f imake.append + DIRNAME="`pwd`" + DIRNAME="${DIRNAME##*/}" + ( + cd .. + diff --context --recursive --new-file xview3.2p1-X11R6 $DIRNAME | gzip -9 > $DIRNAME.diff.gz + ) + ;; + esac + shift + done diff --context --recursive --new-file xview3.2p1-X11R6/Imakefile xview-3.2p1.4/Imakefile *** xview3.2p1-X11R6/Imakefile Sun Jun 26 03:47:04 1994 --- xview-3.2p1.4/Imakefile Sun Jun 15 20:37:33 1997 *************** *** 13,27 **** WORLDOPTS = /**/# If you want to make only the library, then start the build in the lib /**/# subdirectory. Be sure to do a 'make includes' in images and bitmaps first. ! COREDIRS = lib images bitmaps misc util #if InstallOpenLookFonts FONTSDIR = fonts #else FONTSDIR = #endif CLIENTSDIR = clients ! SUBDIRS = $(COREDIRS) $(FONTSDIR) ! /**/# even if these subdirs are not included in the general rules, be sure to /**/# do a make clean in them. CLEAN_SUBDIRS = clients contrib doc fonts bitmaps images lib misc util --- 13,27 ---- WORLDOPTS = /**/# If you want to make only the library, then start the build in the lib /**/# subdirectory. Be sure to do a 'make includes' in images and bitmaps first. ! COREDIRS = lib images bitmaps misc util config #if InstallOpenLookFonts FONTSDIR = fonts #else FONTSDIR = #endif CLIENTSDIR = clients ! SUBDIRS = $(COREDIRS) $(FONTSDIR) ! /**/# even if these SUBDIRS are not included in the general rules, be sure to /**/# do a make clean in them. CLEAN_SUBDIRS = clients contrib doc fonts bitmaps images lib misc util *************** *** 43,49 **** echo "deleting temporary build directory $(BUILDINCDIR) ..."; \ $(RM) -r $(BUILDINCDIR); \ else exit 0; fi ! $(MKDIRHIER) $(XVDESTDIR) #endif InstallManPage(xview,$(MANDIR)) --- 43,49 ---- echo "deleting temporary build directory $(BUILDINCDIR) ..."; \ $(RM) -r $(BUILDINCDIR); \ else exit 0; fi ! $(MKDIRHIER) $(DESTDIR)$(XVDESTDIR) #endif InstallManPage(xview,$(MANDIR)) *************** *** 149,159 **** @echo "" /**/# ! /**/# Rule to clean all subdirs /**/# Clean:: @echo "" ! @echo "Cleaning for all subdirs..." $(MAKE) $(MFLAGS) 'SUBDIRS=$(CLEAN_SUBDIRS)' clean @echo "Removing temporary build directory ./build" $(RM) -r ./build --- 149,159 ---- @echo "" /**/# ! /**/# Rule to clean all SUBDIRS /**/# Clean:: @echo "" ! @echo "Cleaning for all SUBDIRS..." $(MAKE) $(MFLAGS) 'SUBDIRS=$(CLEAN_SUBDIRS)' clean @echo "Removing temporary build directory ./build" $(RM) -r ./build diff --context --recursive --new-file xview3.2p1-X11R6/README.LinuxELF xview-3.2p1.4/README.LinuxELF *** xview3.2p1-X11R6/README.LinuxELF Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/README.LinuxELF Sun Jun 15 21:50:18 1997 *************** *** 0 **** --- 1,120 ---- + This README describes Linux-patchlevel 4 of XView3.2p1-X11R6, Sun's + OpenLook[tm] compliant graphical user-interface toolkit for Linux/ELF and + the X Window System. + + If you have never heard about XView before, here's a short excerpt of Sun's + README: + XView (X Window-System-based Visual/Integrated Environment for Workstations) + is a user-interface toolkit to support interactive, graphics-based + applications running under the X Window System. XView provides a set of + pre-built, user-interface objects such as canvases, scrollbars, menus, and + control panels. The appearance and functionality of these objects follow + the OPEN LOOK Graphical User Interface (GUI) specification. XView features + an object-oriented style Application Programmer's Interface (API) that is + straightforward and easy to learn. + + + This release is based on Oleg Kibirev's release of XView for Linux/ELF. It + contains patches from Oleg Kibirev (his patches + are based mostly on Kenneth Osterberg's patches), + Wolfram Gloger , E. Zimmermann , + Rainer Wiesner , Sven Rudolph , + Sebastiano Suraci and myself. If you have other patches + for XView-bugs, please send them to me. + + Although I fixed some bugs in cmdtool, there are many more left. The code + for cmdtool is a complete mess and I don't want to waste any more time + fixing it. As such, bug-reports for cmdtool will be ignored unless you also + include a patch. If you want to do yourself a favour, use xterm. :-) + + Changes from earlier versions: + + Patchlevel 4: + o Fixed bug in Notifier that caused cmdtool to dump core when running + fullscreen-programs like vi or emacs. + o ttysw/termsw (cmdtool) now correctly handles NOECHO mode + o NumLock no longer causes X protocol error + o Numeric keypad should work + o Caret now is (re)drawn correctly in PANEL_TEXT_ITEMs + o Fixed bug that caused menu items to become invisible when XView ran out + of colors + o Fixed BadMatch error when using colored icons + o Fixed bug that caused random SIGSEGVs when drawing lines with pixwin + o Fixed olgx bug that caused height miscalculation for PANEL_LABEL_IMAGEs + o olvwm no longer dumps core when no menu-file is found + o olvwm now displays accelerators in its menus + o props no longer complains about missing localization files + o $OPENWINHOME no longer required -- everything now uses /usr/openwin by + default, if $OPENWINHOME is unset + o All installation-rules in the Imake-config-files now use the $DESTDIR- + prefix for the installation-directories + o Using Ncurses, libtermcap is no longer required + o Removed /usr/openwin/bin/sunview (executables now in /usr/openwin/bin, + scripts in /usr/openwin/lib/xview) + o Fixed some compilation problems + + Patchlevel 3 adds the TrueColor-patches for ol(v)wm, fixes the + buffer-overrun problem with cmdtool (that caused cmdtool's output to be + written to the terminal cmdtool was started from), fixes a GC-problem when + using 2D buttons (that showed up when attaching a menu to a canvas using all + 256 colors on a 8 bpp display, for example), fixes a resource problem with + olvwm, changes the default location for the text-extras-menu from /usr/lib + to /usr/openwin/lib and contains some other minor enhancements. Also, olvwm + now is included in the source-package and the diffs only contain the patches + for the additional clients (instead of the whole clients-sourcecode). + + Patchlevel 2 finally fixes the nasty endianess-bug with icons and also + contains some other minor enhancements. Also, I removed the seperate + clients-package and added the sources to my diffs instead. I also merged + Kenneth's diffs to the example-programs that were missing in Oleg's release. + + Patchlevel 1 fixes some bugs that existed in all XView-versions since X11R6 + (some might even be older). They could cause coredumps or other + miscellaneous failures like ignoring the resoure-database and displaying + PANEL_LISTS with wrong colors. It also includes some malloc-related bugfixes + that should allow you to debug XView-apps with Electric Fence. + + + You can find the following files on sunsite.unc.edu in + /pub/Linux/libs/X/xview: + + xview-3.2p1.4.bin.tar.gz: + This is the binary release that contains everything that's required to + use the XView-library. It also contains binaries of the basic XView + clients (olwm, clock, cmdtool and shelltool) and additional clients (props, + textedit and olvwm). The binaries were compiled with libc-5.2.16, + libX11.so.6.0 and libncurses.so.3.0, but should work with later versions as + well. + xview-3.2p1.4.src.tar.gz: + This is the sourcecode for the XView-library with my patches (see below) + applied and the additional clients included. + xview-3.2p1.4.diff.gz: + These are my patches relative to the XView3.2p1-X11R6-release as found on + ftp.x.org. To apply the patches, you first have to install the additional + clients in the 'clients'-directory + xview-3.2p1.4.README: + The file you're reading at the moment + xview-3.2p1.4.lsm: + ...and the LSM-entry + + To install the binary version, do the following: + If you have an old XView-release installed, you might want to move your old + /usr/openwin tree to a save place first. Then cd to / and do a + "tar xvpzf /some/path/xview-3.2p1.4.bin.tar.gz" (as root). After + running "ldconfig /usr/openwin/lib" (and possibly adding /usr/openwin/lib to + /etc/ld.so.config first), you should be able to use the new libraries. + + BTW, I chose version 3.2.4 for the shared libraries. This means that they're + compatible with the old versions---you don't have to recompile your apps to + use the new version (if they were liked against the shared libs, that is). + + To compile XView yourself, please have a look at the bash-script + "Build-LinuxXView.bash" in my source-distribution. If your setup is not too + different from mine, this should do most of the required steps for you. + + HINT TO DISTRIBUTION-MAINTAINERS: + *PLEASE* replace your current XView-packages with this new one. You can save + your users and all programmers of XView-apps a lot of trouble. + + + Martin Buck diff --context --recursive --new-file xview3.2p1-X11R6/bitmaps/Imakefile xview-3.2p1.4/bitmaps/Imakefile *** xview3.2p1-X11R6/bitmaps/Imakefile Tue Jun 29 07:19:37 1993 --- xview-3.2p1.4/bitmaps/Imakefile Sun Jun 15 20:36:55 1997 *************** *** 39,45 **** BuildIncludes($(INCLUDES_SRCS),$(BITMAP_INCDIR),/**/) install:: $(SRCS) ! $(MKDIRHIER) $(HEADER_DEST)/$(BITMAPINC) InstallMultiple($(SRCS),$(HEADER_DEST)/$(BITMAPINC)) --- 39,45 ---- BuildIncludes($(INCLUDES_SRCS),$(BITMAP_INCDIR),/**/) install:: $(SRCS) ! $(MKDIRHIER) $(DESTDIR)$(HEADER_DEST)/$(BITMAPINC) InstallMultiple($(SRCS),$(HEADER_DEST)/$(BITMAPINC)) diff --context --recursive --new-file xview3.2p1-X11R6/clients/Imakefile xview-3.2p1.4/clients/Imakefile *** xview3.2p1-X11R6/clients/Imakefile Tue Jun 29 07:11:58 1993 --- xview-3.2p1.4/clients/Imakefile Mon Apr 28 14:45:12 1997 *************** *** 7,13 **** #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' ! SUBDIRS = clock cmdtool olwm olwmslave DIRS_TO_CREATE = $(SRC_DEST) --- 7,13 ---- #define IHaveSubdirs #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' ! SUBDIRS = clock cmdtool olwm olwmslave props textedit DIRS_TO_CREATE = $(SRC_DEST) diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/Imakefile xview-3.2p1.4/clients/olvwm-4.1/Imakefile *** xview3.2p1-X11R6/clients/olvwm-4.1/Imakefile Sun Nov 10 15:13:44 1996 --- xview-3.2p1.4/clients/olvwm-4.1/Imakefile Sun Jun 15 01:56:20 1997 *************** *** 48,54 **** /**/#MORECCFLAGS=-DOW_I18N_L3 -DSHAPE -DIDENT /**/# For a generic Solaris 2.x system, I'd suggest ! MORECCFLAGS=-DOW_I18N_L3 -DSHAPE -DSVR4 -DSYSV -DIDENT -x O4 /**/# /**/# Set MORELDFLAGS to any link options you want. Be sure to add -lxpm if you --- 48,57 ---- /**/#MORECCFLAGS=-DOW_I18N_L3 -DSHAPE -DIDENT /**/# For a generic Solaris 2.x system, I'd suggest ! /**/#MORECCFLAGS=-DOW_I18N_L3 -DSHAPE -DSVR4 -DSYSV -DIDENT -x O4 ! ! /**/# Linux/ELF ! MORECCFLAGS=-DOW_I18N_L3 -DSHAPE -DXPM -DXVIEW32 -DMAXPID=32768 -I/usr/include/bsd -include /usr/include/bsd/bsd.h -I$(INCROOT)/X11 /**/# /**/# Set MORELDFLAGS to any link options you want. Be sure to add -lxpm if you *************** *** 57,64 **** /**/#MORELDFLAGS=-L${OPENWINHOME}/lib /**/# /**/# For Solaris 2.x, I'd suggest ! MORELDFLAGS=-L${OPENWINHOME}/lib -R ${OPENWINHOME}/lib -lintl /**/# No more changes needed --- 60,71 ---- /**/#MORELDFLAGS=-L${OPENWINHOME}/lib /**/# /**/# For Solaris 2.x, I'd suggest ! /**/#MORELDFLAGS=-L${OPENWINHOME}/lib -R ${OPENWINHOME}/lib -lintl ! /**/#SYS_LIBRARIES = -ll -lm + /**/# Linux/ELF + MORELDFLAGS=-lbsd -lXpm + SYS_LIBRARIES = -lfl -lm /**/# No more changes needed *************** *** 69,75 **** /**/# Imakefile for olwm release 3.0. DEFINES = $(MORECCFLAGS) - SYS_LIBRARIES = -ll -lm INCLUDES = -I$(HEADER_DEST) -I$(TOP) $(XPMINCDIR) DEPLIBS = LOCAL_LIBRARIES = $(MORELDFLAGS) $(OLGXLIB) $(XLIB) --- 76,81 ---- diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/defaults.c xview-3.2p1.4/clients/olvwm-4.1/defaults.c *** xview3.2p1-X11R6/clients/olvwm-4.1/defaults.c Thu Jan 13 22:35:45 1994 --- xview-3.2p1.4/clients/olvwm-4.1/defaults.c Tue Apr 29 20:24:43 1997 *************** *** 90,97 **** --- 90,101 ---- #ifdef SVR4 if (sysinfo(SI_HOSTNAME, hostname, sizeof(hostname)) != -1) { #else + #ifdef __linux + if (0 == gethostname(hostname, sizeof(hostname))) { + #else if (0 == gethostname(hostname, sizeof(hostname), &namelen)) { #endif + #endif (void) strcat(filename, hostname); fileDB = XrmGetFileDatabase(filename); } *************** *** 133,148 **** --- 137,165 ---- #ifdef OW_I18N_L3 char *locale; + #endif + + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!openwinhome) { + openwinhome = OPENWINHOME_DEFAULT; + } + #endif + #ifdef OW_I18N_L3 locale = GRV.lc_basic.locale; if (locale != NULL) { + #ifndef OPENWINHOME_DEFAULT if (openwinhome != NULL) { + #endif (void) sprintf(filename, "%s/lib/locale/%s/app-defaults/Olwm", openwinhome, locale); appDB = XrmGetFileDatabase(filename); if (appDB != NULL) return appDB; + #ifndef OPENWINHOME_DEFAULT } + #endif (void) sprintf(filename, "/usr/lib/X11/app-defaults/%s/Olwm", locale); appDB = XrmGetFileDatabase(filename); *************** *** 151,163 **** --- 168,184 ---- } #endif + #ifndef OPENWINHOME_DEFAULT if (openwinhome != NULL) { + #endif (void) strcpy(filename, openwinhome); (void) strcat(filename, "/lib/app-defaults/Olwm"); appDB = XrmGetFileDatabase(filename); if (appDB != NULL) return appDB; + #ifndef OPENWINHOME_DEFAULT } + #endif appDB = XrmGetFileDatabase("/usr/lib/X11/app-defaults/Olwm"); return appDB; diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/error.c xview-3.2p1.4/clients/olvwm-4.1/error.c *** xview3.2p1-X11R6/clients/olvwm-4.1/error.c Thu Jan 13 22:35:46 1994 --- xview-3.2p1.4/clients/olvwm-4.1/error.c Mon Apr 28 14:45:12 1997 *************** *** 232,239 **** err->resourceid); FPRINTF(stderr, GetString(" serial number of failed request: %d\n"), err->serial); ! FPRINTF(stderr, GetString(" current request serial number: %d\n"), ! dpy->request); } --- 232,239 ---- err->resourceid); FPRINTF(stderr, GetString(" serial number of failed request: %d\n"), err->serial); ! /* FPRINTF(stderr, GetString(" current request serial number: %d\n"), ! dpy->request);*/ } diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/fontset.c xview-3.2p1.4/clients/olvwm-4.1/fontset.c *** xview3.2p1-X11R6/clients/olvwm-4.1/fontset.c Thu Jan 13 22:35:47 1994 --- xview-3.2p1.4/clients/olvwm-4.1/fontset.c Tue Apr 29 20:26:35 1997 *************** *** 195,202 **** --- 195,209 ---- Bool notFound = False; /* look for application default file */ + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!(openWinPath = getenv("OPENWINHOME"))) { + openWinPath = OPENWINHOME_DEFAULT; + } + #else if ((openWinPath = getenv("OPENWINHOME")) != NULL) { + #endif (void) sprintf(filename, "%s/lib/locale/%s/OW_FONT_SETS/%s", openWinPath, locale, FONT_SETS); #ifdef DEBUG *************** *** 204,212 **** --- 211,221 ---- #endif if (access(filename, R_OK) != 0) notFound = True; + #ifndef OPENWINHOME_DEFAULT } else notFound = True; + #endif if (notFound) { diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/menu.c xview-3.2p1.4/clients/olvwm-4.1/menu.c *** xview3.2p1-X11R6/clients/olvwm-4.1/menu.c Thu Jan 13 22:35:51 1994 --- xview-3.2p1.4/clients/olvwm-4.1/menu.c Thu May 1 20:48:15 1997 *************** *** 1095,1101 **** --- 1095,1106 ---- ButtonInfo *bInfo; KeyBinding *binding; + #if 1 + /* Avoid alloc'ing 0 bytes (this might confuse malloc() badly) */ + buttonInfo = MemAlloc(1 + buttonCount * sizeof(ButtonInfo)); + #else buttonInfo = MemAlloc(buttonCount * sizeof(ButtonInfo)); + #endif /* Init each ButtonInfo for each button */ for (bindex = 0; bindex < buttonCount; bindex++) { *************** *** 1303,1309 **** /* Make space for the menu mark (for submenus) or for accelerators. */ ! #ifdef SVR4 if (menuInfo->hasAccelerators) { menuInfo->labelPos = MainLabel_Pos(gisButton, LOC_CURSOR_SIZE + BUTT_HSPACE); --- 1308,1314 ---- /* Make space for the menu mark (for submenus) or for accelerators. */ ! #if defined(SVR4) || defined(XVIEW32) if (menuInfo->hasAccelerators) { menuInfo->labelPos = MainLabel_Pos(gisButton, LOC_CURSOR_SIZE + BUTT_HSPACE); *************** *** 3163,3169 **** state |= OLGX_LABEL_IS_PIXMAP; } ! #ifdef SVR4 if (menuInfo->hasAccelerators) { if (pb->has_submenu) marktype = OLGX_HORIZ_MENU_MARK; --- 3168,3174 ---- state |= OLGX_LABEL_IS_PIXMAP; } ! #if defined(SVR4) || defined(XVIEW32) if (menuInfo->hasAccelerators) { if (pb->has_submenu) marktype = OLGX_HORIZ_MENU_MARK; diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/ol_button.413.c xview-3.2p1.4/clients/olvwm-4.1/ol_button.413.c *** xview3.2p1-X11R6/clients/olvwm-4.1/ol_button.413.c Mon Jan 24 22:46:03 1994 --- xview-3.2p1.4/clients/olvwm-4.1/ol_button.413.c Thu May 1 20:49:04 1997 *************** *** 8,14 **** * a version of olgx 3.2 (from the xview 3.2 release) and don't want to * use this file, change the define here */ ! #ifndef SVR4 /* * Based on --- 8,14 ---- * a version of olgx 3.2 (from the xview 3.2 release) and don't want to * use this file, change the define here */ ! #if !defined(SVR4) && !defined(XVIEW32) /* * Based on diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/ol_button.svr4.c xview-3.2p1.4/clients/olvwm-4.1/ol_button.svr4.c *** xview3.2p1-X11R6/clients/olvwm-4.1/ol_button.svr4.c Thu Jan 13 22:35:53 1994 --- xview-3.2p1.4/clients/olvwm-4.1/ol_button.svr4.c Thu May 1 20:49:15 1997 *************** *** 12,18 **** * */ ! #ifdef SVR4 /* * Copyright 1989-1990 Sun Microsystems See LEGAL_NOTICE for terms of --- 12,18 ---- * */ ! #if defined(SVR4) || defined(XVIEW32) /* * Copyright 1989-1990 Sun Microsystems See LEGAL_NOTICE for terms of diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/olwm.c xview-3.2p1.4/clients/olvwm-4.1/olwm.c *** xview3.2p1-X11R6/clients/olvwm-4.1/olwm.c Thu Jan 13 22:35:54 1994 --- xview-3.2p1.4/clients/olvwm-4.1/olwm.c Tue Apr 29 20:27:30 1997 *************** *** 237,243 **** --- 237,248 ---- if ((OpenWinHome = getenv("OPENWINHOME")) != 0) (void)strcpy(locale_dir,OpenWinHome); else + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + (void)strcpy(locale_dir,OPENWINHOME_DEFAULT); + #else (void)strcpy(locale_dir,"/usr"); + #endif (void)strcat(locale_dir,"/lib/locale"); #ifdef SVR4 bindtextdomain("olwm_messages",locale_dir); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/pixmap.c xview-3.2p1.4/clients/olvwm-4.1/pixmap.c *** xview3.2p1-X11R6/clients/olvwm-4.1/pixmap.c Sun Nov 10 15:13:45 1996 --- xview-3.2p1.4/clients/olvwm-4.1/pixmap.c Tue Apr 29 20:30:08 1997 *************** *** 479,485 **** --- 479,490 ---- int i = 0;; if ((owHome = getenv("OPENWINHOME")) == NULL) + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + owHome = OPENWINHOME_DEFAULT; + #else owHome = "/usr/openwin"; + #endif bitmapSearchPath = (char **)MemAlloc(4 * sizeof(char *)); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/resources.c xview-3.2p1.4/clients/olvwm-4.1/resources.c *** xview3.2p1-X11R6/clients/olvwm-4.1/resources.c Sun Nov 10 15:13:45 1996 --- xview-3.2p1.4/clients/olvwm-4.1/resources.c Thu May 1 20:29:28 1997 *************** *** 562,568 **** &(GRV.VirtualFontColor), cvtString, updVirtualFontColor, 0L }, { "virtualIconic", "VirtualIconic", "False", ! &(GRV.VirtualIconic), cvtString, NULL, RI_IMMUTABLE }, { "virtualSticky", "VirtualSticky", "", &(GRV.StickyList), cvtStringList, NULL, --- 562,568 ---- &(GRV.VirtualFontColor), cvtString, updVirtualFontColor, 0L }, { "virtualIconic", "VirtualIconic", "False", ! &(GRV.VirtualIconic), cvtBoolean, NULL, RI_IMMUTABLE }, { "virtualSticky", "VirtualSticky", "", &(GRV.StickyList), cvtStringList, NULL, *************** *** 1996,2002 **** for (item = table; !(item->flags & RI_LAST_ITEM); ++item) { /* never update an immutable item */ ! if (item->flags & RI_IMMUTABLE) continue; classes[1] = item->classQ; --- 1996,2002 ---- for (item = table; !(item->flags & RI_LAST_ITEM); ++item) { /* never update an immutable item */ ! if ((item->flags & RI_IMMUTABLE) && (flags & SR_UPDATING)) continue; classes[1] = item->classQ; diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/screen.c xview-3.2p1.4/clients/olvwm-4.1/screen.c *** xview3.2p1-X11R6/clients/olvwm-4.1/screen.c Sun Nov 10 15:13:45 1996 --- xview-3.2p1.4/clients/olvwm-4.1/screen.c Tue Apr 29 20:31:14 1997 *************** *** 282,287 **** --- 282,288 ---- case PseudoColor: case GrayScale: case DirectColor: + case TrueColor: return True; /*NOTREACHED*/ break; *************** *** 536,542 **** --- 537,548 ---- int i = 0;; if ((owHome = getenv("OPENWINHOME")) == NULL) + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + owHome = OPENWINHOME_DEFAULT; + #else owHome = "/usr/openwin"; + #endif bitmapSearchPath = (char **)MemAlloc(4 * sizeof(char *)); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/services.c xview-3.2p1.4/clients/olvwm-4.1/services.c *** xview3.2p1-X11R6/clients/olvwm-4.1/services.c Thu Jan 13 22:35:59 1994 --- xview-3.2p1.4/clients/olvwm-4.1/services.c Wed Apr 30 01:53:50 1997 *************** *** 82,88 **** return 1; } else if (pid == 0) { /* child */ ! #ifdef SYSV setpgrp(); #else setpgrp(0, getpid()); --- 82,88 ---- return 1; } else if (pid == 0) { /* child */ ! #if defined(SYSV) || defined(__linux) setpgrp(); #else setpgrp(0, getpid()); *************** *** 200,206 **** --- 200,215 ---- char **env = winInfo->core.client->scrInfo->environment; if ( (dir = getenv( "OPENWINHOME" )) == NULL ) + #ifdef OPENWINHOME_DEFAULT + { + /* martin-2.buck@student.uni-ulm.de */ + strcpy( pshPath, OPENWINHOME_DEFAULT ); + strcat( pshPath, "/bin/psh" ); + commArgv[0] = pshPath; + } + #else commArgv[0] = "/usr/bin/psh"; + #endif else { strcpy( pshPath, dir ); *************** *** 231,237 **** close( pshPipe[1] ); close( 1 ); /* close stdout */ dup( 2 ); /* make olwm stderr = psh stdout */ ! #ifdef SYSV setpgrp(); #else setpgrp(0, getpid()); --- 240,246 ---- close( pshPipe[1] ); close( 1 ); /* close stdout */ dup( 2 ); /* make olwm stderr = psh stdout */ ! #if defined(SYSV) || defined(__linux) setpgrp(); #else setpgrp(0, getpid()); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olvwm-4.1/usermenu.c xview-3.2p1.4/clients/olvwm-4.1/usermenu.c *** xview3.2p1-X11R6/clients/olvwm-4.1/usermenu.c Thu Jan 13 22:36:03 1994 --- xview-3.2p1.4/clients/olvwm-4.1/usermenu.c Thu May 1 19:36:38 1997 *************** *** 466,472 **** --- 466,479 ---- { Button *b = (Button *) MemNew(Button); + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + b->label[0].kind = label0 ? StringLabel : NoType; + #endif b->label[0].string = label0; + #if 1 + b->label[1].kind = label1 ? StringLabel : NoType; + #endif b->label[1].string = label1; b->helpstring[0] = helpstr0; b->helpstring[1] = helpstr1; *************** *** 822,827 **** --- 829,839 ---- } } penv = getenv(envbuff); + #ifdef OPENWINHOME_DEFAULT + if (!penv && !strcmp(envbuff, "OPENWINHOME")) { + penv = OPENWINHOME_DEFAULT; + } + #endif if (penv) { int tmp = strlen(penv); if (haveslash && *penv == '/') { *************** *** 884,890 **** --- 896,906 ---- home = "."; if ((owHome = getenv("OPENWINHOME")) == NULL) + #ifdef OPENWINHOME_DEFAULT + owHome = OPENWINHOME_DEFAULT; + #else owHome = "/usr/openwin"; + #endif menuSearchPath = (char **)MemAlloc(NUM_SEARCH_PATH*sizeof(char *)); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/Imakefile xview-3.2p1.4/clients/olwm/Imakefile *** xview3.2p1-X11R6/clients/olwm/Imakefile Tue Jun 29 07:11:24 1993 --- xview-3.2p1.4/clients/olwm/Imakefile Mon Apr 28 14:45:13 1997 *************** *** 39,45 **** MANPAGES = olwm.man BITMAPS = iconbitmap.h SCRIPTS = ! MISC = openwin-menu SRCS = atom.c client.c cmdstream.c \ --- 39,45 ---- MANPAGES = olwm.man BITMAPS = iconbitmap.h SCRIPTS = ! MISC = openwin-menu openwin-menu-programs SRCS = atom.c client.c cmdstream.c \ diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/defaults.c xview-3.2p1.4/clients/olwm/defaults.c *** xview3.2p1-X11R6/clients/olwm/defaults.c Tue Jun 29 07:11:26 1993 --- xview-3.2p1.4/clients/olwm/defaults.c Tue Apr 29 19:51:33 1997 *************** *** 57,63 **** --- 57,65 ---- char *homedir = getenv("HOME"); char *envfile = getenv("XENVIRONMENT"); char hostname[100]; + #ifndef __linux int namelen; + #endif rsrcstr = GetWindowProperty(dpy, RootWindow(dpy, 0), XA_RESOURCE_MANAGER, 0L, 100000000L, /* REMIND: use ENTIRE_CONTENTS */ *************** *** 80,86 **** --- 82,92 ---- if (homedir != NULL) { (void) strcpy(filename, homedir); (void) strcat(filename, "/.Xdefaults-"); + #ifndef __linux if (0 == gethostname(hostname, sizeof(hostname), &namelen)) { + #else + if (0 == gethostname(hostname, sizeof(hostname))) { + #endif (void) strcat(filename, hostname); fileDB = XrmGetFileDatabase(filename); } *************** *** 122,137 **** --- 128,156 ---- #ifdef OW_I18N_L3 char *locale; + #endif + + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!openwinhome) { + openwinhome = OPENWINHOME_DEFAULT; + } + #endif + #ifdef OW_I18N_L3 locale = GRV.lc_basic.locale; if (locale != NULL) { + #ifndef OPENWINHOME_DEFAULT if (openwinhome != NULL) { + #endif (void) sprintf(filename, "%s/lib/locale/%s/app-defaults/Olwm", openwinhome, locale); appDB = XrmGetFileDatabase(filename); if (appDB != NULL) return appDB; + #ifndef OPENWINHOME_DEFAULT } + #endif (void) sprintf(filename, "/usr/lib/X11/app-defaults/%s/Olwm", locale); appDB = XrmGetFileDatabase(filename); *************** *** 140,152 **** --- 159,175 ---- } #endif + #ifndef OPENWINHOME_DEFAULT if (openwinhome != NULL) { + #endif (void) strcpy(filename, openwinhome); (void) strcat(filename, "/lib/app-defaults/Olwm"); appDB = XrmGetFileDatabase(filename); if (appDB != NULL) return appDB; + #ifndef OPENWINHOME_DEFAULT } + #endif appDB = XrmGetFileDatabase("/usr/lib/X11/app-defaults/Olwm"); return appDB; diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/error.c xview-3.2p1.4/clients/olwm/error.c *** xview3.2p1-X11R6/clients/olwm/error.c Mon Jun 27 00:47:57 1994 --- xview-3.2p1.4/clients/olwm/error.c Tue Apr 29 19:45:07 1997 *************** *** 230,237 **** err->resourceid); FPRINTF(stderr, GetString(" serial number of failed request: %d\n"), err->serial); ! /* FPRINTF(stderr, GetString(" current request serial number: %d\n"), ! dpy->request); */ } --- 230,240 ---- err->resourceid); FPRINTF(stderr, GetString(" serial number of failed request: %d\n"), err->serial); ! #if 0 ! /* How can we find this out in X11R6? martin-2.buck@student.uni-ulm.de */ ! FPRINTF(stderr, GetString(" current request serial number: %d\n"), ! dpy->request); ! #endif } diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/events.c xview-3.2p1.4/clients/olwm/events.c *** xview3.2p1-X11R6/clients/olwm/events.c Tue Jun 29 07:11:29 1993 --- xview-3.2p1.4/clients/olwm/events.c Mon Apr 28 14:45:13 1997 *************** *** 579,585 **** --- 579,587 ---- if (timeout->tv_sec < 0) return False; + #ifndef __linux (void) gettimeofday(&starttime, NULL); + #endif while (1) { FD_ZERO(&rfds); *************** *** 613,622 **** --- 615,627 ---- * return an indication of valid data to the caller, yet also return * a value for the time remaining that is less than or equal to zero. */ + #ifndef __linux + /* Linux: select does the remaining time calculation for us. */ (void) gettimeofday(&curtime, NULL); tvdiff(&starttime, &curtime, &diff1); tvdiff(&diff1, timeout, &diff2); *timeout = diff2; + #endif starttime = curtime; /* diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/fontset.c xview-3.2p1.4/clients/olwm/fontset.c *** xview3.2p1-X11R6/clients/olwm/fontset.c Tue Jun 29 07:11:29 1993 --- xview-3.2p1.4/clients/olwm/fontset.c Tue Apr 29 20:26:33 1997 *************** *** 193,200 **** --- 193,207 ---- Bool notFound = False; /* look for application default file */ + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!(openWinPath = getenv("OPENWINHOME"))) { + openWinPath = OPENWINHOME_DEFAULT; + } + #else if ((openWinPath = getenv("OPENWINHOME")) != NULL) { + #endif (void) sprintf(filename, "%s/lib/locale/%s/OW_FONT_SETS/%s", openWinPath, locale, FONT_SETS); #ifdef DEBUG *************** *** 202,210 **** --- 209,219 ---- #endif if (access(filename, R_OK) != 0) notFound = True; + #ifndef OPENWINHOME_DEFAULT } else notFound = True; + #endif if (notFound) { diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/gettext.c xview-3.2p1.4/clients/olwm/gettext.c *** xview3.2p1-X11R6/clients/olwm/gettext.c Tue Jun 29 07:11:29 1993 --- xview-3.2p1.4/clients/olwm/gettext.c Mon Apr 28 14:45:13 1997 *************** *** 11,16 **** --- 11,20 ---- #include "gettext.h" + #if defined(__linux) && !defined(LC_MESSAGES) + #define LC_MESSAGES LC_RESPONSE + #endif + #ifdef SYSV #define bzero(a,b) memset(a,0,b) #endif diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/mem.c xview-3.2p1.4/clients/olwm/mem.c *** xview3.2p1-X11R6/clients/olwm/mem.c Tue Jun 29 07:11:28 1993 --- xview-3.2p1.4/clients/olwm/mem.c Mon Apr 28 14:45:13 1997 *************** *** 137,142 **** --- 137,147 ---- { void *p; + #ifdef __linux + if (!sz) /* Linux malloc(0) returns NULL, unlike BSD */ + sz = 1; + #endif + if ((p = malloc(sz)) == NULL) ErrorGeneral(GetString("Memory allocation failure.")); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/menu.c xview-3.2p1.4/clients/olwm/menu.c *** xview3.2p1-X11R6/clients/olwm/menu.c Tue Jun 29 07:11:33 1993 --- xview-3.2p1.4/clients/olwm/menu.c Mon Apr 28 14:45:13 1997 *************** *** 1064,1070 **** --- 1064,1075 ---- ButtonInfo *bInfo; KeyBinding *binding; + #if 1 + /* Avoid alloc'ing 0 bytes (this might confuse malloc() badly) */ + buttonInfo = MemAlloc(1 + buttonCount * sizeof(ButtonInfo)); + #else buttonInfo = MemAlloc(buttonCount * sizeof(ButtonInfo)); + #endif /* Init each ButtonInfo for each button */ for (bindex = 0; bindex < buttonCount; bindex++) { diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/olwm.c xview-3.2p1.4/clients/olwm/olwm.c *** xview3.2p1-X11R6/clients/olwm/olwm.c Tue Jun 29 07:11:35 1993 --- xview-3.2p1.4/clients/olwm/olwm.c Tue Apr 29 19:56:54 1997 *************** *** 45,50 **** --- 45,53 ---- #include "error.h" #include "dsdm.h" + #if defined(__linux) && !defined(MAXPID) + #define MAXPID 32767 + #endif typedef void (*VoidFunc)(); *************** *** 221,227 **** --- 224,235 ---- if ((OpenWinHome = getenv("OPENWINHOME")) != 0) (void)strcpy(locale_dir,OpenWinHome); else + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + (void)strcpy(locale_dir,OPENWINHOME_DEFAULT); + #else (void)strcpy(locale_dir,"/usr"); + #endif (void)strcat(locale_dir,"/lib/locale"); bindtextdomain("olwm_messages",locale_dir); textdomain("olwm_messages"); *************** *** 611,616 **** --- 619,628 ---- static void handleChildSignal() { + #ifdef __linux + /* Reinitialize signal catcher */ + signal(SIGCHLD, handleChildSignal); + #endif deadChildren = True; } *************** *** 633,639 **** if (!deadChildren) return; - #ifdef SYSV sighold(SIGCHLD); #else --- 645,650 ---- diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/resources.c xview-3.2p1.4/clients/olwm/resources.c *** xview3.2p1-X11R6/clients/olwm/resources.c Tue Jun 29 07:11:37 1993 --- xview-3.2p1.4/clients/olwm/resources.c Mon Apr 28 14:45:13 1997 *************** *** 40,45 **** --- 40,49 ---- #include "events.h" #include "error.h" + #if defined(__linux) && !defined(LC_MESSAGES) + #define LC_MESSAGES LC_RESPONSE + #endif + /* static data */ static Bool updateWorkspaceBackground; diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/screen.c xview-3.2p1.4/clients/olwm/screen.c *** xview3.2p1-X11R6/clients/olwm/screen.c Tue Jun 29 07:11:39 1993 --- xview-3.2p1.4/clients/olwm/screen.c Tue Apr 29 20:31:15 1997 *************** *** 214,219 **** --- 214,220 ---- case PseudoColor: case GrayScale: case DirectColor: + case TrueColor: return True; /*NOTREACHED*/ break; *************** *** 473,479 **** --- 474,485 ---- int i = 0;; if ((owHome = getenv("OPENWINHOME")) == NULL) + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + owHome = OPENWINHOME_DEFAULT; + #else owHome = "/usr/openwin"; + #endif bitmapSearchPath = (char **)MemAlloc(4 * sizeof(char *)); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/services.c xview-3.2p1.4/clients/olwm/services.c *** xview3.2p1-X11R6/clients/olwm/services.c Tue Jun 29 07:11:40 1993 --- xview-3.2p1.4/clients/olwm/services.c Thu Jun 19 22:36:48 1997 *************** *** 80,86 **** return 1; } else if (pid == 0) { /* child */ ! #ifdef SYSV setpgrp(); #else setpgrp(0, getpid()); --- 80,86 ---- return 1; } else if (pid == 0) { /* child */ ! #if defined(SYSV) || defined(__linux) setpgrp(); #else setpgrp(0, getpid()); *************** *** 198,204 **** --- 198,213 ---- char **env = winInfo->core.client->scrInfo->environment; if ( (dir = getenv( "OPENWINHOME" )) == NULL ) + #ifdef OPENWINHOME_DEFAULT + { + /* martin-2.buck@student.uni-ulm.de */ + strcpy( pshPath, OPENWINHOME_DEFAULT ); + strcat( pshPath, "/bin/psh" ); + commArgv[0] = pshPath; + } + #else commArgv[0] = "/usr/bin/psh"; + #endif else { strcpy( pshPath, dir ); *************** *** 229,235 **** close( pshPipe[1] ); close( 1 ); /* close stdout */ dup( 2 ); /* make olwm stderr = psh stdout */ ! #ifdef SYSV setpgrp(); #else setpgrp(0, getpid()); --- 238,244 ---- close( pshPipe[1] ); close( 1 ); /* close stdout */ dup( 2 ); /* make olwm stderr = psh stdout */ ! #if defined(SYSV) || defined(__linux) setpgrp(); #else setpgrp(0, getpid()); diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwm/slave.c xview-3.2p1.4/clients/olwm/slave.c *** xview3.2p1-X11R6/clients/olwm/slave.c Tue Jun 29 07:11:40 1993 --- xview-3.2p1.4/clients/olwm/slave.c Mon Apr 28 14:45:13 1997 *************** *** 87,96 **** --- 87,100 ---- case 0: /* Slave */ dup2(input[0],0); dup2(output[1],1); + #ifndef __linux if (getrlimit(RLIMIT_NOFILE,&rlimit) == -1) maxfd = 0; else maxfd = rlimit.rlim_cur; + #else + maxfd = sysconf(_SC_OPEN_MAX); + #endif for (fd=3; fdhwMGlassItem, PANEL_LABEL_IMAGE, hw->hwMGlassRender, NULL); + + return True; } /* ---------------------------------------------------------------------- diff --context --recursive --new-file xview3.2p1-X11R6/clients/olwmslave/olwmslave.c xview-3.2p1.4/clients/olwmslave/olwmslave.c *** xview3.2p1-X11R6/clients/olwmslave/olwmslave.c Tue Jun 29 07:11:55 1993 --- xview-3.2p1.4/clients/olwmslave/olwmslave.c Tue Apr 29 20:21:41 1997 *************** *** 73,79 **** --- 73,84 ---- if ((openwinDir = getenv("OPENWINHOME")) != 0) (void)strcpy(localePath,openwinDir); else + #ifndef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + (void)strcpy(localePath,OPENWINHOME_DEFAULT); + #else (void)strcpy(localePath,"/usr/share"); + #endif (void)strcat(localePath,"/lib/locale"); (void)bindtextdomain(domain,localePath); textdomain(domain); diff --context --recursive --new-file xview3.2p1-X11R6/clients/props/l10n_read.c xview-3.2p1.4/clients/props/l10n_read.c *** xview3.2p1-X11R6/clients/props/l10n_read.c Wed Apr 19 08:53:21 1995 --- xview-3.2p1.4/clients/props/l10n_read.c Tue Apr 29 20:36:50 1997 *************** *** 77,84 **** --- 77,100 ---- * Find path for localization configuration files under * $OPENWINHOME/share/locale//props */ + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + if (getenv("OPENWINHOME")) { + sprintf(fullpath, "%s/share/locale/%s/props/%s", + getenv("OPENWINHOME"), locale, file_name); + } else { + #ifdef OPENWINHOME_DEFAULT + sprintf(fullpath, "%s/share/locale/%s/props/%s", + OPENWINHOME_DEFAULT, locale, file_name); + #else + sprintf(fullpath, "%s/share/locale/%s/props/%s", + "/usr/openwin", locale, file_name); + #endif + } + #else sprintf(fullpath, "%s/share/locale/%s/props/%s", getenv("OPENWINHOME"), locale, file_name); + #endif if ((config_file = fopen(fullpath, "r")) == NULL) { diff --context --recursive --new-file xview3.2p1-X11R6/clients/props/props.c xview-3.2p1.4/clients/props/props.c *** xview3.2p1-X11R6/clients/props/props.c Wed Apr 19 08:53:22 1995 --- xview-3.2p1.4/clients/props/props.c Tue Apr 29 20:38:45 1997 *************** *** 810,818 **** --- 810,825 ---- if ((openwin_dir = (char *)getenv("OPENWINHOME")) == NULL) { + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + openwin_dir = OPENWINHOME_DEFAULT; + #else fprintf(stderr, LOCALIZE("%s: $OPENWINHOME has not been set\n"), argv[0]); + #endif } + #ifndef OPENWINHOME_DEFAULT else + #endif { strcpy(localepath, openwin_dir); strcat(localepath, "/lib/locale/"); diff --context --recursive --new-file xview3.2p1-X11R6/clients/textedit/textedit.c xview-3.2p1.4/clients/textedit/textedit.c *** xview3.2p1-X11R6/clients/textedit/textedit.c Wed Apr 19 08:53:24 1995 --- xview-3.2p1.4/clients/textedit/textedit.c Thu May 1 20:54:57 1997 *************** *** 819,825 **** /* * Setup signal handlers. */ ! /*!!! (void)notify_set_signal_func(base_frame, mysigproc, SIGINT, NOTIFY_ASYNC); #if !defined(__linux) || defined(SIGXCPU) (void)notify_set_signal_func(base_frame, mysigproc, SIGXCPU, NOTIFY_ASYNC); #endif --- 819,825 ---- /* * Setup signal handlers. */ ! (void)notify_set_signal_func(base_frame, mysigproc, SIGINT, NOTIFY_ASYNC); #if !defined(__linux) || defined(SIGXCPU) (void)notify_set_signal_func(base_frame, mysigproc, SIGXCPU, NOTIFY_ASYNC); #endif *************** *** 830,836 **** (void)notify_set_signal_func(base_frame, mysigproc, SIGILL, NOTIFY_ASYNC); (void)notify_set_signal_func(base_frame, mysigproc, SIGSEGV, NOTIFY_ASYNC); (void)notify_set_signal_func(base_frame, mysigproc, SIGFPE, NOTIFY_ASYNC); - !!!*/ /* * Install us in tree of windows */ --- 830,835 ---- diff --context --recursive --new-file xview3.2p1-X11R6/config/Imakefile xview-3.2p1.4/config/Imakefile *** xview3.2p1-X11R6/config/Imakefile Tue Jun 29 07:13:02 1993 --- xview-3.2p1.4/config/Imakefile Mon Apr 28 14:45:13 1997 *************** *** 8,17 **** /**/# config directory /**/# @(#)Imakefile 1.9 28 Jun 1993 SMI ! XVFILES = XView.cf XView.lib XView.obj XView.rules XView.tmpl library.tmpl CFFILES = $(XVFILES) $(HEADERS) InstallMultipleDestFlags(install,$(CFFILES),$(CONFIGDIR),$(INSTDATFLAGS)) depend:: --- 8,20 ---- /**/# config directory /**/# @(#)Imakefile 1.9 28 Jun 1993 SMI ! #XVFILES = XView.cf XView.lib XView.obj XView.rules XView.tmpl library.tmpl ! XVFILES = XView.cf XView.lib XView.obj XView.rules XView.tmpl XView.prog CFFILES = $(XVFILES) $(HEADERS) InstallMultipleDestFlags(install,$(CFFILES),$(CONFIGDIR),$(INSTDATFLAGS)) + + all:: depend:: diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.cf xview-3.2p1.4/config/XView.cf *** xview3.2p1-X11R6/config/XView.cf Mon Jun 27 04:09:01 1994 --- xview-3.2p1.4/config/XView.cf Wed Apr 30 03:01:29 1997 *************** *** 47,52 **** --- 47,63 ---- * can be overridden in the site.def file. * ****************************************************************************/ + /* + * Enable Linux-specific behaviour + */ + #if defined(LinuxArchitecture) || defined(linux) + #undef __linux + #define __linux 1 + #endif + #if defined(i386Architecture) || defined(i386) + #undef __i386 + #define __i386 1 + #endif /****************************************************************************/ /* * If you have Open Windows release 2.0 or greater distribution from Sun *************** *** 74,90 **** * See also InstallInOpenwinHome. * */ ! #if HasOpenWindows # ifndef OpenWindowsHome # define OpenWindowsHome $$OPENWINHOME # endif ! #endif /* * When you have permission to install a file into $OPENWINHOME, * set the following value to YES for PostScript files. */ #ifndef InstallInOpenwinHome ! #define InstallInOpenwinHome NO #endif /* * Where to install the XView distribution. --- 85,101 ---- * See also InstallInOpenwinHome. * */ ! /* #if HasOpenWindows */ # ifndef OpenWindowsHome # define OpenWindowsHome $$OPENWINHOME # endif ! /* #endif */ /* * When you have permission to install a file into $OPENWINHOME, * set the following value to YES for PostScript files. */ #ifndef InstallInOpenwinHome ! #define InstallInOpenwinHome YES #endif /* * Where to install the XView distribution. *************** *** 101,107 **** * the appropriate value. */ #ifndef XVDestDir ! #define XVDestDir /usr/X11/xview #endif /* * Command to add object modules to the library. --- 112,118 ---- * the appropriate value. */ #ifndef XVDestDir ! #define XVDestDir /usr/openwin #endif /* * Command to add object modules to the library. *************** *** 139,145 **** * installed in $(DESTDIR)/lib/X11/config (aka $(CONFIGDIR)). */ #ifndef OnlyNeedsNewXViewConfigInstalled ! #define OnlyNeedsNewXViewConfigInstalled NO #endif /* * If you would like the XView man pages to be installed in --- 150,156 ---- * installed in $(DESTDIR)/lib/X11/config (aka $(CONFIGDIR)). */ #ifndef OnlyNeedsNewXViewConfigInstalled ! #define OnlyNeedsNewXViewConfigInstalled YES #endif /* * If you would like the XView man pages to be installed in *************** *** 177,183 **** * scripts, set the following value to YES below. */ #ifndef InstallConversion ! #define InstallConversion NO #endif /* * If you are using SunOS 3.5 or another 4.2 BSD based operating system, --- 188,194 ---- * scripts, set the following value to YES below. */ #ifndef InstallConversion ! #define InstallConversion YES #endif /* * If you are using SunOS 3.5 or another 4.2 BSD based operating system, *************** *** 195,201 **** # if PreR4Server # define LibXViewDefines -DPRE_R4_ICCCM # else ! # define LibXViewDefines -DFULL_R5 -I$(OPENWINHOME)/include -DSUNOS41 -DX11R6 # endif #endif /* --- 206,220 ---- # if PreR4Server # define LibXViewDefines -DPRE_R4_ICCCM # else ! # ifdef __linux ! # ifdef __i386 ! # define LibXViewDefines -I$(OPENWINHOME)/include -DX11R6 -Di386 -DOPENWINHOME_DEFAULT=\"$(OPENWINHOME)\" ! # else ! # define LibXViewDefines -I$(OPENWINHOME)/include -DX11R6 -DOPENWINHOME_DEFAULT=\"$(OPENWINHOME)\" ! # endif ! # else ! # define LibXViewDefines -DFULL_R5 -I$(OPENWINHOME)/include -DSUNOS41 -DX11R6 ! # endif # endif #endif /* *************** *** 259,265 **** * following variable to YES. */ #ifndef InstallAllImages ! #define InstallAllImages NO #endif /* * If you do not already have the textsw extras menu installed in --- 278,284 ---- * following variable to YES. */ #ifndef InstallAllImages ! #define InstallAllImages YES #endif /* * If you do not already have the textsw extras menu installed in *************** *** 360,366 **** * be defined as -PIC */ #ifndef PositionIndependentCodeFlag ! #define PositionIndependentCodeFlag -PIC #endif /* --- 379,385 ---- * be defined as -PIC */ #ifndef PositionIndependentCodeFlag ! #define PositionIndependentCodeFlag -fPIC #endif /* diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.lib xview-3.2p1.4/config/XView.lib *** xview3.2p1-X11R6/config/XView.lib Tue Jun 29 07:13:03 1993 --- xview-3.2p1.4/config/XView.lib Sun Jun 15 20:23:52 1997 *************** *** 6,12 **** #include BandAidCompiler #endif install:: ! $(MKDIRHIER) $(LIBRARY_DEST) #if DebugLibXView InstallLibraryNoBuild(${LIBTARGET}_d,$(LIBRARY_DEST)) --- 6,12 ---- #include BandAidCompiler #endif install:: ! $(MKDIRHIER) $(DESTDIR)$(LIBRARY_DEST) #if DebugLibXView InstallLibraryNoBuild(${LIBTARGET}_d,$(LIBRARY_DEST)) *************** *** 18,24 **** #if SharedLibXView # if SortObjects ! SubdirBuildSortedSharedLibraryTarget(${LIBTARGET},${SOREV},$(TEXT_OBJS) $(SPECIAL_OBJS), $(SHARED_DIR),$(OBJSORT),$(OBJLIST)) # else SubdirBuildNormalSharedLibraryTarget(${LIBTARGET},${SOREV},$(TEXT_OBJS) $(SPECIAL_OBJS),$(SHARED_DIR)) # endif --- 18,24 ---- #if SharedLibXView # if SortObjects ! SubdirBuildSortedSharedLibraryTarget(${LIBTARGET},${SOREV},$(TEXT_OBJS) $(SPECIAL_OBJS),$(SHARED_DIR),$(OBJSORT),$(OBJLIST)) # else SubdirBuildNormalSharedLibraryTarget(${LIBTARGET},${SOREV},$(TEXT_OBJS) $(SPECIAL_OBJS),$(SHARED_DIR)) # endif *************** *** 29,35 **** InstallSharedLibraryNoBuild(${LIBTARGET},${SOREV},$(LIBRARY_DEST)) #endif ! InstallLibraryNoBuild(${LIBTARGET}, $(LIBRARY_DEST)) SubdirLintLibraryBuild(${LIBTARGET},lint) InstallLintLibrary(${LIBTARGET},$(LINT_LIBRARY_DEST)) --- 29,35 ---- InstallSharedLibraryNoBuild(${LIBTARGET},${SOREV},$(LIBRARY_DEST)) #endif ! InstallLibraryNoBuild(${LIBTARGET},$(LIBRARY_DEST)) SubdirLintLibraryBuild(${LIBTARGET},lint) InstallLintLibrary(${LIBTARGET},$(LINT_LIBRARY_DEST)) diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.obj xview-3.2p1.4/config/XView.obj *** xview3.2p1-X11R6/config/XView.obj Tue Jun 29 07:13:03 1993 --- xview-3.2p1.4/config/XView.obj Sun Jun 15 19:28:41 1997 *************** *** 54,62 **** * data. */ #if SharedLibXView ! # if SubdirHasTextObjs SubdirNormalSharedLibraryTarget(${LIBTARGET},${SOREV},$(TEXT_OBJS) $(SPECIAL_OBJS),$(SHARED_DIR),shared) ! # endif # if SubdirHasDataObjs # if DebugLibXView SubdirSpecialSharedAndDebuggedObjectRule($(DATA_OBJS),/**/,/**/) --- 54,69 ---- * data. */ #if SharedLibXView ! ! #ifdef __linux ! SubdirNormalSharedLibraryTarget(${LIBTARGET},${SOREV},$(OBJS),$(SHARED_DIR),shared) ! ! #else /* __linux */ ! ! #if SubdirHasTextObjs SubdirNormalSharedLibraryTarget(${LIBTARGET},${SOREV},$(TEXT_OBJS) $(SPECIAL_OBJS),$(SHARED_DIR),shared) ! #endif ! # if SubdirHasDataObjs # if DebugLibXView SubdirSpecialSharedAndDebuggedObjectRule($(DATA_OBJS),/**/,/**/) *************** *** 65,80 **** --- 72,94 ---- # endif SubdirNormalSharedLibraryDataTarget(${LIBTARGET},${SOREV},$(DATA_OBJS),$(UNSHARED_DIR),.) # endif + + #endif /* __linux */ + + # if DebugLibXView SubdirDebuggedLibTarget(${LIBTARGET},$(OBJS)) # endif + #else + # if DebugLibXView SubdirDebuggedLibTarget(${LIBTARGET},$(OBJS)) # endif # if ProfileLibXView SubdirProfiledLibTarget(${LIBTARGET},$(OBJS)) # endif + #endif SubdirNormalLibTarget(${LIBTARGET},$(OBJS)) *************** *** 88,101 **** BuildIncludes($(HDRSPUBLIC),$(PUB_INCDIR),/**/) install:: ! $(MKDIRHIER) $(PUB_HEADER_DEST) InstallMultiple($(HDRSPUBLIC),$(PUB_HEADER_DEST)) # else BuildIncludes($(HDRSPUBLIC),$(XVPUB_INCDIR),/**/) install:: ! $(MKDIRHIER) $(XVPUB_HEADER_DEST) InstallMultiple($(HDRSPUBLIC),$(XVPUB_HEADER_DEST)) # endif --- 102,115 ---- BuildIncludes($(HDRSPUBLIC),$(PUB_INCDIR),/**/) install:: ! $(MKDIRHIER) $(DESTDIR)$(PUB_HEADER_DEST) InstallMultiple($(HDRSPUBLIC),$(PUB_HEADER_DEST)) # else BuildIncludes($(HDRSPUBLIC),$(XVPUB_INCDIR),/**/) install:: ! $(MKDIRHIER) $(DESTDIR)$(XVPUB_HEADER_DEST) InstallMultiple($(HDRSPUBLIC),$(XVPUB_HEADER_DEST)) # endif *************** *** 110,121 **** # if InstallPrivateHeaders # if NotLibXView install:: ! $(MKDIRHIER) $(PRI_HEADER_DEST) InstallMultiple($(HDRSPRIVATE),$(PRI_HEADER_DEST)) # else install:: ! $(MKDIRHIER) $(XVPRI_HEADER_DEST) InstallMultiple($(HDRSPRIVATE),$(XVPRI_HEADER_DEST)) # endif --- 124,135 ---- # if InstallPrivateHeaders # if NotLibXView install:: ! $(MKDIRHIER) $(DESTDIR)$(PRI_HEADER_DEST) InstallMultiple($(HDRSPRIVATE),$(PRI_HEADER_DEST)) # else install:: ! $(MKDIRHIER) $(DESTDIR)$(XVPRI_HEADER_DEST) InstallMultiple($(HDRSPRIVATE),$(XVPRI_HEADER_DEST)) # endif diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.prog xview-3.2p1.4/config/XView.prog *** xview3.2p1-X11R6/config/XView.prog Tue Jun 29 07:13:03 1993 --- xview-3.2p1.4/config/XView.prog Sun Jun 15 20:28:36 1997 *************** *** 4,18 **** #if HasInfoFiles install:: ! $(MKDIRHIER) $(HELP_DEST) InstallNonExecList($(INFOFILES),$(HELP_DEST)) #endif #if InstallSrcs ! MakeDirectories(install, $(SRC_DEST)/examples/bin) InstallMultiple($(PROGRAMS),$(SRC_DEST)/examples/bin) ! MakeDirectories(install.srcs, $(SRC_DEST)/$(LOCATION)) InstallExampleSrcs($(INSTALL_SRCS),$(MAKEFILE_SIMPLE),$(SRC_DEST)/$(LOCATION)) #else install.srcs:: --- 4,18 ---- #if HasInfoFiles install:: ! $(MKDIRHIER) $(DESTDIR)$(HELP_DEST) InstallNonExecList($(INFOFILES),$(HELP_DEST)) #endif #if InstallSrcs ! MakeDirectories(install,$(SRC_DEST)/examples/bin) InstallMultiple($(PROGRAMS),$(SRC_DEST)/examples/bin) ! MakeDirectories(install.srcs,$(SRC_DEST)/$(LOCATION)) InstallExampleSrcs($(INSTALL_SRCS),$(MAKEFILE_SIMPLE),$(SRC_DEST)/$(LOCATION)) #else install.srcs:: *************** *** 23,26 **** install.man:: DependTarget() - LintTarget() --- 23,25 ---- diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.rules xview-3.2p1.4/config/XView.rules *** xview3.2p1-X11R6/config/XView.rules Tue Jun 29 07:13:03 1993 --- xview-3.2p1.4/config/XView.rules Sun Jun 15 20:28:28 1997 *************** *** 83,90 **** #ifndef InstallLibraryNoBuild #define InstallLibraryNoBuild(libname,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTLIBFLAGS) lib/**/libname.a dest @@\ ! -$(RANLIB) $(RANLIBINSTFLAGS) dest/lib/**/libname.a #endif /* InstallLibraryNoBuild */ --- 83,90 ---- #ifndef InstallLibraryNoBuild #define InstallLibraryNoBuild(libname,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTLIBFLAGS) lib/**/libname.a $(DESTDIR)dest @@\ ! -$(RANLIB) $(RANLIBINSTFLAGS) $(DESTDIR)dest/lib/**/libname.a #endif /* InstallLibraryNoBuild */ *************** *** 93,99 **** #ifndef InstallLibraryNoBuild #define InstallLibraryNoBuild(libname,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTLIBFLAGS) lib/**/libname.a dest #endif /* InstallLibraryNoBuild */ #endif /* DoRanlibCmd */ --- 93,99 ---- #ifndef InstallLibraryNoBuild #define InstallLibraryNoBuild(libname,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTLIBFLAGS) lib/**/libname.a $(DESTDIR)dest #endif /* InstallLibraryNoBuild */ #endif /* DoRanlibCmd */ *************** *** 121,126 **** --- 121,129 ---- * unneeded data modules from the ./shared directory. */ #ifndef SubdirNormalSharedLibraryDataTarget + #ifdef __linux + #define SubdirNormalSharedLibraryDataTarget(libname,rev,salist,dir,sub) + #else /* __linux */ #define SubdirNormalSharedLibraryDataTarget(libname,rev,salist,dir,sub) @@\ AllTarget(lib/**/libname.sa.rev) @@\ @@\ *************** *** 130,135 **** --- 133,139 ---- for i in salist; do \ @@\ (set -x; $(CP) sub/$$i dir; $(CP) shared/$$i $(SHARED_DIR)); done + #endif /* !__linux */ #endif /* SubdirNormalSharedLibraryDataTarget */ *************** *** 141,146 **** --- 145,167 ---- * included in both the .so and the .sa parts of the library. */ #ifndef SubdirBuildNormalSharedLibraryTarget + #ifdef __linux + + #define SubdirBuildNormalSharedLibraryTarget(libname,rev,solist,sodir) @@\ + AllTarget(lib/**/libname.so.rev) @@\ + @@\ + lib/**/libname.so.rev:: solist @@\ + $(RM) $@~ @@\ + (cd sodir; $(CC) -shared -Wl,-soname -Wl,`basename $@ | sed 's/\(\.[0-9]\).*$$/\1/'` -o $@~ ?*.o) @@\ + $(RM) $@ @@\ + $(MV) sodir/$@~ $@ @@\ + @@\ + @@\ + clean:: @@\ + $(RM) lib/**/libname.so.rev sodir/?*.o + + #else /* __linux */ + #define SubdirBuildNormalSharedLibraryTarget(libname,rev,solist,sodir) @@\ AllTarget(lib/**/libname.so.rev) @@\ @@\ *************** *** 156,161 **** --- 177,184 ---- clean:: @@\ $(RM) lib/**/libname.so.rev sodir/?*.o strings* + #endif /* !__linux */ + #endif /* SubdirBuildNormalSharedLibraryTarget */ /* *************** *** 167,172 **** --- 190,202 ---- * sorting script and a list of objects to sort. */ #ifndef SubdirBuildSortedSharedLibraryTarget + #ifdef __linux + + #define SubdirBuildSortedSharedLibraryTarget(libname,rev,solist,sodir,objsort,objlist) \ + SubdirBuildNormalSharedLibraryTarget(libname,rev,solist,sodir) + + #else /* __linux */ + #define SubdirBuildSortedSharedLibraryTarget(libname,rev,solist,sodir,objsort,objlist) @@\ AllTarget(lib/**/libname.so.rev) @@\ @@\ *************** *** 183,188 **** --- 213,219 ---- clean:: @@\ $(RM) lib/**/libname.so.rev sodir/?*.o strings* xstrings* + #endif /* !__linux */ #endif /* SubdirBuildSortedSharedLibraryTarget */ /* *************** *** 194,199 **** --- 225,236 ---- #if DoRanlibCmd #ifndef SubdirBuildNormalSharedLibraryDataTarget + + #ifdef __linux + #define SubdirBuildNormalSharedLibraryDataTarget(libname,rev,sadir) + + #else /* __linux */ + #define SubdirBuildNormalSharedLibraryDataTarget(libname,rev,sadir) @@\ AllTarget(lib/**/libname.sa.rev) @@\ @@\ *************** *** 207,217 **** --- 244,258 ---- clean:: @@\ $(RM) lib/**/libname.sa.rev sadir/?*.o + #endif /* !__linux */ #endif /* SubdirBuildNormalSharedLibraryDataTarget */ #else /* DoRanlibCmd */ #ifndef SubdirBuildNormalSharedLibraryDataTarget + #ifdef __linux + #define SubdirBuildNormalSharedLibraryDataTarget(libname,rev,sadir) + #else /* __linux */ #define SubdirBuildNormalSharedLibraryDataTarget(libname,rev,sadir) @@\ AllTarget(lib/**/libname.sa.rev) @@\ @@\ *************** *** 226,231 **** --- 267,273 ---- #endif /* SubdirBuildNormalSharedLibraryDataTarget */ + #endif /* !__linux */ #endif /* DoRanlibCmd */ /* *************** *** 338,350 **** * InstallSharedLibraryDataNoBuild - rules to install the shared library data * Check if ranlib is needed */ #if DoRanlibCmd #ifndef InstallSharedLibraryDataNoBuild #define InstallSharedLibraryDataNoBuild(libname,rev,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.sa.rev dest @@\ ! -$(RANLIB) $(RANLIBINSTFLAGS) dest/lib/**/libname.sa.rev #endif /* InstallSharedLibraryDataNoBuild */ --- 380,395 ---- * InstallSharedLibraryDataNoBuild - rules to install the shared library data * Check if ranlib is needed */ + #ifdef __linux + #define InstallSharedLibraryDataNoBuild(libname,rev,dest) + #else /* __linux */ #if DoRanlibCmd #ifndef InstallSharedLibraryDataNoBuild #define InstallSharedLibraryDataNoBuild(libname,rev,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.sa.rev $(DESTDIR)dest @@\ ! -$(RANLIB) $(RANLIBINSTFLAGS) $(DESTDIR)dest/lib/**/libname.sa.rev #endif /* InstallSharedLibraryDataNoBuild */ *************** *** 354,374 **** #ifndef InstallSharedLibraryDataNoBuild #define InstallSharedLibraryDataNoBuild(libname,rev,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.sa.rev dest #endif /* InstallSharedLibraryDataNoBuild */ #endif /* DoRanlibCmd */ /* * InstallSharedLibraryNoBuild - generate rules to install the shared library. */ #ifndef InstallSharedLibraryNoBuild ! #define InstallSharedLibraryNoBuild(libname,rev,dest) @@\ install:: @@\ ! $(RM) /dest/lib/**/libname.so @@\ ! $(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.so.rev dest @@\ ! (cd dest; $(LN) lib/**/libname.so.rev lib/**/libname.so) #endif /* InstallSharedLibraryNoBuild */ --- 399,421 ---- #ifndef InstallSharedLibraryDataNoBuild #define InstallSharedLibraryDataNoBuild(libname,rev,dest) @@\ install:: @@\ ! -$(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.sa.rev $(DESTDIR)dest #endif /* InstallSharedLibraryDataNoBuild */ #endif /* DoRanlibCmd */ + #endif /* __linux */ /* * InstallSharedLibraryNoBuild - generate rules to install the shared library. */ #ifndef InstallSharedLibraryNoBuild ! #define InstallSharedLibraryNoBuild(libname,rev,dest) @@\ install:: @@\ ! $(RM) $(DESTDIR)dest/lib/**/libname.so @@\ ! $(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.so.rev $(DESTDIR)dest @@\ ! (cd $(DESTDIR)dest && $(LN) lib/**/libname.so.rev lib/**/libname.so) @@\ ! (PATH=$$PATH:/sbin:/usr/sbin && ldconfig -v -N -l $(DESTDIR)dest/lib/**/libname.so.rev) #endif /* InstallSharedLibraryNoBuild */ *************** *** 437,443 **** */ #ifndef PopulateSubdirs #define PopulateSubdirs(dirs) @@\ ! NamedTargetSubdirs(populate,dirs,"populating", /**/,populate) #endif /* PopulateSubdirs */ /* --- 484,490 ---- */ #ifndef PopulateSubdirs #define PopulateSubdirs(dirs) @@\ ! NamedTargetSubdirs(populate,dirs,"populating",/**/,populate) #endif /* PopulateSubdirs */ /* *************** *** 475,483 **** for i in srcs ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) dest/$$i dest/.$$i; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i dest ; \ @@\ ! ( cd dest; $(MV) $$i .$$i; $(LN) .$$i $$i ); \ @@\ done #endif /* InstallSupportList */ --- 522,530 ---- for i in srcs ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) $(DESTDIR)dest/$$i $(DESTDIR)dest/.$$i; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i $(DESTDIR)dest ; \ @@\ ! ( cd $(DESTDIR)dest; $(MV) $$i .$$i; $(LN) .$$i $$i ); \ @@\ done #endif /* InstallSupportList */ *************** *** 491,498 **** for i in srcs ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) dest/$$i ; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i dest ; \ @@\ done #endif /* InstallNonExecList */ --- 538,545 ---- for i in srcs ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) $(DESTDIR)dest/$$i ; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i $(DESTDIR)dest ; \ @@\ done #endif /* InstallNonExecList */ *************** *** 506,516 **** for i in files ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) dest/$$i ; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i dest ; \ @@\ done @@\ ! $(RM) dest/Makefile ; @@\ ! $(INSTALL) -c $(INSTDATFLAGS) makefile dest/Makefile #endif /* InstallExampleSrcs */ /* --- 553,563 ---- for i in files ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) $(DESTDIR)dest/$$i ; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i $(DESTDIR)dest ; \ @@\ done @@\ ! $(RM) $(DESTDIR)dest/Makefile ; @@\ ! $(INSTALL) -c $(INSTDATFLAGS) makefile $(DESTDIR)dest/Makefile #endif /* InstallExampleSrcs */ /* *************** *** 524,531 **** for i in files ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) dest/$$i ; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i dest ; \ @@\ done #endif /* InstallExampleSrcsNoMakefile */ --- 571,578 ---- for i in files ;\ @@\ do \ @@\ echo "installing $$i"; \ @@\ ! $(RM) $(DESTDIR)dest/$$i ; \ @@\ ! $(INSTALL) -c $(INSTDATFLAGS) $$i $(DESTDIR)dest ; \ @@\ done #endif /* InstallExampleSrcsNoMakefile */ *************** *** 534,539 **** */ #ifndef InstallSrcsSubdirs #define InstallSrcsSubdirs(dirs) @@\ ! NamedTargetSubdirs(install.srcs,dirs,"installing srcs", /**/,install.srcs) #endif /* InstallSrcsSubdirs */ --- 581,586 ---- */ #ifndef InstallSrcsSubdirs #define InstallSrcsSubdirs(dirs) @@\ ! NamedTargetSubdirs(install.srcs,dirs,"installing srcs",/**/,install.srcs) #endif /* InstallSrcsSubdirs */ diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.rules.xstr xview-3.2p1.4/config/XView.rules.xstr *** xview3.2p1-X11R6/config/XView.rules.xstr Tue Jun 29 07:13:04 1993 --- xview-3.2p1.4/config/XView.rules.xstr Mon Apr 28 14:45:14 1997 *************** *** 385,393 **** #ifndef InstallSharedLibraryNoBuild #define InstallSharedLibraryNoBuild(libname,rev,dest) @@\ install:: @@\ ! $(RM) /dest/lib/**/libname.so @@\ $(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.so.rev dest @@\ ! (cd dest; $(LN) lib/**/libname.so.rev lib/**/libname.so) #endif /* InstallSharedLibraryNoBuild */ --- 385,393 ---- #ifndef InstallSharedLibraryNoBuild #define InstallSharedLibraryNoBuild(libname,rev,dest) @@\ install:: @@\ ! $(RM) /dest/lib/**/libname.so @@\ $(INSTALL) -c $(INSTSHAREDLIBFLAGS) lib/**/libname.so.rev dest @@\ ! (cd dest; $(LN) lib/**/libname.so.rev lib/**/libname.so) #endif /* InstallSharedLibraryNoBuild */ diff --context --recursive --new-file xview3.2p1-X11R6/config/XView.tmpl xview-3.2p1.4/config/XView.tmpl *** xview3.2p1-X11R6/config/XView.tmpl Mon Jun 27 04:09:42 1994 --- xview-3.2p1.4/config/XView.tmpl Thu Jun 19 23:12:11 1997 *************** *** 95,129 **** /* * Work around small conflict with Project.tmpl file */ #if UseInstalled ! MKDIRHIER = BourneShell BinDir/mkdirhier #endif #if OsHasLocale ! LOCALE_DEFINES = -DOS_HAS_LOCALE #endif #if OsHasMmap ! MMAP_DEFINES = -DOS_HAS_MMAP #endif #if XvUseAllocFuncs ! XV_ALLOC_DEFINES = -DXV_USE_ALLOC_FUNCS #endif #if XvNoStrdup ! XV_STRDUP_DEFINES = -DXV_NO_STRDUP #endif #if SharedLibXView ! XV_CFLAGS.optimized = ! XV_CFLAGS.shared = -DDYNAMICLIB #else ! XV_CFLAGS.optimized = -DOPTIMIZED ! XV_CFLAGS.shared = #endif ! DEFINES = $(LOCALE_DEFINES) $(MMAP_DEFINES) $(XV_ALLOC_DEFINES) \ ! $(XV_STRDUP_DEFINES) $(XV_CFLAGS.optimized) $(XV_CFLAGS.shared) #ifdef XVDestDir XVDESTDIR = XVDestDir --- 95,131 ---- /* * Work around small conflict with Project.tmpl file */ + #ifndef __linux #if UseInstalled ! MKDIRHIER = BourneShell BinDir/mkdirhier ! #endif #endif #if OsHasLocale ! LOCALE_DEFINES = -DOS_HAS_LOCALE #endif #if OsHasMmap ! MMAP_DEFINES = -DOS_HAS_MMAP #endif #if XvUseAllocFuncs ! XV_ALLOC_DEFINES = -DXV_USE_ALLOC_FUNCS #endif #if XvNoStrdup ! XV_STRDUP_DEFINES = -DXV_NO_STRDUP #endif #if SharedLibXView ! XV_CFLAGS.optimized = ! XV_CFLAGS.shared = -DDYNAMICLIB #else ! XV_CFLAGS.optimized = -DOPTIMIZED ! XV_CFLAGS.shared = #endif ! DEFINES = $(LOCALE_DEFINES) $(MMAP_DEFINES) $(XV_ALLOC_DEFINES) \ ! $(XV_STRDUP_DEFINES) $(XV_CFLAGS.optimized) $(XV_CFLAGS.shared) #ifdef XVDestDir XVDESTDIR = XVDestDir *************** *** 356,365 **** #if SystemV4 SYSV_CLIENT_LIB = -lintl -ldl ! XVCLIENTSYSDEFINES = -DSVR4 -DSYSV #else SYSV_CLIENT_LIB = ! XVCLIENTSYSDEFINES = -DSUNOS41 #endif /* --- 358,367 ---- #if SystemV4 SYSV_CLIENT_LIB = -lintl -ldl ! XVCLIENTSYSDEFINES = -DSVR4 -DSYSV #else SYSV_CLIENT_LIB = ! XVCLIENTSYSDEFINES = -DSUNOS41 #endif /* *************** *** 371,386 **** */ #if XvI18nLevel == 4 ! XVCLIENTI18NDEFINES = -DOW_I18N_L4 -DOW_I18N_L3 -DOW_I18N -DFULL_R5 ! XVCLIENTMISCLIB = -lw ! XVCLIENTINCLUDES = -I$(OPENWINHOME)/include #else ! XVCLIENTI18NDEFINES = -DOW_I18N_L3 ! XVCLIENTMISCLIB = ! XVCLIENTINCLUDES = #endif ! XVCLIENTDEFINES = $(XVCLIENTSYSDEFINES) $(XVCLIENTI18NDEFINES) /* * Define libraries for XView clients --- 373,388 ---- */ #if XvI18nLevel == 4 ! XVCLIENTI18NDEFINES = -DOW_I18N_L4 -DOW_I18N_L3 -DOW_I18N -DFULL_R5 ! XVCLIENTMISCLIB = -lw ! XVCLIENTINCLUDES = -I$(OPENWINHOME)/include #else ! XVCLIENTI18NDEFINES = -DOW_I18N_L3 ! XVCLIENTMISCLIB = ! XVCLIENTINCLUDES = #endif ! XVCLIENTDEFINES = $(XVCLIENTSYSDEFINES) $(XVCLIENTI18NDEFINES) /* * Define libraries for XView clients *************** *** 410,419 **** --- 412,425 ---- */ #if SharedLibXView # ifndef SharedXViewRev + #ifdef __linux + #define SharedXViewRev 3.2.4 + #else #if SystemV4 # define SharedXViewRev 3 #else # define SharedXViewRev 3.2 + #endif #endif # endif SOXVIEWREV = SharedXViewRev diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/color/animate.c xview-3.2p1.4/contrib/examples/color/animate.c *** xview3.2p1-X11R6/contrib/examples/color/animate.c Tue Jun 29 07:13:08 1993 --- xview-3.2p1.4/contrib/examples/color/animate.c Mon Apr 28 14:45:14 1997 *************** *** 82,88 **** --- 82,92 ---- dpy = (Display *)xv_get(frame, XV_DISPLAY); _font = (Xv_Font)xv_find(frame, FONT, + #ifndef __linux FONT_NAME, "icon", + #else + FONT_NAME, "lucidasanstypewriter-24", + #endif NULL); font = (XFontStruct *)xv_get(_font, FONT_INFO); gcvalues.font = font->fid; diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/dnd/source1.c xview-3.2p1.4/contrib/examples/dnd/source1.c *** xview3.2p1-X11R6/contrib/examples/dnd/source1.c Tue Jun 29 07:13:53 1993 --- xview-3.2p1.4/contrib/examples/dnd/source1.c Mon Apr 28 14:45:14 1997 *************** *** 20,25 **** --- 20,29 ---- #include "./drop.icon" }; + #if defined(__linux) && !defined(NBBY) + #define NBBY 8 + #endif + #define POINT_IN_RECT(px, py, rx, ry, rw, rh) \ ((px) >= rx && (py) >= ry && \ (px) < rx+rw && (py) < ry+rh) diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/dnd/source2.c xview-3.2p1.4/contrib/examples/dnd/source2.c *** xview3.2p1-X11R6/contrib/examples/dnd/source2.c Tue Jun 29 07:13:53 1993 --- xview-3.2p1.4/contrib/examples/dnd/source2.c Mon Apr 28 14:45:14 1997 *************** *** 20,25 **** --- 20,29 ---- #include "./drop.icon" }; + #if defined(__linux) && !defined(NBBY) + #define NBBY 8 + #endif + #define POINT_IN_RECT(px, py, rx, ry, rw, rh) \ ((px) >= rx && (py) >= ry && \ (px) < rx+rw && (py) < ry+rh) diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/fonts/simple_font.c xview-3.2p1.4/contrib/examples/fonts/simple_font.c *** xview3.2p1-X11R6/contrib/examples/fonts/simple_font.c Tue Jun 29 07:13:20 1993 --- xview-3.2p1.4/contrib/examples/fonts/simple_font.c Mon Apr 28 14:45:14 1997 *************** *** 38,44 **** --- 38,48 ---- window_fit(frame); dpy = (Display *)xv_get(frame, XV_DISPLAY); + #ifndef __linux font = (Xv_Font)xv_find(frame, FONT, FONT_NAME, "courier", NULL); + #else + font = (Xv_Font)xv_find(frame, FONT, FONT_NAME, "fixed", NULL); + #endif if (!font) { fprintf(stderr, "%s: cannot use font: courier.\n", argv[0]); font = (Xv_Font)xv_get(frame, XV_FONT); diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/notifier/animate.c xview-3.2p1.4/contrib/examples/notifier/animate.c *** xview3.2p1-X11R6/contrib/examples/notifier/animate.c Tue Jun 29 07:13:34 1993 --- xview-3.2p1.4/contrib/examples/notifier/animate.c Mon Apr 28 14:45:14 1997 *************** *** 83,89 **** --- 83,93 ---- dpy = (Display *)xv_get(frame, XV_DISPLAY); _font = (Xv_Font)xv_find(frame, FONT, + #ifndef __linux FONT_NAME, "icon", + #else + FONT_NAME, "lucidasanstypewriter-24", + #endif NULL); font = (XFontStruct *)xv_get(_font, FONT_INFO); diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/notifier/notify.c xview-3.2p1.4/contrib/examples/notifier/notify.c *** xview3.2p1-X11R6/contrib/examples/notifier/notify.c Tue Jun 29 07:13:34 1993 --- xview-3.2p1.4/contrib/examples/notifier/notify.c Mon Apr 28 14:45:14 1997 *************** *** 15,21 **** --- 15,25 ---- int RUN = TRUE; XFontStruct *font; /* Time out for select. */ + #ifndef __linux struct timeval timeout = { 0, 250000 }; + #else + struct timeval timeout; /* Linux changes timeval in select(), reinit every time */ + #endif main(argc, argv) int argc; *************** *** 95,100 **** --- 99,108 ---- while (RUN) { FD_SET(fd, &readfds); + #ifdef __linux + timeout.tv_sec = 0; + timeout.tv_usec = 250000; + #endif /* Check to see if the server has written to us. */ if (select(FD_SETSIZE, &readfds, NULL, NULL, &timeout)) { diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/notifier/notify_input.c xview-3.2p1.4/contrib/examples/notifier/notify_input.c *** xview3.2p1-X11R6/contrib/examples/notifier/notify_input.c Tue Jun 29 07:13:34 1993 --- xview-3.2p1.4/contrib/examples/notifier/notify_input.c Mon Apr 28 14:45:14 1997 *************** *** 47,53 **** char buf[BUFSIZ]; int bytes, i; ! if (input_available(fd) < 1) (void) notify_set_input_func(client, NOTIFY_FUNC_NULL, fd); else do --- 47,53 ---- char buf[BUFSIZ]; int bytes, i; ! if ((bytes = input_available(fd)) < 1) (void) notify_set_input_func(client, NOTIFY_FUNC_NULL, fd); else do diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/scrollbar/scroll_cells.c xview-3.2p1.4/contrib/examples/scrollbar/scroll_cells.c *** xview3.2p1-X11R6/contrib/examples/scrollbar/scroll_cells.c Tue Jun 29 07:13:41 1993 --- xview-3.2p1.4/contrib/examples/scrollbar/scroll_cells.c Mon Apr 28 14:45:14 1997 *************** *** 96,102 **** --- 96,106 ---- Display *dpy = (Display *)xv_get(canvas, XV_DISPLAY); font = (Xv_Font)xv_find(frame, FONT, + #ifndef __linux FONT_NAME, "icon", + #else + FONT_NAME, "lucidasanstypewriter-24", + #endif NULL); cell_map = XCreatePixmap(dpy, DefaultRootWindow(dpy), CELLS_PER_ROW * CELL_WIDTH + 1, diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/textsw/Imakefile xview-3.2p1.4/contrib/examples/textsw/Imakefile *** xview3.2p1-X11R6/contrib/examples/textsw/Imakefile Tue Jun 29 07:13:46 1993 --- xview-3.2p1.4/contrib/examples/textsw/Imakefile Tue Apr 29 18:55:35 1997 *************** *** 12,18 **** INCLUDES = -I. -I$(HEADER_DEST) -I$(TOP) DEPLIBS = XViewClientDepLibs LOCAL_LIBRARIES = XViewClientLibs ! CURSES_LIBS = -lcurses -ltermlib MAKEFILE_SIMPLE = Makefile.customer SRCS = sample_tty.c textsw.c textsw.font.c textsw_to_ttysw.c \ --- 12,18 ---- INCLUDES = -I. -I$(HEADER_DEST) -I$(TOP) DEPLIBS = XViewClientDepLibs LOCAL_LIBRARIES = XViewClientLibs ! CURSES_LIBS = -lcurses MAKEFILE_SIMPLE = Makefile.customer SRCS = sample_tty.c textsw.c textsw.font.c textsw_to_ttysw.c \ diff --context --recursive --new-file xview3.2p1-X11R6/contrib/examples/ttysw/Imakefile xview-3.2p1.4/contrib/examples/ttysw/Imakefile *** xview3.2p1-X11R6/contrib/examples/ttysw/Imakefile Tue Jun 29 07:13:48 1993 --- xview-3.2p1.4/contrib/examples/ttysw/Imakefile Tue Apr 29 18:56:13 1997 *************** *** 12,18 **** INCLUDES = -I. -I$(HEADER_DEST) -I$(TOP) DEPLIBS = XViewClientDepLibs LOCAL_LIBRARIES = XViewClientLibs ! CURSES_LIBS = -lcurses -ltermlib MAKEFILE_SIMPLE = Makefile.customer SRCS = sample_tty.c textsw_to_ttysw.c \ --- 12,18 ---- INCLUDES = -I. -I$(HEADER_DEST) -I$(TOP) DEPLIBS = XViewClientDepLibs LOCAL_LIBRARIES = XViewClientLibs ! CURSES_LIBS = -lcurses MAKEFILE_SIMPLE = Makefile.customer SRCS = sample_tty.c textsw_to_ttysw.c \ diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/Xinitrc xview-3.2p1.4/contrib/misc/Xinitrc *** xview3.2p1-X11R6/contrib/misc/Xinitrc Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/Xinitrc Tue Apr 29 20:41:12 1997 *************** *** 0 **** --- 1,60 ---- + #!/bin/sh + # Xinitrc executed by openwin script to display startup logo + # and restore desktop setup (saved using owplaces) + # Hereby placed into public domain by Kenneth Osterberg 1993. + + # Display startup logo + #if [ -x $OPENWINHOME/bin/xcenter -a -f $OPENWINHOME/etc/lxxview.xbm ]; then + # $OPENWINHOME/bin/xcenter -bitcenter $OPENWINHOME/etc/lxxview.xbm && sleep 2 + #fi + #if [ -z "$NOPAINT" ]; then + #echo olvwm.PaintWorkspace: False | xrdb -merge + #xv -root -quit /home/snowcat/gif/oceanflr.bmp + #else + #unset NOPAINT + #fi + + userresources=$HOME/.Xresources + xviewresources=$HOME/.Xdefaults + usermodmap=$HOME/.Xmodmap + sysresources=$X11HOME/lib/X11/xinit/.Xresources + sysmodmap=$X11HOME/lib/X11/xinit/.Xmodmap + + # merge in defaults and keymaps + if [ -f $sysresources ]; then + xrdb -merge $sysresources + fi + if [ -f $sysmodmap ]; then + xmodmap $sysmodmap + fi + if [ -f $userresources ]; then + xrdb -merge $userresources + fi + if [ -f $xviewresources ]; then + xrdb -merge $xviewresources + fi + if [ -f $usermodmap ]; then + xmodmap $usermodmap + fi + + # I *think* this might be the cause of the notorius backspace + # problem. I'm tossing it out... + # + # xmodmap -e "keysym BackSpace = Delete" + + # Restore saved desktop settings, if any + if [ -f $HOME/.openwin-init ]; then + . $HOME/.openwin-init + fi + + # Run .xinitrc of user if there is one + if [ -x $HOME/.xinitrc ]; then + exec $HOME/.xinitrc + fi + + # Startup the OpenLook window manager + if [ ! -z "$WINDOWMANAGER" ]; then + exec $WINDOWMANAGER -f + else + exec ${OPENWINHOME-/usr/openwin}/bin/olwm -f + fi diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin xview-3.2p1.4/contrib/misc/openwin *** xview3.2p1-X11R6/contrib/misc/openwin Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,55 ---- + #!/bin/sh + # Start "OpenWindows", i.e. Xfree and ol[v]wm, by K.Osterberg, 1993 + + export XAPPLRESDIR MANPATH HELPPATH OPENWINHOME WINDOWMANAGER X11HOME + + if [ -z "$OPENWINHOME" ]; then + if [ ! -d /usr/openwin ]; then + echo "openwin: /usr/openwin does not exist, cannot start" + exit 1 + fi + OPENWINHOME=/usr/openwin + fi + + if [ -z "$X11HOME" ]; then + if [ ! -d /usr/X11R6 ]; then + echo "openwin: /usr/X11R6 does not exist, cannot start" + exit 1 + fi + X11HOME=/usr/X11R6 + fi + + if [ -z `echo "$PATH" | grep openwin` ]; then + PATH=$OPENWINHOME/bin:$PATH + fi + + if [ -z "$MANPATH" ]; then + MANPATH=${X11HOME}/man:${OPENWINHOME}/man:/usr/local/man:/usr/man + else + MANPATH=${MANPATH}:${OPENWINHOME}/man + fi + if [ -z "$HELPPATH" ]; then + HELPPATH=${OPENWINHOME}/lib/help + else + HELPPATH=$HELPPATH:${OPENWINHOME}/lib/help + fi + + if [ -z "$XAPPLRESDIR" ]; then + XAPPLRESDIR=${OPENWINHOME}/lib/app-defaults + else + XAPPLRESDIR=$XAPPLRESDIR:${OPENWINHOME}/lib/app-defaults + fi + + if [ -z "$WINDOWMANAGER" ]; then + WINDOWMANAGER=$OPENWINHOME/bin/olvwm + fi + if [ "$XDM" = "running" ]; then + # X is already running (e.g. this file was called from xdm) + # so just run openwin's Xinitrc + exec $OPENWINHOME/lib/Xinitrc + else + if [ -x $X11HOME/bin/startx ]; then + exec $X11HOME/bin/startx $OPENWINHOME/lib/Xinitrc -- + fi + exec startx $OPENWINHOME/lib/Xinitrc -- + fi diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu xview-3.2p1.4/contrib/misc/openwin-menu *** xview3.2p1-X11R6/contrib/misc/openwin-menu Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,40 ---- + # + # @(#)openwin-menu 23.15 91/09/14 openwin-menu + # + # OpenWindows default root menu file - top level menu + # + + "Workspace" TITLE + + "Shells " MENU $OPENWINHOME/lib/openwin-menu-s + + "Editors " MENU $OPENWINHOME/lib/openwin-menu-e + + "Tools " MENU $OPENWINHOME/lib/openwin-menu-t + + "Games " MENU $OPENWINHOME/lib/openwin-menu-g + + "Utilities " MENU $OPENWINHOME/lib/openwin-menu-u + + #"Slingshot Examples " MENU $OPENWINHOME/lib/openwin-ss-ex + + #"UIT Examples " MENU $OPENWINHOME/lib/openwin-uit + + "Properties " PROPERTIES + + SEPARATOR + + "X11 Programs " DIRMENU /usr/X11R6/bin + + "XView Programs " DIRMENU $OPENWINHOME/bin + "XV" exec /usr/X11R6/bin/xv + + "Window Menu " WINMENU + + SEPARATOR + + "Screensaver " MENU $OPENWINHOME/lib/openwin-menu-screensave + + "Lock Screen " MENU $OPENWINHOME/lib/openwin-menu-xlock + + "Exit" EXIT diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-clocks xview-3.2p1.4/contrib/misc/openwin-menu-clocks *** xview3.2p1-X11R6/contrib/misc/openwin-menu-clocks Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-clocks Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,5 ---- + "Clocks" TITLE PIN + + "Oclock (Invisible Frame)" DEFAULT exec /usr/X11R6/bin/oclock + "Clock (OpenLook)" exec $OPENWINHOME/bin/clock + "Standard Xclock" exec /usr/X11R6/bin/xclock diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-d xview-3.2p1.4/contrib/misc/openwin-menu-d *** xview3.2p1-X11R6/contrib/misc/openwin-menu-d Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-d Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,10 ---- + "Demos" TITLE PIN + + "Ico (Bouncing Polygon)" exec /usr/X11R6/bin/ico + "Maze " exec /usr/X11R6/bin/maze + "Puzzle..." exec /usr/X11R6/bin/puzzle + "Xeyes (Follow Your Mouse)" exec /usr/X11R6/bin/xeyes + "Xfontsel..." exec /usr/X11R6/bin/xfontsel + "Xgas (Gas Particle Simulator)" exec /usr/X11R6/bin/xgas + "Xlogo" exec /usr/X11R6/bin/xlogo + "Xroach (Insect Infestation)" exec /usr/X11R6/bin/xroach diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-e xview-3.2p1.4/contrib/misc/openwin-menu-e *** xview3.2p1-X11R6/contrib/misc/openwin-menu-e Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-e Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,6 ---- + "Editors" TITLE PIN + + "Textedit (OpenWindows Text Editor)" DEFAULT exec $OPENWINHOME/bin/textedit + "GNU Emacs" exec /usr/bin/emacs + "Jove" exec xterm -fn 7x14 -e /usr/bin/jove + "Xedit" exec /usr/X11R6/bin/xedit diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-g xview-3.2p1.4/contrib/misc/openwin-menu-g *** xview3.2p1-X11R6/contrib/misc/openwin-menu-g Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-g Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,15 ---- + "Games" TITLE PIN + + "Spider Card Game (Small Version)" exec /usr/X11R6/bin/spider + "Spider Card Game (Large Version)" exec /usr/X11R6/bin/Spider + # "Xothello" exec /usr/X11R6/bin/xothello + "Puzzle" exec /usr/X11R6/bin/puzzle + "GNU Chess (via Xboard)" exec xboard + "Xtetris" exec /usr/X11R6/bin/xtetris + # "Xroach" exec /usr/X11R6/bin/xroach + "Xlander (Lunar Lander)" exec /usr/X11R6/bin/xlander + "Xmahjongg (Tile Game)" exec /usr/X11R6/bin/xmahjongg + "Xvier (Connect 4)" exec /usr/X11R6/bin/xvier + "Xdoom" exec /usr/games/xdoom + SEPARATOR + "Demos and Gadgets" MENU $OPENWINHOME/lib/openwin-menu-d diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-s xview-3.2p1.4/contrib/misc/openwin-menu-s *** xview3.2p1-X11R6/contrib/misc/openwin-menu-s Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-s Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,11 ---- + "Shells" TITLE PIN + + "Rxvt (VT100 emulator)" DEFAULT exec /usr/X11R6/bin/rxvt -ls + "Xterm" exec /usr/X11R6/bin/xterm -sb -j -ls + "Color Xterm" exec /usr/X11R6/bin/color_xterm -sb -sl 1024 -j -ls + "Large Xterm (10x20 font)" exec /usr/X11R6/bin/xterm -sb -j -ls -fn 10x20 + "Large Rxvt (10x20 font)" exec /usr/X11R6/bin/rxvt -font 10x20 -ls + "Large Color Xterm (10x20 font)" exec /usr/X11R6/bin/color_xterm -sb -sl 1024 -j -ls -fn 10x20 + "Cmdtool (OpenWindows Command Tool)" exec $OPENWINHOME/bin/cmdtool + "Cmdtool -C (OpenWindows Console)" exec $OPENWINHOME/bin/cmdtool -C + "Shelltool (OpenWindows Shell Tool)" exec $OPENWINHOME/bin/shelltool diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-screensave xview-3.2p1.4/contrib/misc/openwin-menu-screensave *** xview3.2p1-X11R6/contrib/misc/openwin-menu-screensave Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-screensave Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,27 ---- + "Screensaver" TITLE PIN + + "Bat" exec xlock -nolock -nice 0 -mode bat + "Blank" exec xlock -nolock -nice 0 -mode blank + "Blot" exec xlock -nolock -nice 0 -mode blot + "Bob" exec xlock -nolock -nice 0 -mode bob + "Bounce" exec xlock -nolock -nice 0 -mode bounce + "Flame" exec xlock -nolock -nice 0 -mode flame + "Galaxy" exec xlock -nolock -nice 0 -mode galaxy + "Grav" exec xlock -nolock -nice 0 -mode grav + "Helix" exec xlock -nolock -nice 0 -mode helix + "Hop" exec xlock -nolock -nice 0 -mode hop + "Hyper" exec xlock -nolock -nice 0 -mode hyper + "Kaleid" exec xlock -nolock -nice 0 -mode kaleid + "Life" exec xlock -nolock -nice 0 -mode life + "Maze" exec xlock -nolock -nice 0 -mode maze + "Pyro" exec xlock -nolock -nice 0 -mode pyro + "Qix" exec xlock -nolock -nice 0 -mode qix + "Random" DEFAULT exec xlock -nolock -nice 0 -mode random + "Rect" exec xlock -nolock -nice 0 -mode rect + "Rock" exec xlock -nolock -nice 0 -mode rock + "Rotor" exec xlock -nolock -nice 0 -mode rotor + "Sphere" exec xlock -nolock -nice 0 -mode sphere + "Spline" exec xlock -nolock -nice 0 -mode spline + "Swarm" exec xlock -nolock -nice 0 -mode swarm + "Worm" exec xlock -nolock -nice 0 -mode worm + "World" exec xlock -nolock -nice 0 -mode world diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-t xview-3.2p1.4/contrib/misc/openwin-menu-t *** xview3.2p1-X11R6/contrib/misc/openwin-menu-t Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-t Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,12 ---- + "Tools" TITLE PIN + + "Xfilemanager (File Manager)" exec /usr/X11R6/bin/xfilemanager + "Xfm 1.2 (File Manager)" exec /usr/X11R6/bin/xfm + "Xman (View Manual Pages)" exec /usr/X11R6/bin/xman + "Seyon (Communications Package)" exec /usr/X11R6/bin/seyon -modem /dev/modem + "Xcalc (Calculator)" exec /usr/X11R6/bin/xcalc + "Xspread (Spreadsheet)" exec /usr/X11R6/bin/xspread + "Xxgdb (Debugger)" exec /usr/X11R6/bin/xxgdb + "Xconsole (Console messages)" exec /usr/X11R6/bin/xconsole + "Xmag (Magnifying glass)" exec /usr/X11R6/bin/xmag + "Clocks" MENU $OPENWINHOME/lib/openwin-menu-clocks diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-u xview-3.2p1.4/contrib/misc/openwin-menu-u *** xview3.2p1-X11R6/contrib/misc/openwin-menu-u Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-u Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,27 ---- + # + # @(#)openwin-menu-utilities 1.5 91/09/14 openwin-menu-utilities + # + # OpenWindows default root menu file - Utilities submenu + # + + "Refresh" DEFAULT REFRESH + "Reset Input" exec kbd_mode -u + "Xclipboard" exec /usr/X11R6/bin/xclipboard + "Function Keys" exec vkbd + "Window Controls" MENU + "Open/Close" DEFAULT OPEN_CLOSE_SELN + "Full/Restore Size" FULL_RESTORE_SIZE_SELN + "Back" BACK_SELN + "Quit" QUIT_SELN + "Window Controls" END PIN + "Save Workspace" SAVE_WORKSPACE + # + # Uncomment the following if interested in colormap compaction + # + #"Save Colors" MENU + # "Save" DEFAULT $OPENWINHOME/bin/cmap_compact save + # "Discard" $OPENWINHOME/bin/cmap_compact discard + #"Save Colors" END + # + #"Lock Screen" exec xlock + #"Console..." exec $OPENWINHOME/bin/cmdtool -C diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/openwin-menu-xlock xview-3.2p1.4/contrib/misc/openwin-menu-xlock *** xview3.2p1-X11R6/contrib/misc/openwin-menu-xlock Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/openwin-menu-xlock Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,27 ---- + "Screensaver" TITLE PIN + + "Bat" exec xlock -nice 0 -mode bat + "Blank" exec xlock -nice 0 -mode blank + "Blot" exec xlock -nice 0 -mode blot + "Bob" exec xlock -nice 0 -mode bob + "Bounce" exec xlock -nice 0 -mode bounce + "Flame" exec xlock -nice 0 -mode flame + "Galaxy" exec xlock -nice 0 -mode galaxy + "Grav" exec xlock -nice 0 -mode grav + "Helix" exec xlock -nice 0 -mode helix + "Hop" exec xlock -nice 0 -mode hop + "Hyper" exec xlock -nice 0 -mode hyper + "Kaleid" exec xlock -nice 0 -mode kaleid + "Life" exec xlock -nice 0 -mode life + "Maze" exec xlock -nice 0 -mode maze + "Pyro" exec xlock -nice 0 -mode pyro + "Qix" exec xlock -nice 0 -mode qix + "Random" DEFAULT exec xlock -nice 0 -mode random + "Rect" exec xlock -nice 0 -mode rect + "Rock" exec xlock -nice 0 -mode rock + "Rotor" exec xlock -nice 0 -mode rotor + "Sphere" exec xlock -nice 0 -mode sphere + "Spline" exec xlock -nice 0 -mode spline + "Swarm" exec xlock -nice 0 -mode swarm + "Worm" exec xlock -nice 0 -mode worm + "World" exec xlock -nice 0 -mode world diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/owplaces xview-3.2p1.4/contrib/misc/owplaces *** xview3.2p1-X11R6/contrib/misc/owplaces Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/owplaces Mon Apr 28 14:45:14 1997 *************** *** 0 **** --- 1,3 ---- + #!/bin/sh + # Use xtoolplaces as a replacement for owplaces. + exec xtoolplaces -f $HOME/.openwin-init diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/props-locale.C xview-3.2p1.4/contrib/misc/props-locale.C *** xview3.2p1-X11R6/contrib/misc/props-locale.C Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/props-locale.C Thu May 1 01:28:03 1997 *************** *** 0 **** --- 1,15 ---- + # + # @(#)C 1.3 91/09/14;SMI + # + # Workspace Properties localization panel configuration file - Specific Setting + # Specific Settings for the C locale + # + # LC_MESSAGES="C" -> display language is English + # Basic_Locale="C" -> basic locale setting is English + # + # Category_name=default_value,value:label[[,value:label]...] + # + input_language=C;C|English + display_language=C;C|English + time_format=C;C|12/31/89 21:30:30 + numeric_format=C;C|10,000.0 diff --context --recursive --new-file xview3.2p1-X11R6/contrib/misc/props-locale.basic_setting xview-3.2p1.4/contrib/misc/props-locale.basic_setting *** xview3.2p1-X11R6/contrib/misc/props-locale.basic_setting Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/contrib/misc/props-locale.basic_setting Thu May 1 01:28:03 1997 *************** *** 0 **** --- 1,12 ---- + # + # @(#)basic_setting 1.5 91/09/14;SMI + # + # Workspace Properties Localization Panel configuration file - Basic Setting + # + # Basic Setting for the C locale + # + # LC_MESSAGES="C" -> display language is English + # + # Category_name=default_value,value:label[[,value:label]...] + # + basic_setting=C;C|U.S.A. diff --context --recursive --new-file xview3.2p1-X11R6/doc/Imakefile xview-3.2p1.4/doc/Imakefile *** xview3.2p1-X11R6/doc/Imakefile Tue Jun 29 07:12:58 1993 --- xview-3.2p1.4/doc/Imakefile Sun Jun 15 20:34:46 1997 *************** *** 17,23 **** ALLFILES = $(DOCFILES) install:: ! $(MKDIRHIER) $(DOC_DEST) InstallNonExecList($(DOCFILES),$(DOC_DEST)) PopulateSCCSTree(h,$(ALLFILES) README) --- 17,23 ---- ALLFILES = $(DOCFILES) install:: ! $(MKDIRHIER) $(DESTDIR)$(DOC_DEST) InstallNonExecList($(DOCFILES),$(DOC_DEST)) PopulateSCCSTree(h,$(ALLFILES) README) diff --context --recursive --new-file xview3.2p1-X11R6/doc/bugs/Imakefile xview-3.2p1.4/doc/bugs/Imakefile *** xview3.2p1-X11R6/doc/bugs/Imakefile Tue Jun 29 07:12:54 1993 --- xview-3.2p1.4/doc/bugs/Imakefile Sun Jun 15 20:33:51 1997 *************** *** 11,17 **** all:: install:: ! $(MKDIRHIER) $(DOC_DEST) InstallNonExecList($(DOCFILES),$(DOC_DEST)) DependTarget() --- 11,17 ---- all:: install:: ! $(MKDIRHIER) $(DESTDIR)$(DOC_DEST) InstallNonExecList($(DOCFILES),$(DOC_DEST)) DependTarget() diff --context --recursive --new-file xview3.2p1-X11R6/doc/config/usenixws/Imakefile xview-3.2p1.4/doc/config/usenixws/Imakefile *** xview3.2p1-X11R6/doc/config/usenixws/Imakefile Tue Jun 29 07:12:56 1993 --- xview-3.2p1.4/doc/config/usenixws/Imakefile Sun Jun 15 20:34:20 1997 *************** *** 25,31 **** rm -f *~ \#* *.bak errs install:: ! $(MKDIRHIER) $(DOC_DEST) InstallNonExecList($(DOCFILES),$(DOC_DEST)) PopulateSCCSTree(h,$(ALLFILES)) --- 25,31 ---- rm -f *~ \#* *.bak errs install:: ! $(MKDIRHIER) $(DESTDIR)$(DOC_DEST) InstallNonExecList($(DOCFILES),$(DOC_DEST)) PopulateSCCSTree(h,$(ALLFILES)) diff --context --recursive --new-file xview3.2p1-X11R6/images/Imakefile xview-3.2p1.4/images/Imakefile *** xview3.2p1-X11R6/images/Imakefile Tue Jun 29 07:18:24 1993 --- xview-3.2p1.4/images/Imakefile Sun Jun 15 20:40:35 1997 *************** *** 11,17 **** PSdoc.icon bind.icon black.icon boggle.icon calctool.icon \ canfield.icon canvas_demo.icon cardback.icon chess.clock.icon \ chesstool.icon clock.icon clock.rom.icon \ ! compose.icon compress.icon core_eye.icon \ coredoc.icon cursor_demo.icon dbxtool.icon dead.icon \ defaultsedit.icon dos.icon draw.icon drawdoc.icon empty_letter.icon \ equal.icon filemgr.icon fm_clock.icon fm_cmdtool.icon fm_dbxtool.icon \ --- 11,17 ---- PSdoc.icon bind.icon black.icon boggle.icon calctool.icon \ canfield.icon canvas_demo.icon cardback.icon chess.clock.icon \ chesstool.icon clock.icon clock.rom.icon \ ! compose.icon compress.icon console.icon console_mask.icon core_eye.icon \ coredoc.icon cursor_demo.icon dbxtool.icon dead.icon \ defaultsedit.icon dos.icon draw.icon drawdoc.icon empty_letter.icon \ equal.icon filemgr.icon fm_clock.icon fm_cmdtool.icon fm_dbxtool.icon \ *************** *** 104,110 **** BuildIncludes($(INCLUDES_SRCS),$(IMAGE_INCDIR),/**/) install:: $(SRCS) ! $(MKDIRHIER) $(HEADER_DEST)/$(IMAGEINC) InstallMultiple($(SRCS),$(HEADER_DEST)/$(IMAGEINC)) --- 104,110 ---- BuildIncludes($(INCLUDES_SRCS),$(IMAGE_INCDIR),/**/) install:: $(SRCS) ! $(MKDIRHIER) $(DESTDIR)$(HEADER_DEST)/$(IMAGEINC) InstallMultiple($(SRCS),$(HEADER_DEST)/$(IMAGEINC)) diff --context --recursive --new-file xview3.2p1-X11R6/imake xview-3.2p1.4/imake *** xview3.2p1-X11R6/imake Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/imake Mon Jun 16 01:34:06 1997 *************** *** 0 **** --- 1,10 ---- + #!/bin/sh + + set -e + + echo "imake-wrapper: running imake $* in directory `pwd`" + /usr/bin/X11/imake "$@" + if [ -f "$IMAKEAPPEND" ]; then + cat "$IMAKEAPPEND" >> Makefile + fi + exit 0 diff --context --recursive --new-file xview3.2p1-X11R6/lib/libolgx/ol_button.c xview-3.2p1.4/lib/libolgx/ol_button.c *** xview3.2p1-X11R6/lib/libolgx/ol_button.c Tue Jun 29 07:18:09 1993 --- xview-3.2p1.4/lib/libolgx/ol_button.c Mon Apr 28 19:05:08 1997 *************** *** 242,248 **** y + ((centery > 0) ? centery : 0), (((Pixlabel *) label)->width > width)? width:((Pixlabel *)label)->width , ! (height) ? height : Button_Height(info) - 2, state); } else if (state & OLGX_LABEL_IS_XIMAGE) { int centerx, centery; --- 242,252 ---- y + ((centery > 0) ? centery : 0), (((Pixlabel *) label)->width > width)? width:((Pixlabel *)label)->width , ! (height) ? ! ((((Pixlabel *) label)->height > height) ? ! height : ((Pixlabel *)label)->height) ! : Button_Height(info) - 2, state); ! } else if (state & OLGX_LABEL_IS_XIMAGE) { int centerx, centery; *************** *** 255,261 **** y + ((centery > 0) ? centery : 0), (((Pixlabel *) label)->width > width)? width:((Pixlabel *)label)->width , ! (height) ? height : Button_Height(info) - 2, state); } else { --- 259,268 ---- y + ((centery > 0) ? centery : 0), (((Pixlabel *) label)->width > width)? width:((Pixlabel *)label)->width , ! (height) ? ! ((((Pixlabel *) label)->height > height) ? ! height : ((Pixlabel *)label)->height) ! : Button_Height(info) - 2, state); } else { diff --context --recursive --new-file xview3.2p1-X11R6/lib/libolgx/ol_init.c xview-3.2p1.4/lib/libolgx/ol_init.c *** xview3.2p1-X11R6/lib/libolgx/ol_init.c Tue Jun 29 07:18:11 1993 --- xview-3.2p1.4/lib/libolgx/ol_init.c Mon Apr 28 14:45:14 1997 *************** *** 699,705 **** --- 699,715 ---- XSetFont(info->dpy, info->gc_rec[OLGX_TEXTGC]->gc, info->textfont->fid); + /* Even if !three_d, OLGX_TEXTGC_REV doesn't necessarily exist, + * so we only set the font, if it does. I don't know if this is + * the right place to change it, but this fixes a bug reported + * on alt.toolkits.xview. + * martin-2.buck@student.uni-ulm.de + */ + #if 1 + if (!info->three_d && info->gc_rec[OLGX_TEXTGC_REV]) + #else if (!info->three_d) + #endif /* Only 2d has TEXTGC_REV */ XSetFont(info->dpy, info->gc_rec[OLGX_TEXTGC_REV]->gc, info->textfont->fid); *************** *** 712,718 **** --- 722,735 ---- XSetFont(info->dpy, info->gc_rec[OLGX_TEXTGC]->gc, font_info->fid); + /* See comment above. + * martin-2.buck@student.uni-ulm.de + */ + #if 1 + if (!info->three_d && info->gc_rec[OLGX_TEXTGC_REV]) + #else if (!info->three_d) + #endif /* Only 2d has TEXTGC_REV */ XSetFont(info->dpy, info->gc_rec[OLGX_TEXTGC_REV]->gc, font_info->fid); #endif /* OW_I18N */ *************** *** 925,931 **** --- 942,955 ---- if (! (Olgx_Flags(info) & OLGX_FONTSET)) { #endif info->gc_rec[OLGX_TEXTGC]->values.font = info->textfont->fid; + /* See comment above. + * martin-2.buck@student.uni-ulm.de + */ + #if 1 + if (!info->three_d && info->gc_rec[OLGX_TEXTGC_REV]) + #else if (!info->three_d) + #endif info->gc_rec[OLGX_TEXTGC_REV]->values.font = info->textfont->fid; #ifdef OW_I18N } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/base/Imakefile xview-3.2p1.4/lib/libxview/base/Imakefile *** xview3.2p1-X11R6/lib/libxview/base/Imakefile Tue Jun 29 07:14:23 1993 --- xview-3.2p1.4/lib/libxview/base/Imakefile Mon Apr 28 14:45:15 1997 *************** *** 37,43 **** drawable.o\ xv_debug.o\ xv_parse.o\ ! xv_list.o\ xv_error.o SRCS=\ --- 37,43 ---- drawable.o\ xv_debug.o\ xv_parse.o\ ! xv_list.o\ xv_error.o SRCS=\ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/base/base.h xview-3.2p1.4/lib/libxview/base/base.h *** xview3.2p1-X11R6/lib/libxview/base/base.h Tue Jun 29 07:14:25 1993 --- xview-3.2p1.4/lib/libxview/base/base.h Mon Apr 28 14:45:15 1997 *************** *** 53,62 **** * the macro SUNOS41. This has to be fixed later to accomodate non-SUNOS41 and * non-SVR4 systems. */ ! #ifndef SUNOS41 #define XV_OS_SVR4 #define XV_USE_TTCOMPAT #define SYSV_WAIT #define SYSV_UCONTEXT #define XV_USE_XVFCNTL #endif --- 53,67 ---- * the macro SUNOS41. This has to be fixed later to accomodate non-SUNOS41 and * non-SVR4 systems. */ ! #if !defined(SUNOS41) && !defined(__linux) #define XV_OS_SVR4 #define XV_USE_TTCOMPAT #define SYSV_WAIT + #define SYSV_UCONTEXT + #define XV_USE_XVFCNTL + #elif defined(__linux) + #define XV_OS_SVR4 + #undef XV_USE_TTCOMPAT #define SYSV_UCONTEXT #define XV_USE_XVFCNTL #endif diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/base/xv_debug.h xview-3.2p1.4/lib/libxview/base/xv_debug.h *** xview3.2p1-X11R6/lib/libxview/base/xv_debug.h Tue Jun 29 07:14:27 1993 --- xview-3.2p1.4/lib/libxview/base/xv_debug.h Mon Apr 28 14:45:15 1997 *************** *** 10,16 **** #define _xv_debug_h_already_included #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 10,16 ---- #define _xv_debug_h_already_included #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/base/xv_error.c xview-3.2p1.4/lib/libxview/base/xv_error.c *** xview3.2p1-X11R6/lib/libxview/base/xv_error.c Tue Jun 29 07:14:25 1993 --- xview-3.2p1.4/lib/libxview/base/xv_error.c Mon Apr 28 14:45:15 1997 *************** *** 21,27 **** --- 21,32 ---- extern char *sys_errlist[]; extern int errno; + #ifndef __linux + /* Global already defined in xv_init.c */ Xv_private_data char *xv_app_name; + #else + extern Xv_private_data char *xv_app_name; + #endif Xv_private int (*xv_error_proc) (); /* diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/defaults/defaults.c xview-3.2p1.4/lib/libxview/defaults/defaults.c *** xview3.2p1-X11R6/lib/libxview/defaults/defaults.c Sun Jun 26 04:16:27 1994 --- xview-3.2p1.4/lib/libxview/defaults/defaults.c Mon Apr 28 14:45:15 1997 *************** *** 131,137 **** --- 131,141 ---- } value = (Bool) defaults_lookup(string_value, bools); if ((int) value == -1) { + #if 1 + char buffer[4096]; + #else char buffer[64]; + #endif (void) sprintf(buffer, XV_MSG("\"%s\" is an unrecognized boolean value (Defaults package)"), *************** *** 162,168 **** --- 166,176 ---- return default_char; } if (strlen(string_value) != 1) { + #if 1 + char buffer[4096]; + #else char buffer[64]; + #endif sprintf(buffer, XV_MSG("\"%s\" is not a character constant (Defaults package)"), *************** *** 234,240 **** --- 242,252 ---- chr = *cp++; } if (error) { + #if 1 + char buffer[4096]; + #else char buffer[64]; + #endif sprintf(buffer, XV_MSG("\"%s\" is not an integer (Defaults package)"), *************** *** 270,276 **** --- 282,292 ---- if ((minimum <= value) && (value <= maximum)) return value; else { + #if 1 + char buffer[4096]; + #else char buffer[128]; + #endif sprintf(buffer, XV_MSG("The value of name \"%s\" (class \"%s\") is %d,\nwhich is not between %d and %d. (Defaults package)"), *************** *** 409,414 **** --- 425,432 ---- char *filename; { XrmDatabase new_db = NULL; + /* martin-2.buck@student.uni-ulm.de */ + char *xrmstr; if (filename) new_db = XrmGetFileDatabase(filename); *************** *** 422,430 **** --- 440,454 ---- return; } #ifdef X11R6 + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + if ((xrmstr = XResourceManagerString(xv_default_display))) + new_db = XrmGetStringDatabase(xrmstr); + #else /* lumpi@dobag.in-berlin.de */ if (XrmGetDatabase(xv_default_display)) new_db=NULL; + #endif #else if (xv_default_display->xdefaults) new_db = XrmGetStringDatabase(xv_default_display->xdefaults); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/dnd/site.c xview-3.2p1.4/lib/libxview/dnd/site.c *** xview3.2p1-X11R6/lib/libxview/dnd/site.c Tue Jun 29 07:15:41 1993 --- xview-3.2p1.4/lib/libxview/dnd/site.c Mon Apr 28 14:45:15 1997 *************** *** 241,247 **** return(XV_ERROR); rect = xv_alloc(Rect); ! #ifdef SVR4 /* This will probably not work right, but it compiles. */ /* (rectNode->rect) is of the wrong type. */ memmove(rect, &(rectNode->rect), sizeof(Rect)); --- 241,247 ---- return(XV_ERROR); rect = xv_alloc(Rect); ! #if defined(SVR4) || defined(__linux) /* This will probably not work right, but it compiles. */ /* (rectNode->rect) is of the wrong type. */ memmove(rect, &(rectNode->rect), sizeof(Rect)); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/file_chooser/Imakefile xview-3.2p1.4/lib/libxview/file_chooser/Imakefile *** xview3.2p1-X11R6/lib/libxview/file_chooser/Imakefile Tue Jun 29 07:17:41 1993 --- xview-3.2p1.4/lib/libxview/file_chooser/Imakefile Mon Apr 28 14:45:15 1997 *************** *** 40,47 **** hist_list.o\ hist_menu.o\ fchsr_data.o\ ! flist_data.o\ ! path_data.o\ hist_data.o --- 40,47 ---- hist_list.o\ hist_menu.o\ fchsr_data.o\ ! flist_data.o\ ! path_data.o\ hist_data.o *************** *** 54,61 **** hist_list.c\ hist_menu.c\ fchsr_data.c\ ! flist_data.c\ ! path_data.c\ hist_data.c LIBTARGET = xview --- 54,61 ---- hist_list.c\ hist_menu.c\ fchsr_data.c\ ! flist_data.c\ ! path_data.c\ hist_data.c LIBTARGET = xview diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/file_chooser/fc_layout.c xview-3.2p1.4/lib/libxview/file_chooser/fc_layout.c *** xview3.2p1-X11R6/lib/libxview/file_chooser/fc_layout.c Tue Jun 29 07:17:38 1993 --- xview-3.2p1.4/lib/libxview/file_chooser/fc_layout.c Mon Apr 28 14:45:15 1997 *************** *** 464,471 **** new_height = (* private->exten_func)( FC_PUBLIC(private), ! private->rect, ! exten_rect, COLS(2), private->rect.r_width - COLS(2), max_height --- 464,471 ---- new_height = (* private->exten_func)( FC_PUBLIC(private), ! &private->rect, ! &exten_rect, COLS(2), private->rect.r_width - COLS(2), max_height diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/file_chooser/file_list.c xview-3.2p1.4/lib/libxview/file_chooser/file_list.c *** xview3.2p1-X11R6/lib/libxview/file_chooser/file_list.c Tue Jun 29 07:17:39 1993 --- xview-3.2p1.4/lib/libxview/file_chooser/file_list.c Mon Apr 28 14:45:15 1997 *************** *** 521,526 **** --- 521,530 ---- if (status == DESTROY_CLEANUP) { xv_free_ref( private->directory ); xv_free_ref( private->regex_pattern ); + #ifdef __linux + if (private->regex_compile != NULL && private->regex_compile->allocated) + xv_free_ref( private->regex_compile->buffer); + #endif xv_free_ref( private->regex_compile ); xv_free_ref( private->dotdot_string ); if ( private->dir_ptr ) *************** *** 1138,1143 **** --- 1142,1148 ---- /****************************************************************************/ + #ifndef __linux /* * Front end to regexp(3). * *************** *** 1208,1213 **** --- 1213,1250 ---- return step(s, private->regex_compile); } + #else /* __linux */ + + /* Linux does not have regexp.h or compile()/step(). Use regex.h and + * re_compile_pattern()/re_match() instead. */ + + static void + flist_compile_regex( private ) + File_list_private *private; + { + + if (private->regex_compile == NULL) { + private->regex_compile = xv_alloc_n(regex_t, 1); + private->regex_compile->translate = NULL; + } + if (private->regex_compile->allocated == 0) { + private->regex_compile->buffer = xv_alloc_n(char, MAXPATHLEN + 1); + private->regex_compile->allocated = MAXPATHLEN + 1; + } + re_compile_pattern(private->regex_pattern, strlen(private->regex_pattern), + private->regex_compile); + } + + static int + flist_match_regex( s, private ) + char *s; + File_list_private *private; + { + if (private->regex_compile == NULL || private->regex_compile->allocated == 0) + return 0; + return (re_match(private->regex_compile, s, strlen(s), 0, NULL) != -1); + } + #endif /* __linux */ /****************************************************************************/ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/file_chooser/flist_impl.h xview-3.2p1.4/lib/libxview/file_chooser/flist_impl.h *** xview3.2p1-X11R6/lib/libxview/file_chooser/flist_impl.h Tue Jun 29 07:17:39 1993 --- xview-3.2p1.4/lib/libxview/file_chooser/flist_impl.h Mon Apr 28 14:45:15 1997 *************** *** 9,14 **** --- 9,17 ---- #include #include + #ifdef __linux + #include + #endif #include #include #include *************** *** 22,28 **** --- 25,35 ---- DIR * dir_ptr; /* cached directory pointer */ char * previous_dir; /* last directory displayed */ char * regex_pattern; /* regular expression */ + #ifndef __linux char * regex_compile; /* compiled form of regex */ + #else + regex_t * regex_compile; /* compiled form of regex */ + #endif Server_image match_glyph; /* matched regex glyph */ Server_image match_glyph_mask; /* matched regex glyph mask */ unsigned short filter_mask; /* mask for filter_func */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/font/font.c xview-3.2p1.4/lib/libxview/font/font.c *** xview3.2p1-X11R6/lib/libxview/font/font.c Tue Jun 29 07:14:44 1993 --- xview-3.2p1.4/lib/libxview/font/font.c Tue Apr 29 20:47:59 1997 *************** *** 673,684 **** --- 673,693 ---- return(linfo); /* create locale specific font set database */ + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!(str = getenv("OPENWINHOME"))) { + str = OPENWINHOME_DEFAULT; + } + #else if (str = getenv("OPENWINHOME")) { + #endif sprintf(filename, "%s/lib/locale/%s/OW_FONT_SETS/OpenWindows.fs", str, locale); db = XrmGetFileDatabase(filename); + #ifndef OPENWINHOME_DEFAULT } + #endif if (str = (char *)xv_get(server, XV_LOCALE_DIR)) { sprintf(filename, "%s/%s/OW_FONT_SETS/%s.fs", str, locale, diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/fm_impl.h xview-3.2p1.4/lib/libxview/frame/fm_impl.h *** xview3.2p1-X11R6/lib/libxview/frame/fm_impl.h Tue Jun 29 07:15:58 1993 --- xview-3.2p1.4/lib/libxview/frame/fm_impl.h Mon Apr 28 14:45:15 1997 *************** *** 18,24 **** /* standard includes */ #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 18,24 ---- /* standard includes */ #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/fm_layout.c xview-3.2p1.4/lib/libxview/frame/fm_layout.c *** xview3.2p1-X11R6/lib/libxview/frame/fm_layout.c Tue Jun 29 07:15:52 1993 --- xview-3.2p1.4/lib/libxview/frame/fm_layout.c Mon Apr 28 14:45:15 1997 *************** *** 30,36 **** Window_layout_op op; int d1, d2, d3, d4, d5; { ! register Frame_class_info *frame; int is_subframe; int is_footer; #ifdef OW_I18N --- 30,36 ---- Window_layout_op op; int d1, d2, d3, d4, d5; { ! register Frame_class_info *frame = NULL; int is_subframe; int is_footer; #ifdef OW_I18N *************** *** 47,53 **** is_IMstatus= (int)xv_get(child, XV_KEY_DATA, FRAME_IMSTATUS_WINDOW); #endif ! frame = FRAME_CLASS_PRIVATE(frame_public); switch (op) { case WIN_CREATE:{ Xv_Window last_child; --- 47,55 ---- is_IMstatus= (int)xv_get(child, XV_KEY_DATA, FRAME_IMSTATUS_WINDOW); #endif ! /* Only access private field if necessary. (WG Mar 1995) */ ! if(op!=WIN_ADJUST_RECT) ! frame = FRAME_CLASS_PRIVATE(frame_public); switch (op) { case WIN_CREATE:{ Xv_Window last_child; *************** *** 259,265 **** case WIN_ADJUST_RECT: ! frame_adjust_rect(frame_public, frame, child, is_subframe, (Rect *)d1); break; case WIN_GET_RIGHT_OF: --- 261,267 ---- case WIN_ADJUST_RECT: ! frame_adjust_rect(frame_public, child, is_subframe, (Rect *)d1); break; case WIN_GET_RIGHT_OF: *************** *** 345,353 **** /*ARGSUSED*/ Pkg_private int ! frame_adjust_rect(frame_public, frame, child, is_subframe, r) Frame frame_public; - Frame_class_info *frame; Xv_Window child; int is_subframe; Rect *r; --- 347,354 ---- /*ARGSUSED*/ Pkg_private int ! frame_adjust_rect(frame_public, child, is_subframe, r) Frame frame_public; Xv_Window child; int is_subframe; Rect *r; *************** *** 364,370 **** window_set(child, WIN_DESIRED_HEIGHT, r->r_height, 0); if ((r->r_width == WIN_EXTEND_TO_EDGE) || (r->r_height == WIN_EXTEND_TO_EDGE)) ! expand_sw(frame, child, r); } else if (!(rect_info & WIN_HEIGHT_SET)) { win_getsize(child, &real_size); r->r_height = real_size.r_height; --- 365,371 ---- window_set(child, WIN_DESIRED_HEIGHT, r->r_height, 0); if ((r->r_width == WIN_EXTEND_TO_EDGE) || (r->r_height == WIN_EXTEND_TO_EDGE)) ! expand_sw(FRAME_CLASS_PRIVATE(frame_public), child, r); } else if (!(rect_info & WIN_HEIGHT_SET)) { win_getsize(child, &real_size); r->r_height = real_size.r_height; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/fm_props.h xview-3.2p1.4/lib/libxview/frame/fm_props.h *** xview3.2p1-X11R6/lib/libxview/frame/fm_props.h Tue Jun 29 07:15:57 1993 --- xview-3.2p1.4/lib/libxview/frame/fm_props.h Mon Apr 28 14:45:15 1997 *************** *** 14,20 **** /* standard includes */ #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 14,20 ---- /* standard includes */ #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/fm_rescale.c xview-3.2p1.4/lib/libxview/frame/fm_rescale.c *** xview3.2p1-X11R6/lib/libxview/frame/fm_rescale.c Tue Jun 29 07:15:55 1993 --- xview-3.2p1.4/lib/libxview/frame/fm_rescale.c Mon Apr 28 14:45:15 1997 *************** *** 43,49 **** */ window_default_event_func(frame_public, (Event *) 0, scale, (Notify_event_type) 0); window_calculate_new_size(frame_public, frame_public, &frame_height, &frame_width); ! xv_set(frame_public, WIN_RECT, 0); /* --- 43,51 ---- */ window_default_event_func(frame_public, (Event *) 0, scale, (Notify_event_type) 0); window_calculate_new_size(frame_public, frame_public, &frame_height, &frame_width); ! #ifndef __linux ! xv_set(frame_public, WIN_RECT, 0); /* This looks like a XView bug to me */ ! #endif /* diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/frame_base.h xview-3.2p1.4/lib/libxview/frame/frame_base.h *** xview3.2p1-X11R6/lib/libxview/frame/frame_base.h Tue Jun 29 07:15:57 1993 --- xview-3.2p1.4/lib/libxview/frame/frame_base.h Mon Apr 28 14:45:15 1997 *************** *** 18,24 **** /* standard includes */ #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 18,24 ---- /* standard includes */ #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/frame_cmd.h xview-3.2p1.4/lib/libxview/frame/frame_cmd.h *** xview3.2p1-X11R6/lib/libxview/frame/frame_cmd.h Tue Jun 29 07:15:57 1993 --- xview-3.2p1.4/lib/libxview/frame/frame_cmd.h Mon Apr 28 14:45:15 1997 *************** *** 18,24 **** /* standard includes */ #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 18,24 ---- /* standard includes */ #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/frame/frame_help.h xview-3.2p1.4/lib/libxview/frame/frame_help.h *** xview3.2p1-X11R6/lib/libxview/frame/frame_help.h Tue Jun 29 07:15:53 1993 --- xview-3.2p1.4/lib/libxview/frame/frame_help.h Mon Apr 28 14:45:15 1997 *************** *** 18,24 **** /* standard includes */ #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 18,24 ---- /* standard includes */ #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/help/help_file.c xview-3.2p1.4/lib/libxview/help/help_file.c *** xview3.2p1-X11R6/lib/libxview/help/help_file.c Tue Jun 29 07:16:00 1993 --- xview-3.2p1.4/lib/libxview/help/help_file.c Mon Apr 28 14:45:15 1997 *************** *** 18,24 **** --- 18,28 ---- #include + #ifndef __linux #define DEFAULT_HELP_DIRECTORY "/usr/lib/help" + #else + #define DEFAULT_HELP_DIRECTORY "/usr/openwin/lib/help" + #endif #define MAX_MORE_HELP_CMD 128 Xv_private char *xv_strtok(); *************** *** 82,89 **** --- 86,98 ---- /* * Need to fix this to get the XV_LC_DISPLAY_LANG from server */ + #ifndef __linux if (_xv_use_locale) xv_lc_display_lang = setlocale(LC_MESSAGES, NULL); + #else + /* The setlocale() above should be disabled if I18N not supported, a bug?? */ + xv_lc_display_lang = "C"; + #endif helpdir = xv_strtok(helppath_copy, ":"); do { /* diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/icon/icon.c xview-3.2p1.4/lib/libxview/icon/icon.c *** xview3.2p1-X11R6/lib/libxview/icon/icon.c Tue Jun 29 07:16:03 1993 --- xview-3.2p1.4/lib/libxview/icon/icon.c Thu Jun 19 22:26:15 1997 *************** *** 343,357 **** val.ts_x_origin = 0; val.ts_y_origin = 0; val_mask = GCForeground | GCBackground | GCFunction | ! GCPlaneMask | GCFillStyle | GCTileStipXOrigin | GCTileStipYOrigin; XChangeGC(display, gc, val_mask, &val ); if (PR_NOT_MPR(((Pixrect *) icon->ic_mpr))) { DRAWABLE_INFO_MACRO( (Xv_opaque) icon->ic_mpr, src_info ); val.clip_mask = xv_xid(mask_info); ! val.stipple = xv_xid(src_info); ! val_mask = GCStipple | GCClipMask; XChangeGC(display, gc, val_mask, &val ); if ( xv_rop_internal( display, xid, gc, icon->ic_gfxrect.r_left + x, --- 343,374 ---- val.ts_x_origin = 0; val.ts_y_origin = 0; val_mask = GCForeground | GCBackground | GCFunction | ! GCPlaneMask | GCTileStipXOrigin | GCTileStipYOrigin; XChangeGC(display, gc, val_mask, &val ); if (PR_NOT_MPR(((Pixrect *) icon->ic_mpr))) { DRAWABLE_INFO_MACRO( (Xv_opaque) icon->ic_mpr, src_info ); + + /* stipple only if we have a bitmap icon */ + if (xv_depth(src_info) == 1) { + val.stipple = xv_xid(src_info); + val.fill_style = FillOpaqueStippled; + val_mask = GCFillStyle | GCStipple; + } else if (xv_depth(info) == xv_depth(src_info)) { + val.tile = xv_xid(src_info); + val.fill_style = FillTiled; + val_mask = GCFillStyle | GCTile; + } else { + xv_error(NULL, + ERROR_STRING, + XV_MSG("icon: can't handle drawables of different depth"), + 0); + return (XV_ERROR); + } + val.clip_mask = xv_xid(mask_info); ! val_mask |= GCClipMask; XChangeGC(display, gc, val_mask, &val ); if ( xv_rop_internal( display, xid, gc, icon->ic_gfxrect.r_left + x, diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/menu/Imakefile xview-3.2p1.4/lib/libxview/menu/Imakefile *** xview3.2p1-X11R6/lib/libxview/menu/Imakefile Tue Jun 29 07:16:10 1993 --- xview-3.2p1.4/lib/libxview/menu/Imakefile Mon Apr 28 14:45:15 1997 *************** *** 28,34 **** TEXT_OBJS =\ omi.o\ om_public.o\ ! om_render.o\ om_set.o\ om_get.o\ om_compat.o --- 28,34 ---- TEXT_OBJS =\ omi.o\ om_public.o\ ! om_render.o\ om_set.o\ om_get.o\ om_compat.o diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/menu/om_impl.h xview-3.2p1.4/lib/libxview/menu/om_impl.h *** xview3.2p1-X11R6/lib/libxview/menu/om_impl.h Tue Jun 29 07:16:08 1993 --- xview-3.2p1.4/lib/libxview/menu/om_impl.h Fri May 2 14:21:26 1997 *************** *** 118,123 **** --- 118,130 ---- Xv_Server server; int setting_default; int three_d; /* TRUE: 3D, FALSE: 2D */ + /* If we ran out of colors and reverted from 3D to 2D, we set + * three_d_override, so that future invocations of menu_show won't set + * three_d back to TRUE. + * + * martin-2.buck@student.uni-ulm.de + */ + int three_d_override; } Xv_menu_group_info; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/menu/om_public.c xview-3.2p1.4/lib/libxview/menu/om_public.c *** xview3.2p1-X11R6/lib/libxview/menu/om_public.c Tue Jun 29 07:16:10 1993 --- xview-3.2p1.4/lib/libxview/menu/om_public.c Fri May 2 14:27:31 1997 *************** *** 281,286 **** --- 281,287 ---- } xv_set(server, XV_KEY_DATA, menu_group_info_key, group_info, 0); group_info->server = server; + group_info->three_d_override = FALSE; } group_info->client_window = win; group_info->color_index = menu->color_index; *************** *** 309,314 **** --- 310,319 ---- #else group_info->three_d = FALSE; #endif + /* martin-2.buck@student.uni-ulm.de */ + if (group_info->three_d_override) { + group_info->three_d = FALSE; + } if (enable_rectp) menu->enable_rect = *enable_rectp; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/menu/om_render.c xview-3.2p1.4/lib/libxview/menu/om_render.c *** xview3.2p1-X11R6/lib/libxview/menu/om_render.c Tue Jun 29 07:16:09 1993 --- xview-3.2p1.4/lib/libxview/menu/om_render.c Fri May 2 16:38:40 1997 *************** *** 174,179 **** --- 174,183 ---- Rect shadowrect; int status; Rect used_window_rect; /* width = 0 => window not reused */ + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + int three_d_old; + #endif /* * Initial setup: Pull out group information. *************** *** 289,294 **** --- 293,302 ---- (Visual *)xv_get(group->client_window, XV_VISUAL)) xv_set(m->window, WIN_COLOR_INFO, color_info, 0); + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + three_d_old = m->group_info->three_d; + #endif if (!m->ginfo) m->ginfo = xv_init_olgx(m->window, &m->group_info->three_d, m->default_image.font); *************** *** 306,311 **** --- 314,328 ---- } xv_set(m->window, WIN_BACKGROUND_COLOR, 0, 0); } + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + if (three_d_old != m->group_info->three_d) { + m->group_info->three_d_override = TRUE; + } + /* BUG: If we arrived here, we should get a new window, because now we + * need a border around it. + */ + #endif /* Get the shadow window */ if (!m->group_info->three_d) { *************** *** 470,478 **** * Define the menu and shadow window dimensions. Note: shadow rect width & * height = menu rect width & height */ ! xv_set(m->window, XV_RECT, m->fs_menurect, 0); if (!m->group_info->three_d) ! xv_set(m->shadow_window, XV_RECT, shadowrect, 0); XFlush(XV_DISPLAY_FROM_WINDOW(m->window)); --- 487,495 ---- * Define the menu and shadow window dimensions. Note: shadow rect width & * height = menu rect width & height */ ! xv_set(m->window, XV_RECT, &m->fs_menurect, 0); if (!m->group_info->three_d) ! xv_set(m->shadow_window, XV_RECT, &shadowrect, 0); XFlush(XV_DISPLAY_FROM_WINDOW(m->window)); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/Imakefile xview-3.2p1.4/lib/libxview/misc/Imakefile *** xview3.2p1-X11R6/lib/libxview/misc/Imakefile Tue Jun 29 07:16:19 1993 --- xview-3.2p1.4/lib/libxview/misc/Imakefile Mon Apr 28 14:45:15 1997 *************** *** 38,49 **** #if XvNeedGettext GETTEXT.H = gettext.h GETTEXT.C = gettext.c #else GETTEXT.H = GETTEXT.C = #endif - GETTEXT.O = ${GETTEXT.C:%.c=%.o} HDRSPUBLIC= cms_grays.h cms_mono.h cmsrainbow.h cms_rgb.h sun.h \ window_hs.h expandname.h xv_c_types.h attrol.h db.h \ --- 38,50 ---- #if XvNeedGettext GETTEXT.H = gettext.h GETTEXT.C = gettext.c + GETTEXT.O = gettext.o #else GETTEXT.H = GETTEXT.C = + GETTEXT.O = #endif HDRSPUBLIC= cms_grays.h cms_mono.h cmsrainbow.h cms_rgb.h sun.h \ window_hs.h expandname.h xv_c_types.h attrol.h db.h \ *************** *** 57,63 **** demorandom.o\ getlogindr.o\ expandname.o\ ! expandpath.o\ bitmask.o\ hashfn.o\ db_conv.o\ --- 58,64 ---- demorandom.o\ getlogindr.o\ expandname.o\ ! expandpath.o\ bitmask.o\ hashfn.o\ db_conv.o\ *************** *** 76,82 **** demorandom.c\ getlogindr.c\ expandname.c\ ! expandpath.c\ bitmask.c\ hashfn.c\ db_conv.c\ --- 77,83 ---- demorandom.c\ getlogindr.c\ expandname.c\ ! expandpath.c\ bitmask.c\ hashfn.c\ db_conv.c\ *************** *** 95,101 **** demorandom.o\ getlogindr.o\ expandname.o\ ! expandpath.o\ bitmask.o\ hashfn.o\ db_conv.o\ --- 96,102 ---- demorandom.o\ getlogindr.o\ expandname.o\ ! expandpath.o\ bitmask.o\ hashfn.o\ db_conv.o\ *************** *** 115,121 **** demorandom.c\ getlogindr.c\ expandname.c\ ! expandpath.c\ bitmask.c\ hashfn.c\ db_conv.c\ --- 116,122 ---- demorandom.c\ getlogindr.c\ expandname.c\ ! expandpath.c\ bitmask.c\ hashfn.c\ db_conv.c\ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/expandname.c xview-3.2p1.4/lib/libxview/misc/expandname.c *** xview3.2p1-X11R6/lib/libxview/misc/expandname.c Tue Jun 29 07:16:13 1993 --- xview-3.2p1.4/lib/libxview/misc/expandname.c Mon Apr 28 14:45:15 1997 *************** *** 21,27 **** #include #include #include - #include #ifdef sparc #ifdef SVR4 --- 21,26 ---- diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/getlogindr.c xview-3.2p1.4/lib/libxview/misc/getlogindr.c *** xview3.2p1-X11R6/lib/libxview/misc/getlogindr.c Tue Jun 29 07:16:13 1993 --- xview-3.2p1.4/lib/libxview/misc/getlogindr.c Mon Apr 28 14:45:15 1997 *************** *** 24,30 **** --- 24,32 ---- xv_getlogindir() { extern char *getlogin(), *getenv(); + #ifndef __linux extern struct passwd *getpwnam(), *getpwuid(); + #endif struct passwd *passwdent; char *home, *loginname; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/gettext.h xview-3.2p1.4/lib/libxview/misc/gettext.h *** xview3.2p1-X11R6/lib/libxview/misc/gettext.h Tue Jun 29 07:16:14 1993 --- xview-3.2p1.4/lib/libxview/misc/gettext.h Mon Apr 28 14:45:15 1997 *************** *** 1,7 **** --- 1,11 ---- /* @(#)gettext.h 50.11 93/06/28 SMI */ #define DEFAULT_DOMAIN "default" + #ifndef __linux #define DEFAULT_BINDING "/usr/lib/locale\n" + #else + #define DEFAULT_BINDING "/usr/openwin/lib/locale\n" + #endif #define COOKIE 0xFF #define BINDINGLISTDELIM '\n' *************** *** 13,18 **** --- 17,25 ---- #include #ifdef OS_HAS_LOCALE #include + #if defined(__linux) && !defined(LC_MESSAGES) && defined(LC_RESPONSE) + #define LC_MESSAGES LC_RESPONSE + #endif #endif OS_HAS_LOCALE #include #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/i18n_impl.h xview-3.2p1.4/lib/libxview/misc/i18n_impl.h *** xview3.2p1-X11R6/lib/libxview/misc/i18n_impl.h Tue Jun 29 07:16:14 1993 --- xview-3.2p1.4/lib/libxview/misc/i18n_impl.h Mon Apr 28 14:45:15 1997 *************** *** 25,30 **** --- 25,35 ---- #include + /* Linux: gcc 2.4.x does not have LC_MESSAGES, but it has LC_RESPONSE instead */ + #if defined(__linux) && !defined(LC_MESSAGES) && defined(LC_RESPONSE) + #define LC_MESSAGES LC_RESPONSE + #endif + extern char *dgettext(); #define XV_I18N_MSG(d,s) (dgettext(d,s)) diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/portable.h xview-3.2p1.4/lib/libxview/misc/portable.h *** xview3.2p1-X11R6/lib/libxview/misc/portable.h Tue Jun 29 07:16:17 1993 --- xview-3.2p1.4/lib/libxview/misc/portable.h Thu May 29 02:34:21 1997 *************** *** 49,55 **** #define const #endif ! #ifdef SVR4 #define XV_BCOPY(a,b,c) memmove(b,a,c) #define XV_BZERO(a,b) memset(a,0,b) #define XV_INDEX(a,b) strchr(a,b) --- 49,55 ---- #define const #endif ! #if defined(SVR4) || defined(__linux) #define XV_BCOPY(a,b,c) memmove(b,a,c) #define XV_BZERO(a,b) memset(a,0,b) #define XV_INDEX(a,b) strchr(a,b) *************** *** 66,71 **** --- 66,75 ---- * Defines governing tty mode and pty behavior. (These are relevant to the * ttysw code.) */ + #ifdef __linux + #define XV_USE_TERMIOS + #undef XV_USE_SVR4_PTYS + #else #ifdef SVR4 #define XV_USE_TERMIOS #define XV_USE_SVR4_PTYS *************** *** 73,77 **** --- 77,82 ---- #undef XV_USE_TERMIOS #undef XV_USE_SVR4_PTYS #endif /* SVR4 */ + #endif /* __linux */ #endif /* xview_portable_h_DEFINED */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/wckind.c xview-3.2p1.4/lib/libxview/misc/wckind.c *** xview3.2p1-X11R6/lib/libxview/misc/wckind.c Tue Jun 29 07:16:18 1993 --- xview-3.2p1.4/lib/libxview/misc/wckind.c Tue Apr 29 20:52:32 1997 *************** *** 68,74 **** --- 68,79 ---- if (strcmp(locale, "C") == 0) goto c_locale; if ((openwinhome = getenv("OPENWINHOME")) == NULL) + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + openwinhome = OPENWINHOME_DEFAULT; + #else goto c_locale; + #endif (void) sprintf(path, "%s/lib/locale/%s/libs/wckind.so", openwinhome, locale); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/misc/xv_win_lp.c xview-3.2p1.4/lib/libxview/misc/xv_win_lp.c *** xview3.2p1-X11R6/lib/libxview/misc/xv_win_lp.c Tue Jun 29 07:16:16 1993 --- xview-3.2p1.4/lib/libxview/misc/xv_win_lp.c Mon Apr 28 14:45:15 1997 *************** *** 9,14 **** --- 9,19 ---- * pending in the U.S. and foreign countries. See LEGAL_NOTICE * file for terms of the license. */ + /* Modified by E. Zimmermann for the wxWindows project + * + * Status: Experimental + * Distribution: Restricted + */ #include #include *************** *** 24,29 **** --- 29,36 ---- static Frame xv_loop_frame = (Frame)NULL; static Xv_opaque xv_return; + static int count = 0; /* Keep track of modal count */ + extern Notify_func notify_set_scheduler_func(); Xv_public Xv_opaque *************** *** 34,39 **** --- 41,52 ---- Display *display; Notify_value (*save_sched_func)(); + count++; + /* + printf("xv_window_loop(%lx) called\n", (unsigned long)frame ); + printf("save_loop_frame = %lx\n", (unsigned long)save_loop_frame); + */ + if (!frame) { xv_error(NULL, ERROR_STRING, *************** *** 52,58 **** if (window_set_tree_flag(save_loop_frame, NULL, FALSE, FALSE) != XV_OK) { xv_error(save_loop_frame, ERROR_STRING, ! XV_MSG("xv_window_loop : Attempt to unblock input to windows failed"), 0); return(XV_ERROR); } --- 65,71 ---- if (window_set_tree_flag(save_loop_frame, NULL, FALSE, FALSE) != XV_OK) { xv_error(save_loop_frame, ERROR_STRING, ! XV_MSG("xv_window_loop : Attempt to unblock input to windows failed (1)"), 0); return(XV_ERROR); } *************** *** 166,175 **** /* * Unset window_loop flag for frame and its subwindows */ if (window_set_tree_flag(frame, NULL, FALSE, FALSE) != XV_OK) { xv_error(frame, ERROR_STRING, ! XV_MSG("xv_window_loop : Attempt to unblock input to windows failed"), 0); return(XV_ERROR); } --- 179,189 ---- /* * Unset window_loop flag for frame and its subwindows */ + if (--count) if (window_set_tree_flag(frame, NULL, FALSE, FALSE) != XV_OK) { xv_error(frame, ERROR_STRING, ! XV_MSG("xv_window_loop : Attempt to unblock input to windows failed (2)"), 0); return(XV_ERROR); } *************** *** 218,223 **** --- 232,241 ---- * Sync with server */ XFlush(display); + + /* + printf("Finishing loop of frame = %lx\n", (unsigned long)frame); + */ return xv_return; } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notice/notice_pt.c xview-3.2p1.4/lib/libxview/notice/notice_pt.c *** xview3.2p1-X11R6/lib/libxview/notice/notice_pt.c Tue Jun 29 07:16:23 1993 --- xview-3.2p1.4/lib/libxview/notice/notice_pt.c Mon Apr 28 14:45:16 1997 *************** *** 29,35 **** --- 29,40 ---- /* * Table containing valid values for OpenWindows.KeyboardCommands resource */ + #ifndef __linux Xv_private_data Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #else + /* Global already defined and initialized in server/server.c */ + extern Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #endif /* * --------------------------- Cursor Stuff ------------------------- diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/Imakefile xview-3.2p1.4/lib/libxview/notify/Imakefile *** xview3.2p1-X11R6/lib/libxview/notify/Imakefile Tue Jun 29 07:18:04 1993 --- xview-3.2p1.4/lib/libxview/notify/Imakefile Mon Apr 28 14:45:16 1997 *************** *** 48,54 **** nintr_wait.o nintrdeath.o nintremove.o nintrevent.o nintrexcpt.o \ nintritimr.o ntfy_cond.o ntfy_ctbl.o ntfy_debug.o ntfy_dump.o \ ntfy_fd_op.o ntfy_list.o ntfy_node.o ntfyclient.o ntfyperror.o \ ! ntfyprotec.o sys_fcntl.o sys_read.o sys_select.o SRCS= \ ndet_auto.c ndet_death.c ndet_die.c ndet_dodis.c ndet_event.c \ --- 48,54 ---- nintr_wait.o nintrdeath.o nintremove.o nintrevent.o nintrexcpt.o \ nintritimr.o ntfy_cond.o ntfy_ctbl.o ntfy_debug.o ntfy_dump.o \ ntfy_fd_op.o ntfy_list.o ntfy_node.o ntfyclient.o ntfyperror.o \ ! ntfyprotec.o sys_fcntl.o sys_read.o sys_select.o linux_select.o SRCS= \ ndet_auto.c ndet_death.c ndet_die.c ndet_dodis.c ndet_event.c \ *************** *** 69,76 **** nintr_wait.c nintrdeath.c nintremove.c nintrevent.c nintrexcpt.c \ nintritimr.c notifydata.c ntfy_cond.c ntfy_ctbl.c ntfy_debug.c \ ntfy_dump.c ntfy_fd_op.c ntfy_list.c ntfy_node.c ntfyclient.c \ ! ntfyperror.c ntfyprotec.c sys_fcntl.c sys_read.c sys_select.c ! LIBTARGET = xview --- 69,76 ---- nintr_wait.c nintrdeath.c nintremove.c nintrevent.c nintrexcpt.c \ nintritimr.c notifydata.c ntfy_cond.c ntfy_ctbl.c ntfy_debug.c \ ntfy_dump.c ntfy_fd_op.c ntfy_list.c ntfy_node.c ntfyclient.c \ ! ntfyperror.c ntfyprotec.c sys_fcntl.c sys_read.c sys_select.c \ ! linux_select.c LIBTARGET = xview diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/linux_select.c xview-3.2p1.4/lib/libxview/notify/linux_select.c *** xview3.2p1-X11R6/lib/libxview/notify/linux_select.c Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/lib/libxview/notify/linux_select.c Mon Apr 28 14:45:16 1997 *************** *** 0 **** --- 1,63 ---- + /* Function for calling the select(2) system call in linux. + * Linux doesn't have a syscall() function, this replaces it + * for select(), fcntl() and read(). + * Kudos to Rick Sladkey (jrs@world.std.com) for suggesting + * this method. */ + + #include + + /* #define __LIBRARY__ */ + #include + /* #undef __LIBRARY__ */ + + #ifdef DEBUG + #include + #endif + + #define SYS_sys_select SYS_select + #define SYS_sys_fcntl SYS_fcntl + #define SYS_sys_read SYS_read + + /* Create function sys_select(), which can be called instead of + * syscall(SYS_select, args...) */ + + _syscall1(int,sys_select, unsigned long *, buffer); + + int linux_select(int width, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, struct timeval *timeout) { + unsigned long selargs[5]; + static struct timeval tout_copy; + + #ifdef DEBUG + fprintf(stderr, "linux_select(%ld, %ld, %ld, %ld, %ld)...", + (unsigned long)width, (unsigned long)readfds, + (unsigned long)writefds, (unsigned long)exceptfds, + (unsigned long)timeout); + #endif + selargs[0] = (unsigned long)width; + selargs[1] = (unsigned long)readfds; + selargs[2] = (unsigned long)writefds; + selargs[3] = (unsigned long)exceptfds; + if (timeout != NULL) { + tout_copy = *timeout; + selargs[4] = (unsigned long)&tout_copy; + } + else + selargs[4] = (unsigned long)timeout; + #ifndef DEBUG + return sys_select(selargs); + #else + { + int res = sys_select(selargs); + fprintf(stderr, "returned %d\n", res); + return res; + } + #endif + } + + /* Replacement for syscall(SYS_fcntl,...) */ + _syscall3(int, sys_fcntl, int, fildes, int, cmd, int, arg); + + /* Replacement for syscall(SYS_read,...) */ + _syscall3(int, sys_read, int, fildes, char *, buf, off_t, cnt); + diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/linux_select.h xview-3.2p1.4/lib/libxview/notify/linux_select.h *** xview3.2p1-X11R6/lib/libxview/notify/linux_select.h Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/lib/libxview/notify/linux_select.h Mon Apr 28 14:45:16 1997 *************** *** 0 **** --- 1,16 ---- + /* Header for linux versions of system calls which are + * called through syscall() in XView. We don't use syscall, + * but the unistd.h macros in the kernel sources. */ + + #ifndef __LINUX_SELECT_H + #define __LINUX_SELECT_H + + #include + #include + + int linux_select(int width, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, struct timeval *timeout); + int sys_fcntl(int fildes, int cmd, int arg); + int sys_read(int fildes, char * buf, off_t cnt); + + #endif __LINUX_SELECT_H diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ndet_auto.c xview-3.2p1.4/lib/libxview/notify/ndet_auto.c *** xview3.2p1-X11R6/lib/libxview/notify/ndet_auto.c Tue Jun 29 07:18:02 1993 --- xview-3.2p1.4/lib/libxview/notify/ndet_auto.c Mon Apr 28 14:45:16 1997 *************** *** 73,79 **** --- 73,82 ---- /* Auto sig is async */); /* Sweep all conditions & send notifications (recursive enumeration) */ switch (condition->data.signal) { + #ifndef __linux + /* In linux SIGIO == SIGURG */ case SIGIO: + #endif case SIGURG:{ NDET_ENUM_SEND enum_send2; register int loop_limiter = 0; *************** *** 148,154 **** enum_send->wait3 = &wd; /* Look for as many children as have changed state */ ! #ifndef SVR4 while ((wd.pid = wait3(&wd.status, WNOHANG | WUNTRACED, &wd.rusage)) > 0) #else --- 151,157 ---- enum_send->wait3 = &wd; /* Look for as many children as have changed state */ ! #if !defined(SVR4) && !defined(__linux) while ((wd.pid = wait3(&wd.status, WNOHANG | WUNTRACED, &wd.rusage)) > 0) #else diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ndet_fcntl.c xview-3.2p1.4/lib/libxview/notify/ndet_fcntl.c *** xview3.2p1-X11R6/lib/libxview/notify/ndet_fcntl.c Tue Jun 29 07:17:46 1993 --- xview-3.2p1.4/lib/libxview/notify/ndet_fcntl.c Mon Apr 28 14:45:16 1997 *************** *** 22,29 **** #ifdef SVR4 #include #endif SVR4 ! extern int #ifdef SVR4 xv_fcntl(fd, cmd, arg) #else --- 22,33 ---- #ifdef SVR4 #include #endif SVR4 + #ifdef __linux + #include + #endif ! int ! #ifndef __linux #ifdef SVR4 xv_fcntl(fd, cmd, arg) #else *************** *** 33,38 **** --- 37,54 ---- { fd_set bit; int res; + #else /* __linux */ + /* fcntl() is declared using variable args in linux */ + fcntl(int fd, int cmd, ...) { + fd_set bit; + int res; + va_list args; + int arg; + + va_start(args, cmd); + arg = va_arg(args, int); + va_end(args); + #endif /* __linux */ /* Set fd bit */ FD_ZERO(&bit); *************** *** 58,79 **** --- 74,104 ---- if (cmd == F_GETFL) arg = res; NTFY_BEGIN_CRITICAL; + #if defined(__linux) && !defined(FNDELAY) + if (arg & O_NONBLOCK) + FD_SET(fd, &ndet_fndelay_mask); + #else if (arg & FNDELAY) FD_SET(fd, &ndet_fndelay_mask); + #endif #ifdef FNBIO else if (arg & FNBIO) FD_SET(fd, &ndet_fndelay_mask); #endif else FD_CLR(fd, &ndet_fndelay_mask); + #if !defined(__linux) || defined(FASYNC) if (arg & FASYNC) FD_SET(fd, &ndet_fndelay_mask); else FD_CLR(fd, &ndet_fndelay_mask); + #endif /* Make sure that are catching async related signals now */ if (ntfy_fd_anyset(&ndet_fasync_mask)) { ndet_enable_sig(SIGIO); + #ifndef __linux ndet_enable_sig(SIGURG); + #endif } /* * Setting NDET_FD_CHANGE will "fix up" signals being caught to be diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ndet_loop.c xview-3.2p1.4/lib/libxview/notify/ndet_loop.c *** xview3.2p1-X11R6/lib/libxview/notify/ndet_loop.c Tue Jun 29 07:18:02 1993 --- xview-3.2p1.4/lib/libxview/notify/ndet_loop.c Mon Apr 28 14:45:16 1997 *************** *** 19,30 **** --- 19,34 ---- #include #include #include /* For ndis_dispatch */ + #ifndef __linux #ifndef SVR4 #include #else SVR4 #include #include #endif SVR4 + #else /* __linux */ + #include "linux_select.h" + #endif #include #include #include *************** *** 55,61 **** /* NOTE! This assumes NSIG is 32. Not very portable */ /* ndet_prev_sigvec needs to start off at all zeros */ ! #ifndef SVR4 pkg_private_data struct sigvec ndet_prev_sigvec[NSIG] = { {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, --- 59,65 ---- /* NOTE! This assumes NSIG is 32. Not very portable */ /* ndet_prev_sigvec needs to start off at all zeros */ ! #if !defined(SVR4) && !defined(__linux) pkg_private_data struct sigvec ndet_prev_sigvec[NSIG] = { {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, *************** *** 76,88 **** pkg_private void ndet_signal_catcher(); #endif ! #ifndef SVR4 pkg_private_data struct sigvec ndet_sigvec = {ndet_signal_catcher, 0, 0}; static int ndet_signal_code; static struct sigcontext *ndet_signal_context; #else SVR4 pkg_private_data struct sigaction ndet_sigvec = {SA_RESTART, {ndet_signal_catcher}, {0}, {0,0}}; static int ndet_signal_code; static ucontext_t *ndet_signal_context; #endif SVR4 --- 80,96 ---- pkg_private void ndet_signal_catcher(); #endif ! #if !defined(SVR4) && !defined(__linux) pkg_private_data struct sigvec ndet_sigvec = {ndet_signal_catcher, 0, 0}; static int ndet_signal_code; static struct sigcontext *ndet_signal_context; #else SVR4 pkg_private_data struct sigaction ndet_sigvec = + #ifndef __linux {SA_RESTART, {ndet_signal_catcher}, {0}, {0,0}}; + #else + {ndet_signal_catcher,0,SA_RESTART,NULL}; /* handler,mask,flags,restorer */ + #endif static int ndet_signal_code; static ucontext_t *ndet_signal_context; #endif SVR4 *************** *** 225,233 **** --- 233,246 ---- * select, not ON THE WAY into select). */ #ifndef SVR4 + #ifndef __linux nfds = syscall(SYS_select, FD_SETSIZE, &ibits, &obits, &ebits, (sigisempty(&ndet_sigs_received)) ? timer : &ndet_polling_tv); + #else + nfds = linux_select(FD_SETSIZE, &ibits, &obits, &ebits, + (sigisempty(&ndet_sigs_received)) ? timer : &ndet_polling_tv); + #endif #else SVR4 nfds = notify_select(FD_SETSIZE, &ibits, &obits, &ebits, (sigisempty(&ndet_sigs_received)) ? timer : &ndet_polling_tv); *************** *** 401,407 **** --- 414,422 ---- FD_ZERO(&ndet_obits); FD_ZERO(&ndet_ebits); sigdelset( &ndet_sigs_auto, SIGIO ); + #ifndef __linux sigdelset( &ndet_sigs_auto, SIGURG ); + #endif /* Recompute all bits */ (void) ntfy_new_enum_conditions(ntfy_cndtbl[(int) NTFY_INPUT], ndet_fd_change, NTFY_ENUM_DATA_NULL); *************** *** 411,417 **** --- 426,434 ---- ndet_fd_change, NTFY_ENUM_DATA_NULL); /* Toggle notifier auto signal catching if situation changed */ ndet_toggle_auto(&sigs_tmp, SIGIO); + #ifndef __linux ndet_toggle_auto(&sigs_tmp, SIGURG); + #endif } /* ARGSUSED */ *************** *** 715,721 **** /* * Don't catch this signal, currently we are */ ! #ifndef SVR4 n = sigvec(sig, &ndet_prev_sigvec[sig], (struct sigvec *) 0); /* SYSTEM CALL */ ntfy_assert(n == 0, 6 /* Unexpected error: sigvec */); --- 732,738 ---- /* * Don't catch this signal, currently we are */ ! #if !defined(SVR4) && !defined(__linux) n = sigvec(sig, &ndet_prev_sigvec[sig], (struct sigvec *) 0); /* SYSTEM CALL */ ntfy_assert(n == 0, 6 /* Unexpected error: sigvec */); *************** *** 743,749 **** int n; /* Arrange to catch this signal, currently we are not */ ! #ifndef SVR4 n = sigvec(sig, &ndet_sigvec, &ndet_prev_sigvec[sig]); /* SYSTEM CALL */ ntfy_assert(n == 0, 8 /* Unexpected error: sigvec */); --- 760,766 ---- int n; /* Arrange to catch this signal, currently we are not */ ! #if !defined(SVR4) && !defined(__linux) n = sigvec(sig, &ndet_sigvec, &ndet_prev_sigvec[sig]); /* SYSTEM CALL */ ntfy_assert(n == 0, 8 /* Unexpected error: sigvec */); *************** *** 768,781 **** ndet_signal_catcher(sig, code, scp) int sig; int code; ! #ifndef SVR4 struct sigcontext *scp; #else SVR4 ucontext_t *scp; #endif SVR4 { ! #ifdef SVR4 void (*old_handler) () = ndet_prev_sigvec[sig].sa_handler; #else void (*old_handler) () = ndet_prev_sigvec[sig].sv_handler; --- 785,798 ---- ndet_signal_catcher(sig, code, scp) int sig; int code; ! #if !defined(SVR4) && !defined(__linux) struct sigcontext *scp; #else SVR4 ucontext_t *scp; #endif SVR4 { ! #if defined(SVR4) || defined(__linux) void (*old_handler) () = ndet_prev_sigvec[sig].sa_handler; #else void (*old_handler) () = ndet_prev_sigvec[sig].sv_handler; *************** *** 1031,1037 **** return (ndet_signal_code); } ! #ifndef SVR4 extern struct sigcontext * #else SVR4 extern ucontext_t * --- 1048,1054 ---- return (ndet_signal_code); } ! #if !defined(SVR4) && !defined(__linux) extern struct sigcontext * #else SVR4 extern ucontext_t * diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ndetsitimr.c xview-3.2p1.4/lib/libxview/notify/ndetsitimr.c *** xview3.2p1-X11R6/lib/libxview/notify/ndetsitimr.c Tue Jun 29 07:17:49 1993 --- xview-3.2p1.4/lib/libxview/notify/ndetsitimr.c Mon Apr 28 14:45:16 1997 *************** *** 82,88 **** * Have notifier check for itimer changes next time around loop. Will * notice and adjust signal handling at this time. */ ! ndet_flags |= (type == NTFY_REAL_ITIMER) ? NDET_REAL_CHANGE : NDET_VIRTUAL_CHANGE; Done: NTFY_END_CRITICAL; --- 82,88 ---- * Have notifier check for itimer changes next time around loop. Will * notice and adjust signal handling at this time. */ ! ndet_flags |= (type == NTFY_REAL_ITIMER) ? NDET_REAL_CHANGE : NDET_VIRTUAL_CHANGE; Done: NTFY_END_CRITICAL; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ndis_d_pri.c xview-3.2p1.4/lib/libxview/notify/ndis_d_pri.c *** xview3.2p1-X11R6/lib/libxview/notify/ndis_d_pri.c Tue Jun 29 07:17:44 1993 --- xview-3.2p1.4/lib/libxview/notify/ndis_d_pri.c Mon Apr 28 14:45:16 1997 *************** *** 16,21 **** --- 16,24 ---- #include #include #include + #if defined(__linux) && !defined(NBBY) + #define NBBY 8 + #endif typedef enum notify_error (*Notify_error_func) (); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/notify.h xview-3.2p1.4/lib/libxview/notify/notify.h *** xview3.2p1-X11R6/lib/libxview/notify/notify.h Tue Jun 29 07:17:58 1993 --- xview-3.2p1.4/lib/libxview/notify/notify.h Mon Apr 28 14:45:16 1997 *************** *** 22,33 **** --- 22,38 ---- #include #include #include + #ifndef __linux #ifdef SYSV_WAIT #include #endif #ifdef SYSV_UCONTEXT #include #endif + #else /* __linux */ + #include /* sigset_t */ + typedef int ucontext_t; + #endif /* *********************************************************************** *************** *** 277,283 **** #ifndef SYSV_UCONTEXT EXTERN_FUNCTION (struct sigcontext *notify_get_signal_context, (void)); ! #else EXTERN_FUNCTION (ucontext_t *notify_get_signal_context, (void)); #endif --- 282,288 ---- #ifndef SYSV_UCONTEXT EXTERN_FUNCTION (struct sigcontext *notify_get_signal_context, (void)); ! #else EXTERN_FUNCTION (ucontext_t *notify_get_signal_context, (void)); #endif diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ntfy.h xview-3.2p1.4/lib/libxview/notify/ntfy.h *** xview3.2p1-X11R6/lib/libxview/notify/ntfy.h Tue Jun 29 07:17:57 1993 --- xview-3.2p1.4/lib/libxview/notify/ntfy.h Mon Apr 28 14:45:16 1997 *************** *** 149,155 **** */ typedef struct ntfy_wait3_data { int pid; /* Process waiting for */ ! #ifndef SVR4 union wait status; /* Return value from wait3 */ #else SVR4 int status; /* Return value from wait3 */ --- 149,155 ---- */ typedef struct ntfy_wait3_data { int pid; /* Process waiting for */ ! #if !defined(SVR4) && !defined(__linux) union wait status; /* Return value from wait3 */ #else SVR4 int status; /* Return value from wait3 */ *************** *** 456,462 **** /* * Debugging aids. */ ! #define NTFY_DEBUG 1 /* * Ntfy_set_errno is for setting notify_errno when there is really something * wrong. An error message is displayed with notifier code has been compiled --- 456,462 ---- /* * Debugging aids. */ ! #define NTFY_DEBUG 0 /* * Ntfy_set_errno is for setting notify_errno when there is really something * wrong. An error message is displayed with notifier code has been compiled diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ntfy_ctbl.c xview-3.2p1.4/lib/libxview/notify/ntfy_ctbl.c *** xview3.2p1-X11R6/lib/libxview/notify/ntfy_ctbl.c Tue Jun 29 07:18:04 1993 --- xview-3.2p1.4/lib/libxview/notify/ntfy_ctbl.c Fri May 30 02:42:41 1997 *************** *** 108,113 **** --- 108,118 ---- NTFY_ENUM_FUNC enum_func; NTFY_ENUM_DATA context; { + #if 1 + /* See comment below */ + /* martin-2.buck@student.uni-ulm.de */ + NTFY_CNDTBL *orig_cnd_list = cnd_list; + #endif if (!cnd_list) return (NTFY_ENUM_NEXT); *************** *** 128,133 **** --- 133,157 ---- default:{ } } + #if 1 + /* The call to enum_func above might result in a call to + * ndet_itimer_change which might call ndet_itimer_expired which in + * turn might call notify_set_itimer_func. This however can change + * our cnd_list. A comment in ndet_itimer_expired says that + * ntfy_new_enum_conditions is designed to survive this, which, of + * course, it is not. So before dereferencing any further cnd_list + * entries, we first check if the original cnd_list we got passed + * is still valid. + * Oh, BTW: I've got absolutely no idea what's going on here, but I + * hope this is a suitable fix. At least it prevents fullscreen- + * programs like vi from causing cmdtool to dump core. + * + * martin-2.buck@student.uni-ulm.de + */ + if (!orig_cnd_list->next) { + break; + } + #endif cnd_list = cnd_list->next; } return (NTFY_ENUM_NEXT); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ntfy_fd_op.c xview-3.2p1.4/lib/libxview/notify/ntfy_fd_op.c *** xview3.2p1-X11R6/lib/libxview/notify/ntfy_fd_op.c Tue Jun 29 07:17:46 1993 --- xview-3.2p1.4/lib/libxview/notify/ntfy_fd_op.c Mon Apr 28 14:45:16 1997 *************** *** 10,15 **** --- 10,18 ---- * file for terms of the license. */ + #ifdef __linux + #include + #endif #include #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/ntfyclient.c xview-3.2p1.4/lib/libxview/notify/ntfyclient.c *** xview3.2p1-X11R6/lib/libxview/notify/ntfyclient.c Tue Jun 29 07:17:54 1993 --- xview-3.2p1.4/lib/libxview/notify/ntfyclient.c Mon Apr 28 14:45:16 1997 *************** *** 15,24 **** --- 15,36 ---- * dispatcher share. */ + /* This file seems to implement some kind of speed hack using b-trees + * to locate notifier clients. Linux does not have the search code in + * the libs, so I removed it in the hope that it keeps working, albeit + * slower. Of course it would be nice if someone added tsearch() & friends + * for linux (see on Solaris). (lmfken) */ + /* Newsflash: As of libc-5.0.9, Linux has tsearch() & friends, so we define + * HAVE_TSEARCH here. + */ + #define HAVE_TSEARCH + #include #include /* For ndis_default_prioritizer */ #include + #ifdef HAVE_TSEARCH #include + #endif #include /* Variables used in paranoid enumerator (see ntfy_condition) */ *************** *** 29,34 **** --- 41,47 ---- static void *ndet_rootv; static void **ndet_root = &ndet_rootv; + #ifdef HAVE_TSEARCH static int ndet_compar( key1, key2 ) const void *key1, *key2; *************** *** 45,50 **** --- 58,64 ---- key2a = tmp1 | ((key2a << 5) & 0x001f0000) | tmp; return key1a - key2a; } + #endif /* HAVE_TSEARCH */ pkg_private NTFY_CLIENT * ntfy_find_nclient(client_list, nclient, client_latest) *************** *** 60,65 **** --- 74,80 ---- if (*client_latest && (*client_latest)->nclient == nclient) return (*client_latest); + #ifdef HAVE_TSEARCH if(( client_list == ndet_clients ) && ndet_clients ) { dummy_client.nclient = nclient; /* Find client */ *************** *** 75,80 **** --- 90,96 ---- } else + #endif /* HAVE_TSEARCH */ /* Search entire list */ for (client = client_list; client; client = next) { next = client->next; *************** *** 98,105 **** NTFY_CLIENT **client_latest; { register NTFY_CLIENT *client; ! static NTFY_CLIENT *new_client; if( client_list == &ndet_clients ) { if( new_client == NTFY_CLIENT_NULL ) { if ((new_client = ntfy_alloc_client()) == NTFY_CLIENT_NULL) --- 114,122 ---- NTFY_CLIENT **client_latest; { register NTFY_CLIENT *client; ! static NTFY_CLIENT *new_client = NTFY_CLIENT_NULL; + #ifdef HAVE_TSEARCH if( client_list == &ndet_clients ) { if( new_client == NTFY_CLIENT_NULL ) { if ((new_client = ntfy_alloc_client()) == NTFY_CLIENT_NULL) *************** *** 120,126 **** return client; } ! else if ((client = ntfy_find_nclient(*client_list, nclient, client_latest)) != NTFY_CLIENT_NULL) return client; /* Allocate client */ --- 137,145 ---- return client; } ! else ! #endif /* HAVE_TSEARCH */ ! if ((client = ntfy_find_nclient(*client_list, nclient, client_latest)) != NTFY_CLIENT_NULL) return client; /* Allocate client */ *************** *** 162,170 **** --- 181,191 ---- next = condition->next; ntfy_remove_condition(client, condition, who); } + #ifdef HAVE_TSEARCH /* Remove & free client from client_list */ if( client_list == &ndet_clients ) tdelete( client, ndet_root, ndet_compar ); + #endif /* HAVE_TSEARCH */ ntfy_remove_node((NTFY_NODE **) client_list, (NTFY_NODE *) client); /* Invalidate condition hint */ *client_latest = NTFY_CLIENT_NULL; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/sys_fcntl.c xview-3.2p1.4/lib/libxview/notify/sys_fcntl.c *** xview3.2p1-X11R6/lib/libxview/notify/sys_fcntl.c Tue Jun 29 07:18:00 1993 --- xview-3.2p1.4/lib/libxview/notify/sys_fcntl.c Mon Apr 28 14:45:16 1997 *************** *** 15,21 **** --- 15,25 ---- */ #ifndef SVR4 + #ifndef __linux #include + #else + #include "linux_select.h" + #endif #else SVR4 #include #endif SVR4 *************** *** 25,29 **** --- 29,37 ---- notify_fcntl(fd, cmd, arg) int fd, cmd, arg; { + #ifndef __linux return (syscall(SYS_fcntl, fd, cmd, arg)); + #else + return (sys_fcntl(fd, cmd, arg)); + #endif } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/sys_read.c xview-3.2p1.4/lib/libxview/notify/sys_read.c *** xview3.2p1-X11R6/lib/libxview/notify/sys_read.c Tue Jun 29 07:17:44 1993 --- xview-3.2p1.4/lib/libxview/notify/sys_read.c Mon Apr 28 14:45:16 1997 *************** *** 15,21 **** --- 15,25 ---- */ #ifndef SVR4 + #ifndef __linux #include + #else + #include "linux_select.h" + #endif #else SVR4 #include #endif SVR4 *************** *** 27,31 **** --- 31,39 ---- char *buf; int nbytes; { + #ifndef __linux return (syscall(SYS_read, fd, buf, nbytes)); + #else + return (sys_read(fd, buf, (off_t)nbytes)); + #endif } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/notify/sys_select.c xview-3.2p1.4/lib/libxview/notify/sys_select.c *** xview3.2p1-X11R6/lib/libxview/notify/sys_select.c Tue Jun 29 07:17:54 1993 --- xview-3.2p1.4/lib/libxview/notify/sys_select.c Mon Apr 28 14:45:16 1997 *************** *** 15,21 **** --- 15,25 ---- */ #ifndef SVR4 + #ifndef __linux #include + #else + #include "linux_select.h" + #endif #else SVR4 #include #include *************** *** 41,47 **** --- 45,56 ---- notify_select(nfds, in0, out0, ex0, tv) #endif SVR4 #ifndef SVR4 + #ifndef __linux int nfds, *readfds, *writefds, *exceptfds; + #else + int nfds; + fd_set *readfds, *writefds, *exceptfds; + #endif /* __linux */ #else SVR4 int nfds; fd_set *in0, *out0, *ex0; *************** *** 50,59 **** --- 59,76 ---- { #ifndef SVR4 + #ifndef __linux nfds = syscall(SYS_select, nfds, readfds, writefds, exceptfds, tv); ntfy_assert(!(nfds == 0 && tv == (struct timeval *) 0 && *readfds == 0 && *writefds == 0 && *exceptfds == 0), 39 /* SYS_select returned when no stimuli */); + #else + nfds = linux_select(nfds, readfds, writefds, exceptfds, tv); + ntfy_assert(!(nfds == 0 && tv == (struct timeval *) 0 && + readfds->fds_bits[0] == 0 && writefds->fds_bits[0] == 0 && + exceptfds->fds_bits[0] == 0), 39 + /* SYS_select returned when no stimuli */); + #endif return (nfds); #else SVR4 /* register declarations ordered by expected frequency of use */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/openwin/ow_view.c xview-3.2p1.4/lib/libxview/openwin/ow_view.c *** xview3.2p1-X11R6/lib/libxview/openwin/ow_view.c Tue Jun 29 07:16:26 1993 --- xview-3.2p1.4/lib/libxview/openwin/ow_view.c Mon Apr 28 14:45:16 1997 *************** *** 101,107 **** --- 101,115 ---- } } + /* Linux: openwin_check_views() has turned static in 3.2, but is not + * called from anywhere. openwin_check_view() is made redundant at the same + * time. Is this a xview bug or can these routines be removed altogether?? + * Change static to Pkg_private on linux, for now. */ + #ifndef __linux static int + #else + Pkg_private int + #endif openwin_check_views(owin) Xv_openwin_info *owin; { diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/panel/p_list.c xview-3.2p1.4/lib/libxview/panel/p_list.c *** xview3.2p1-X11R6/lib/libxview/panel/p_list.c Tue Jun 29 07:16:31 1993 --- xview-3.2p1.4/lib/libxview/panel/p_list.c Mon Apr 28 14:45:16 1997 *************** *** 3136,3145 **** --- 3136,3154 ---- /* Paint text */ if (row->STRING) { + /* I have no idea if this is the proper solution, but it fixes */ + /* the bug that causes PANEL_LISTS to be drawn with the wrong */ + /* foreground-color sometimes. */ + /* martin-2.buck@student.uni-ulm.de */ + #if 1 + XSetForeground(display, gc_list[SCREEN_TEXT_GC], + (ip->color_index >= 0) ? fg_pixval : xv_fg(info)); + #else if (ip->color_index >= 0) { XSetForeground(display, gc_list[SCREEN_TEXT_GC], fg_pixval); } + #endif if (row->font) { font = row->font; #ifndef OW_I18N *************** *** 3789,3795 **** /* weigh timeval's against multiclick-timeout resource */ is_multiclick = panel_is_multiclick(ip->panel, ! dp->last_click_row->click_time, &event_time(event) ); --- 3798,3804 ---- /* weigh timeval's against multiclick-timeout resource */ is_multiclick = panel_is_multiclick(ip->panel, ! &dp->last_click_row->click_time, &event_time(event) ); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/panel/p_num_txt.c xview-3.2p1.4/lib/libxview/panel/p_num_txt.c *** xview3.2p1-X11R6/lib/libxview/panel/p_num_txt.c Tue Jun 29 07:16:46 1993 --- xview-3.2p1.4/lib/libxview/panel/p_num_txt.c Mon Apr 28 14:45:16 1997 *************** *** 707,713 **** --- 707,718 ---- event_init( &event ); /* send empty, bogus event */ if (ip->notify) + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + (*ip->notify) (ITEM_PUBLIC(ip), &event); + #else (*ip->notify) (ITEM_PUBLIC(ip), event); + #endif /* UP_INACTIVE flag is set in set_value(); if *************** *** 724,730 **** --- 729,740 ---- event_init( &event ); /* send empty, bogus event */ if (ip->notify) + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + (*ip->notify) (ITEM_PUBLIC(ip), &event); + #else (*ip->notify) (ITEM_PUBLIC(ip), event); + #endif if (dp->btn_state & DOWN_INACTIVE) panel_autoscroll_stop_itimer( item ); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/panel/p_set.c xview-3.2p1.4/lib/libxview/panel/p_set.c *** xview3.2p1-X11R6/lib/libxview/panel/p_set.c Tue Jun 29 07:16:42 1993 --- xview-3.2p1.4/lib/libxview/panel/p_set.c Tue Apr 29 18:46:10 1997 *************** *** 14,20 **** #include #include #include - #include #include Xv_private void win_set_no_focus(); --- 14,19 ---- *************** *** 509,516 **** --- 508,523 ---- font_info = (XFontStruct *) xv_get(glyph_font, FONT_INFO); if (font_info->per_char) { + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + active_caret_info = font_info->per_char[OLGX_ACTIVE_CARET - + font_info->min_char_or_byte2]; + inactive_caret_info = font_info->per_char[OLGX_INACTIVE_CARET - + font_info->min_char_or_byte2]; + #else active_caret_info = font_info->per_char[OLGX_ACTIVE_CARET]; inactive_caret_info = font_info->per_char[OLGX_INACTIVE_CARET]; + #endif } else { active_caret_info = font_info->min_bounds; inactive_caret_info = font_info->min_bounds; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/panel/p_utl.c xview-3.2p1.4/lib/libxview/panel/p_utl.c *** xview3.2p1-X11R6/lib/libxview/panel/p_utl.c Tue Jun 29 07:16:34 1993 --- xview-3.2p1.4/lib/libxview/panel/p_utl.c Mon Apr 28 14:45:16 1997 *************** *** 169,179 **** --- 169,181 ---- xv_free(image_string_wc(dest)); } #else + #ifndef __linux { if (image_string(dest)) xv_free(image_string(dest)); } #endif + #endif size.x = size.y = 0; dest->im_type = type_code; *************** *** 195,200 **** --- 197,212 ---- value_str = ""; if (!(str = (char *) panel_strsave((u_char *) value_str))) return (size); + #ifdef __linux + /* XView bug: This routine sometimes used a value that was already freed, + * leading to clobbered menu items. The problem is the + * 'xv_free(image_string(dest))' above. In some cases the new 'value' + * was the same memory area as 'image_string(dest)'. If free() modifies + * a freed buffer, the bug becomes visible. Kludgy fix for Linux. The + * real fix should probably be somewhere else. (lmfken Oct-93) */ + if (image_string(dest)) + xv_free(image_string(dest)); + #endif image_set_string(dest, str); #endif /* OW_I18N */ panel_image_set_font(dest, font); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/panel/panel.c xview-3.2p1.4/lib/libxview/panel/panel.c *** xview3.2p1-X11R6/lib/libxview/panel/panel.c Tue Jun 29 07:16:40 1993 --- xview-3.2p1.4/lib/libxview/panel/panel.c Mon Apr 28 14:45:16 1997 *************** *** 28,34 **** --- 28,38 ---- static int panel_layout(); + #ifndef __linux Xv_private_data Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #else + extern Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #endif /* default timer value */ static struct itimerval PANEL_TIMER = {0, 500000, 0, 500000}; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/panel/panel_impl.h xview-3.2p1.4/lib/libxview/panel/panel_impl.h *** xview3.2p1-X11R6/lib/libxview/panel/panel_impl.h Tue Jun 29 07:16:33 1993 --- xview-3.2p1.4/lib/libxview/panel/panel_impl.h Mon Apr 28 14:45:17 1997 *************** *** 10,16 **** #define panel_impl_defined #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 10,16 ---- #define panel_impl_defined #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/pw/pw_line.c xview-3.2p1.4/lib/libxview/pw/pw_line.c *** xview3.2p1-X11R6/lib/libxview/pw/pw_line.c Tue Jun 29 07:14:55 1993 --- xview-3.2p1.4/lib/libxview/pw/pw_line.c Sun Jun 15 00:57:20 1997 *************** *** 26,32 **** { XGCValues gc_val; unsigned long gc_mask = GCLineWidth | GCLineStyle; ! char *dash_set; int p_len; char *pw_short_to_char(); Xv_Drawable_info *info; --- 26,32 ---- { XGCValues gc_val; unsigned long gc_mask = GCLineWidth | GCLineStyle; ! char *dash_set = NULL; int p_len; char *pw_short_to_char(); Xv_Drawable_info *info; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/pw/xv_rop.c xview-3.2p1.4/lib/libxview/pw/xv_rop.c *** xview3.2p1-X11R6/lib/libxview/pw/xv_rop.c Tue Jun 29 07:14:53 1993 --- xview-3.2p1.4/lib/libxview/pw/xv_rop.c Mon Apr 28 19:02:08 1997 *************** *** 171,190 **** height = (height > ((Pixrect *) src)->pr_size.y) ? ((Pixrect *) src)->pr_size.y : height; ! if (xv_depth(dest_info) == xv_depth(src_info)) { ! if (xv_depth(dest_info) == 1) { ! changes.stipple = xv_xid(src_info); ! changes.fill_style = FillOpaqueStippled; ! changes_mask |= GCFillStyle | GCStipple; ! } else { ! changes.tile = xv_xid(src_info); ! changes.fill_style = FillTiled; ! changes_mask |= GCTile | GCFillStyle; ! } ! } else if (xv_depth(dest_info) > xv_depth(src_info)) { ! changes.stipple = xv_xid(src_info); ! changes.fill_style = FillOpaqueStippled; ! changes_mask |= GCStipple | GCFillStyle; } else { xv_error(NULL, ERROR_STRING, --- 171,185 ---- height = (height > ((Pixrect *) src)->pr_size.y) ? ((Pixrect *) src)->pr_size.y : height; ! /* stipple only if we have a bitmap src */ ! if (xv_depth(src_info) == 1) { ! changes.stipple = xv_xid(src_info); ! changes.fill_style = FillOpaqueStippled; ! changes_mask |= GCStipple | GCFillStyle; ! } else if(xv_depth(dest_info) == xv_depth(src_info)) { ! changes.tile = xv_xid(src_info); ! changes.fill_style = FillTiled; ! changes_mask |= GCTile | GCFillStyle; } else { xv_error(NULL, ERROR_STRING, diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/scrollbar/sb.c xview-3.2p1.4/lib/libxview/scrollbar/sb.c *** xview3.2p1-X11R6/lib/libxview/scrollbar/sb.c Tue Jun 29 07:16:49 1993 --- xview-3.2p1.4/lib/libxview/scrollbar/sb.c Mon Apr 28 14:45:17 1997 *************** *** 43,49 **** --- 43,53 ---- Xv_private void win_set_no_focus(); Xv_private Graphics_info *xv_init_olgx(); + #ifndef __linux Xv_private_data Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #else + extern Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #endif /******************************************************************/ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/sel/sel_agent.c xview-3.2p1.4/lib/libxview/sel/sel_agent.c *** xview3.2p1-X11R6/lib/libxview/sel/sel_agent.c Sun Jun 26 20:46:02 1994 --- xview-3.2p1.4/lib/libxview/sel/sel_agent.c Thu Jun 19 22:45:37 1997 *************** *** 31,37 **** * Ultrix */ #include ! #ifdef SVR4 #include #include #endif SVR4 --- 31,37 ---- * Ultrix */ #include ! #if defined(SVR4) || defined(__linux) #include #include #endif SVR4 diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/sel/seln_impl.h xview-3.2p1.4/lib/libxview/sel/seln_impl.h *** xview3.2p1-X11R6/lib/libxview/sel/seln_impl.h Tue Jun 29 07:15:08 1993 --- xview-3.2p1.4/lib/libxview/sel/seln_impl.h Mon Apr 28 14:45:17 1997 *************** *** 11,17 **** #include #ifndef FILE ! #ifndef SVR4 #undef NULL #endif SVR4 #include --- 11,17 ---- #include #ifndef FILE ! #if !defined(SVR4) && !defined(__linux) #undef NULL #endif SVR4 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/selection/sel_impl.h xview-3.2p1.4/lib/libxview/selection/sel_impl.h *** xview3.2p1-X11R6/lib/libxview/selection/sel_impl.h Tue Jun 29 07:15:45 1993 --- xview-3.2p1.4/lib/libxview/selection/sel_impl.h Mon Apr 28 14:45:17 1997 *************** *** 218,229 **** --- 218,238 ---- Xv_private void xv_sel_send_old_owner_sel_clear(); Xv_private void xv_sel_set_compat_data(); + #if !defined(__linux) || defined(__DEFINE_SEL_IMPL_VARS) XContext selCtx; XContext reqCtx; XContext targetCtx; XContext propCtx; XContext replyCtx; XContext cmpatCtx; + #else + extern XContext selCtx; + extern XContext reqCtx; + extern XContext targetCtx; + extern XContext propCtx; + extern XContext replyCtx; + extern XContext cmpatCtx; + #endif #endif /* sel_impl_defined */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/selection/sel_req.c xview-3.2p1.4/lib/libxview/selection/sel_req.c *** xview3.2p1-X11R6/lib/libxview/selection/sel_req.c Sun Jun 26 03:05:03 1994 --- xview-3.2p1.4/lib/libxview/selection/sel_req.c Mon Apr 28 14:45:17 1997 *************** *** 17,23 **** #include #include ! #ifdef SVR4 #include #endif SVR4 --- 17,23 ---- #include #include ! #if defined(SVR4) || defined(__linux) #include #endif SVR4 diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/selection/selection.c xview-3.2p1.4/lib/libxview/selection/selection.c *** xview3.2p1-X11R6/lib/libxview/selection/selection.c Tue Jun 29 07:15:46 1993 --- xview-3.2p1.4/lib/libxview/selection/selection.c Mon Apr 28 14:45:17 1997 *************** *** 10,16 **** --- 10,23 ---- * file for terms of the license. */ + #ifdef __linux + /* Kludge to prevent multiple variables with same name */ + #define __DEFINE_SEL_IMPL_VARS + #endif #include + #ifdef __linux + #undef __DEFINE_SEL_IMPL_VARS + #endif #include Pkg_private char *xv_sel_atom_to_str(/* display, atom */); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/server/server.c xview-3.2p1.4/lib/libxview/server/server.c *** xview3.2p1-X11R6/lib/libxview/server/server.c Sun Jun 26 20:53:22 1994 --- xview-3.2p1.4/lib/libxview/server/server.c Tue Apr 29 20:51:17 1997 *************** *** 100,108 **** --- 100,115 ---- Xv_private_data char *xv_shell_prompt; /* global default server parameters */ + #ifndef __linux Xv_private_data Xv_Server xv_default_server; Xv_private_data Xv_Screen xv_default_screen; Xv_private_data Display *xv_default_display; + #else + /* Globals already defined in base/xv_init.c */ + extern Xv_Server xv_default_server; + extern Xv_Screen xv_default_screen; + extern Display *xv_default_display; + #endif /* Global data */ Xv_private_data Defaults_pairs xv_kbd_cmds_value_pairs[4] = { *************** *** 358,363 **** --- 365,372 ---- #endif char *character_set; extern int _xv_use_locale; + /* martin-2.buck@student.uni-ulm.de */ + char *xrmstr; for (attrs = avlist; *attrs; attrs = attr_next(attrs)) { switch (attrs[0]) { *************** *** 438,446 **** --- 447,461 ---- /* See if defaults have been loaded on server */ #ifdef X11R6 /* lumpi@dobag.in-berlin.de */ + #if 1 + /* martin-2.buck@student.uni-ulm.de */ + if ((xrmstr = XResourceManagerString((Display *)server->xdisplay))) { + server->db = XrmGetStringDatabase(xrmstr); + #else if (XrmGetDatabase((Display *)server->xdisplay)) { server->db = XrmGetStringDatabase( (XrmGetDatabase((Display *)server->xdisplay))); + #endif #else if (((Display *)server->xdisplay)->xdefaults) { server->db = XrmGetStringDatabase( *************** *** 585,591 **** --- 600,613 ---- server_set_locale(server); + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!(home = getenv("OPENWINHOME"))) { + home = OPENWINHOME_DEFAULT; + } + #else if (home = getenv("OPENWINHOME")) { + #endif xv_message_dir = xv_malloc(strlen(home)+strlen(LIB_LOCALE)+1); strcpy(xv_message_dir, home); *************** *** 596,602 **** --- 618,626 ---- } else { xv_free(xv_message_dir); } + #ifndef OPENWINHOME_DEFAULT } + #endif if (server->localedir && xv_app_name) { char pathname[MAXPATHLEN]; *************** *** 679,685 **** --- 703,716 ---- * Now that we know the locale, get the local specific * resource files, merge with server->db */ + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!(home = getenv("OPENWINHOME"))) { + home = OPENWINHOME_DEFAULT; + } + #else if ((home = getenv("OPENWINHOME")) != NULL) { + #endif (void) sprintf(filename, "%s/%s/%s/xview/defaults", home, LIB_LOCALE, *************** *** 691,697 **** --- 722,730 ---- XrmMergeDatabases(server->db, &new_db); defaults_rdb = server->db = new_db; } + #ifndef OPENWINHOME_DEFAULT } + #endif /* diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/server/svr_kmdata.h xview-3.2p1.4/lib/libxview/server/svr_kmdata.h *** xview3.2p1-X11R6/lib/libxview/server/svr_kmdata.h Tue Jun 29 07:15:13 1993 --- xview-3.2p1.4/lib/libxview/server/svr_kmdata.h Mon Apr 28 14:45:17 1997 *************** *** 14,20 **** #define MAX_NBR_MAPPINGS 6 ! /*************************************************************************** * --- 14,22 ---- #define MAX_NBR_MAPPINGS 6 ! #if defined(__linux) && !defined(NULL) ! #define NULL 0 ! #endif /*************************************************************************** * diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/server/svr_x.c xview-3.2p1.4/lib/libxview/server/svr_x.c *** xview3.2p1-X11R6/lib/libxview/server/svr_x.c Tue Jun 29 07:15:10 1993 --- xview-3.2p1.4/lib/libxview/server/svr_x.c Mon Apr 28 14:45:17 1997 *************** *** 28,34 **** --- 28,39 ---- #include extern Display *XOpenDisplay(); + #ifndef __linux Xv_private_data Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #else + /* Global already defined and initialized in in server/server.c */ + extern Defaults_pairs xv_kbd_cmds_value_pairs[4]; + #endif /* * The following table describes the default key mappings for special diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/ei_text.c xview-3.2p1.4/lib/libxview/textsw/ei_text.c *** xview3.2p1-X11R6/lib/libxview/textsw/ei_text.c Tue Jun 29 07:17:20 1993 --- xview-3.2p1.4/lib/libxview/textsw/ei_text.c Mon Apr 28 14:45:17 1997 *************** *** 105,111 **** --- 105,116 ---- #ifdef OW_I18N #define ISCNTRL(c) ((c >= 0) && iswcntrl(c)) #else + #ifndef __linux #define ISCNTRL(c) ((128 <= c && c <= 159) || (iscntrl(c))) + #else + /* Linux: Allow 8-bit chars (do not treat them as control chars) */ + #define ISCNTRL(c) (c < 32) + #endif /* __linux */ #endif Pkg_private Ei_handle ei_plain_text_create(); *************** *** 729,734 **** --- 734,747 ---- } batch++; } else { + #ifdef __linux + /* Problems with 8-bit characters: 'aring' (0xe5) causes coredump in textedit + * because it's regarded as ISCNTRL(), leading to 'special_char 'getting a + * value > 255, leading to out-of-bound access of tempPf->pf_char[c]. Fix + * here by preventing too large special_char values. */ + if (c > 127) + c -= 128; + #endif if (c == 127) special_char = '?'; else diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/es_file.c xview-3.2p1.4/lib/libxview/textsw/es_file.c *** xview3.2p1-X11R6/lib/libxview/textsw/es_file.c Tue Jun 29 07:17:17 1993 --- xview-3.2p1.4/lib/libxview/textsw/es_file.c Mon Apr 28 14:45:17 1997 *************** *** 97,102 **** --- 97,105 ---- #include #include #include + #ifdef __linux + #include + #endif #include #include #include *************** *** 338,343 **** --- 341,349 ---- char name[MAXNAMLEN]; (void) wcstombs(name, name_wc, MAXNAMLEN); #endif /* OW_I18N */ + #ifdef __linux + long int maxlinks; + #endif if (status == 0) status = &dummy_status; *************** *** 373,386 **** --- 379,403 ---- #ifndef BACKUP_AT_HEAD_OF_LINK /* (2) Chase the symbolic link if 'name' is one. */ + #ifdef __linux + maxlinks = pathconf(name, _PC_LINK_MAX); + #endif for (temp_name = name, link_count = 0; + #ifndef __linux (link_count < MAXSYMLINKS) && + #else + (link_count < maxlinks) && + #endif (-1 != (true_name_len = readlink(temp_name, true_name, sizeof(true_name)))); temp_name = true_name, link_count++) { true_name[true_name_len] = '\0'; } + #ifndef __linux if (link_count == MAXSYMLINKS) { + #else + if (link_count == maxlinks) { + #endif errno = ELOOP; goto Error_Return; } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/ev_edit.c xview-3.2p1.4/lib/libxview/textsw/ev_edit.c *** xview3.2p1-X11R6/lib/libxview/textsw/ev_edit.c Tue Jun 29 07:17:18 1993 --- xview-3.2p1.4/lib/libxview/textsw/ev_edit.c Mon Apr 28 14:45:17 1997 *************** *** 123,129 **** ft_add_delta(*table, 0, delta); } else { lt_index = ft_bounding_index(table, before_edit); ! if (lt_index < table->last_plus_one) ft_add_delta(*table, lt_index + 1, delta); } } else { --- 123,129 ---- ft_add_delta(*table, 0, delta); } else { lt_index = ft_bounding_index(table, before_edit); ! if (lt_index+1 < table->last_plus_one) ft_add_delta(*table, lt_index + 1, delta); } } else { *************** *** 497,508 **** switch (ev_xy_in_view(view, position, <_index, &rect)) { case EV_XY_BELOW: /* BUG ALERT: The following heuristic must be replaced! */ delta = MIN(delta, position - line_seq[top_of_lc].pos); if (delta < 50 * view->line_table.last_plus_one && lower_context < view->line_table.last_plus_one - 1 && auto_scroll_by < view->line_table.last_plus_one - 1) { - old_top = line_seq[0].pos; new_top = ev_scroll_lines(view, MIN(view->line_table.last_plus_one - 1, MAX(1, --- 497,520 ---- switch (ev_xy_in_view(view, position, <_index, &rect)) { case EV_XY_BELOW: /* BUG ALERT: The following heuristic must be replaced! */ + #ifdef SCROLL_DEBUG + printf("delta=%d,pos=%d,lineseqpos=%d,last+one=%d,lcontext=%d,autoscrby=%d\n", + delta, position, line_seq[top_of_lc].pos, + view->line_table.last_plus_one, lower_context, auto_scroll_by); + #endif + #ifndef __linux delta = MIN(delta, position - line_seq[top_of_lc].pos); + #endif if (delta < 50 * view->line_table.last_plus_one && lower_context < view->line_table.last_plus_one - 1 && auto_scroll_by < view->line_table.last_plus_one - 1) { old_top = line_seq[0].pos; + #ifdef SCROLL_DEBUG + printf("ev_scroll_lines(), MAX()=%d, total=%d\n", + MAX(1, MAX(lower_context, auto_scroll_by) + (delta / 50)), + MIN(view->line_table.last_plus_one-1,MAX(1, MAX(lower_context, auto_scroll_by) + (delta / 50))) + ); + #endif new_top = ev_scroll_lines(view, MIN(view->line_table.last_plus_one - 1, MAX(1, *************** *** 524,529 **** --- 536,545 ---- line_start = 0; } ev_set_start(view, line_start); + #ifdef SCROLL_DEBUG + printf("line_start=%d, lines_below=%d, lines_above=%d, scroll(2)\n", + line_start, lines_below, lines_above); + #endif new_top = ev_scroll_lines(view, 2, FALSE); } /* *************** *** 532,537 **** --- 548,557 ---- */ while ((old_top != new_top) && (position >= ev_index_for_line(view, top_of_lc))) { + #ifdef SCROLL_DEBUG + printf("old_top=%d, new_top=%d, position=%d ev_scroll_lines(2)\n", + old_top, new_top, position); + #endif old_top = new_top; new_top = ev_scroll_lines(view, ((position - ev_index_for_line(view, top_of_lc)) diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/txt_again.c xview-3.2p1.4/lib/libxview/textsw/txt_again.c *** xview3.2p1-X11R6/lib/libxview/textsw/txt_again.c Tue Jun 29 07:17:15 1993 --- xview-3.2p1.4/lib/libxview/textsw/txt_again.c Mon Apr 28 14:45:17 1997 *************** *** 178,183 **** --- 178,213 ---- * Recording routines */ + #ifdef __linux + /* The textsw_printf as written created a FILE struct, and called + * _doprnt() to format the text to an XView internal buffer. If I + * understand this correctly, it's just a replacement for vsprintf. + * Anyway, linux FILE isn't similar to the one assumed by the + * original code, so we'll have to do something. + * WARNING! This is untested!! */ + + static int + #ifdef ANSI_FUNC_PROTO + textsw_printf(register string_t *ptr_to_string, register char *fmt, ...) + #else + textsw_printf(ptr_to_string, fmt, va_alist) + register string_t *ptr_to_string; + register char *fmt; + va_dcl + #endif + { + va_list args; + char * sfree; + int result; + + VA_START(args, fmt); + sfree = (char *)TXTSW_STRING_FREE(ptr_to_string); + result = vsprintf(sfree, fmt, args); + va_end(args); + TXTSW_STRING_FREE(ptr_to_string) += strlen(sfree); + return (result); + } + #else /* __linux */ /* * Following is stolen from 3.2ALPHA sprintf(str, fmt, va_alist) SIDE_EFFECT: * TXTSW_STRING_FREE(ptr_to_string) is modified by this routine. *************** *** 324,329 **** --- 354,360 ---- } #endif /* SVR4 */ + #endif /* __linux */ static void textsw_record_buf(again, buffer, buffer_length) *************** *** 613,618 **** --- 644,728 ---- * Replaying routines */ + #ifdef __linux + /* The textsw_scanf as written created a FILE struct, and called + * _doscan() to do the scanning on the instring. + * This depends heavily on the internal structure of FILE, and is not + * applicable to linux. Instead I use a quickly hacked together + * scanf. The normal scanf isn't used because we need to get a + * pointer to where scanning of the instring stopped. I know no way + * to get that from sscanf(). */ + + static int + #ifdef ANSI_FUNC_PROTO + textsw_scanf(register string_t *ptr_to_string, register char *fmt, ...) + #else + textsw_scanf(ptr_to_string, fmt, va_alist) + register string_t *ptr_to_string; + register char *fmt; + va_dcl + #endif + { + va_list args; + char * sbase; + int result; + char *f, *sp; + int c, *ip; + + VA_START(args, fmt); + sbase = (char *)TXTSW_STRING_BASE(ptr_to_string); + + /* scanf loop, supports %s, %15s, %d, %x because those are the types used + * by routines calling this function (textsw_scanf is static). */ + result = 0; + for (f = fmt; *f; ++f) { + switch (*f) { + case '%': + ++f; + c = 999; + if (isdigit(*f)) { + c = atoi(f); + while (isdigit(*f)) + ++f; + } + for (; isspace(*sbase); ++sbase) + ; + switch (*f) { + case 's': + sp = va_arg(args, char *); + for (; *sbase && !isspace(*sbase) && c; ++sbase, --c) + *sp++ = *sbase; + *sp = '\0'; + ++result; + break; + case 'd': + ip = va_arg(args, int *); + if (isdigit(*sbase)) { + ++result; + *ip = atoi(sbase); + while (isdigit(*sbase)) + ++sbase; + } + break; + case 'x': + ip = va_arg(args, int *); + result += sscanf(sbase, "%x", ip); + while (isxdigit(*sbase)) + ++sbase; + break; + default: + break; + } + break; + default: + break; + } + } + va_end(args); + TXTSW_STRING_BASE(ptr_to_string) = sbase; + return (result); + } + #else /* __linux */ /* * Following is stolen from sscanf(str, fmt, args) SIDE_EFFECT: * TXTSW_STRING_BASE(ptr_to_string) is modified by this routine. *************** *** 705,710 **** --- 815,821 ---- #endif /* OW_I18N */ } + #endif /* __linux */ static int textsw_next_is_delimiter(again) diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/txt_e_menu.c xview-3.2p1.4/lib/libxview/textsw/txt_e_menu.c *** xview3.2p1-X11R6/lib/libxview/textsw/txt_e_menu.c Tue Jun 29 07:17:25 1993 --- xview-3.2p1.4/lib/libxview/textsw/txt_e_menu.c Thu May 1 01:22:33 1997 *************** *** 123,129 **** --- 123,136 ---- goto found; } + #ifdef OPENWINHOME_DEFAULT + /* martin-2.buck@student.uni-ulm.de */ + if (!(filename = getenv("OPENWINHOME"))) { + filename = OPENWINHOME_DEFAULT; + } + #else if ((filename = getenv("OPENWINHOME")) != NULL) { + #endif (void) sprintf(tmp, "%s/lib/locale/%s/xview/.%s", filename, locale, EXTRASMENU); if ((result = check_filename_locale(NULL, tmp, 1)) != NULL) *************** *** 136,149 **** goto found; } ! #ifdef notdef /* Gee, still?... We will try the old fashioned way */ (void) sprintf(tmp, "%s/lib/.%s", filename, EXTRASMENU); if ((result = check_filename_locale(NULL, tmp, 1)) != NULL) goto found; ! #endif } /* Giving up, try with ancient way (SunView1) */ (void) sprintf(tmp, "/usr/lib/.%s", EXTRASMENU); --- 143,158 ---- goto found; } ! /*#ifdef notdef*/ /* Gee, still?... We will try the old fashioned way */ (void) sprintf(tmp, "%s/lib/.%s", filename, EXTRASMENU); if ((result = check_filename_locale(NULL, tmp, 1)) != NULL) goto found; ! /*#endif*/ ! #ifndef OPENWINHOME_DEFAULT } + #endif /* Giving up, try with ancient way (SunView1) */ (void) sprintf(tmp, "/usr/lib/.%s", EXTRASMENU); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/txt_edit.c xview-3.2p1.4/lib/libxview/textsw/txt_edit.c *** xview3.2p1-X11R6/lib/libxview/textsw/txt_edit.c Tue Jun 29 07:17:19 1993 --- xview-3.2p1.4/lib/libxview/textsw/txt_edit.c Mon Apr 28 14:45:17 1997 *************** *** 28,34 **** --- 28,39 ---- #define UPDATE_SCROLLBAR(_delta, _old_length)\ ((THRESHOLD * _delta) >= _old_length) + #ifndef __linux Xv_private_data char *xv_shell_prompt; + #else + /* Global already defined in server/server.c */ + extern char *xv_shell_prompt; + #endif Pkg_private void textsw_notify_replaced(); Pkg_private Seln_rank textsw_acquire_seln(); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/txt_filter.c xview-3.2p1.4/lib/libxview/textsw/txt_filter.c *** xview3.2p1-X11R6/lib/libxview/textsw/txt_filter.c Tue Jun 29 07:17:22 1993 --- xview-3.2p1.4/lib/libxview/textsw/txt_filter.c Mon Apr 28 14:45:18 1997 *************** *** 903,916 **** --- 903,924 ---- #ifdef SVR4 if (xv_fcntl(to_filter[OUTPUT], F_SETFL, FNDELAY) == -1) #else + #if !defined(__linux) || defined(FNDELAY) if (fcntl(to_filter[OUTPUT], F_SETFL, FNDELAY) == -1) + #else + if (fcntl(to_filter[OUTPUT], F_SETFL, O_NONBLOCK) == -1) + #endif #endif return (FAIL); #ifdef SVR4 if (xv_fcntl(from_filter[INPUT], F_SETFL, FNDELAY) == -1) #else + #if !defined(__linux) || defined(FNDELAY) if (fcntl(from_filter[INPUT], F_SETFL, FNDELAY) == -1) + #else + if (fcntl(from_filter[INPUT], F_SETFL, O_NONBLOCK) == -1) + #endif #endif return (FAIL); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/textsw/txt_once.c xview-3.2p1.4/lib/libxview/textsw/txt_once.c *** xview3.2p1-X11R6/lib/libxview/textsw/txt_once.c Tue Jun 29 07:17:31 1993 --- xview-3.2p1.4/lib/libxview/textsw/txt_once.c Mon Apr 28 14:45:18 1997 *************** *** 1083,1088 **** --- 1083,1090 ---- 0); } } + /* Remove from the list. */ + textsw_unlink_view(folio, view); /* Destroy all of the view's auxillary objects and any back links */ ev_destroy(view->e_view); free((char *) view); *************** *** 1350,1355 **** --- 1352,1358 ---- xv_destroy(view->drop_site); textsw_view_cleanup(view); + VIEW_PRIVATE(view_public) = NULL; /* WG Mar '95 */ break; default: /* Conservative in face of new cases. */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/charscreen.h xview-3.2p1.4/lib/libxview/ttysw/charscreen.h *** xview3.2p1-X11R6/lib/libxview/ttysw/charscreen.h Tue Jun 29 07:16:56 1993 --- xview-3.2p1.4/lib/libxview/ttysw/charscreen.h Mon Apr 28 14:45:18 1997 *************** *** 23,28 **** --- 23,29 ---- * Character dimensions (fixed width fonts only!) * and of screen in pixels. */ + #if !defined(__linux) || defined(__DEFINE_CHARSCREEN_VARS) int chrheight, chrwidth, chrbase; int winheightp, winwidthp; int chrleftmargin; *************** *** 35,40 **** --- 36,48 ---- * and turn delaypainting off. */ int delaypainting; + #else /* __linux && !__DEFINE_CHARSCREEN_VARS */ + extern int chrheight, chrwidth, chrbase; + extern int winheightp, winwidthp; + extern int chrleftmargin; + extern struct pixfont *pixfont; + extern int delaypainting; + #endif #ifdef cplus void ttysw_pstring(char *s, int col, int row); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/cim_size.c xview-3.2p1.4/lib/libxview/ttysw/cim_size.c *** xview3.2p1-X11R6/lib/libxview/ttysw/cim_size.c Tue Jun 29 07:16:57 1993 --- xview-3.2p1.4/lib/libxview/ttysw/cim_size.c Sun Jun 1 23:44:49 1997 *************** *** 247,257 **** #ifdef DEBUG_LINELENGTH_WHEN_WRAP #ifdef OW_I18N if (sl != LINE_LENGTH(image[oldrow])) ! printf("real %ld saved %ld, l %ld, oldbottom %ld bottom %ld\n", sl, ! LINE_LENGTH(oldimage[l]), l, oldbottom, ttysw_bottom); #else if (sl != LINE_LENGTH(image[oldrow])) ! printf("real %ld saved %ld, l %ld, oldbottom %ld bottom %ld\n", sl, LINE_LENGTH(oldimage[l]), l, oldbottom, ttysw_bottom); #endif /* OW_I18N */ #endif /* DEBUG_LINELENGTH_WHEN_WRAP */ if (sl > ttysw_right) --- 247,257 ---- #ifdef DEBUG_LINELENGTH_WHEN_WRAP #ifdef OW_I18N if (sl != LINE_LENGTH(image[oldrow])) ! printf("real %ld saved %ld, row %ld, oldbottom %ld bottom %ld\n", sl, ! LINE_LENGTH(oldimage[l]), row, oldbottom, ttysw_bottom); #else if (sl != LINE_LENGTH(image[oldrow])) ! printf("real %ld saved %ld, row %ld, oldbottom %ld bottom %ld\n", sl, LINE_LENGTH(oldimage[row]), row, oldbottom, ttysw_bottom); #endif /* OW_I18N */ #endif /* DEBUG_LINELENGTH_WHEN_WRAP */ if (sl > ttysw_right) diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/csr_change.c xview-3.2p1.4/lib/libxview/ttysw/csr_change.c *** xview3.2p1-X11R6/lib/libxview/ttysw/csr_change.c Tue Jun 29 07:16:59 1993 --- xview-3.2p1.4/lib/libxview/ttysw/csr_change.c Tue Jun 10 02:14:02 1997 *************** *** 44,50 **** --- 44,55 ---- #include #include #include + #ifndef __linux Xv_private_data char *xv_shell_prompt; + #else + /* Global already defined in server/server.c */ + extern char *xv_shell_prompt; + #endif #ifdef OW_I18N #define NULL_CHARP (CHAR *) 0 diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/csr_init.c xview-3.2p1.4/lib/libxview/ttysw/csr_init.c *** xview3.2p1-X11R6/lib/libxview/ttysw/csr_init.c Tue Jun 29 07:16:56 1993 --- xview-3.2p1.4/lib/libxview/ttysw/csr_init.c Mon Apr 28 14:45:18 1997 *************** *** 31,37 **** --- 31,47 ---- #include #include #include + #ifdef __linux + /* charscreen.h defines some variables, and then the header file is included + * by more than one source file. The linux shlib-tools don't like it. + * Kludge around it by setting a define here which makes the variable + * definitions visible, but do NOT set it in the other source files. */ + #define __DEFINE_CHARSCREEN_VARS + #endif #include + #ifdef __linux + #undef __DEFINE_CHARSCREEN_VARS + #endif #ifdef OW_I18N #ifdef FULL_R5 #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/term_ntfy.c xview-3.2p1.4/lib/libxview/ttysw/term_ntfy.c *** xview3.2p1-X11R6/lib/libxview/ttysw/term_ntfy.c Tue Jun 29 07:17:05 1993 --- xview-3.2p1.4/lib/libxview/ttysw/term_ntfy.c Mon Apr 28 14:45:18 1997 *************** *** 63,69 **** /* performance: global cache of getdtablesize() */ extern int dtablesize_cache; ! #ifdef SVR4 #define GETDTABLESIZE() \ (dtablesize_cache?dtablesize_cache:(dtablesize_cache=(int)sysconf(_SC_OPEN_MAX))) #else --- 63,69 ---- /* performance: global cache of getdtablesize() */ extern int dtablesize_cache; ! #if defined(SVR4) || defined(__linux) #define GETDTABLESIZE() \ (dtablesize_cache?dtablesize_cache:(dtablesize_cache=(int)sysconf(_SC_OPEN_MAX))) #else *************** *** 173,181 **** --- 173,183 ---- * again, this is the place to start looking. */ if (ttysw->pending_remote != ttysw->remote) { + #if !defined(__linux) || defined(TIOCREMOTE) if (ioctl(ttysw->ttysw_pty, TIOCREMOTE, &ttysw->pending_remote) < 0) perror("ioctl: TIOCREMOTE"); else + #endif ttysw->remote = ttysw->pending_remote; } *************** *** 200,206 **** --- 202,212 ---- /* * Process pending literal next insertion at end of buffer. */ + #ifndef __linux if (termsw->literal_next && action <= ASCII_LAST && + #else + if (termsw->literal_next && action <= ISO_LAST && + #endif insert == length) { CHAR input_char = (CHAR) action; *************** *** 274,283 **** --- 280,291 ---- * should get the same treatment. For a third, whatever tests we * make should also apply to the cooked_echo case. */ + #ifndef __linux if (action == tty_getintrc(ttysw)) { (void) xv_set(textsw, TEXTSW_INSERTION_POINT_I18N, TEXTSW_INFINITY, 0); } + #endif (void) textsw_insert(textsw, &input_char, (long) 1); nv = NOTIFY_DONE; } else if (termsw->cooked_echo && down_event) { *************** *** 293,299 **** --- 301,311 ---- (Notify_event) (event), arg, type); } } else if (!termsw->cooked_echo && down_event && + #ifndef __linux action >= ASCII_FIRST && action <= ASCII_LAST) { + #else + action >= ASCII_FIRST && action <= ISO_LAST) { + #endif /* * Pass the event through to the pty, storing it in the ttysw input * buffer until the notifier triggers code to feed it into the pty *************** *** 361,368 **** --- 373,386 ---- * Even if cooked echo is off, we still have to handle * keyboard signals. */ + #ifndef __linux if (!termsw->cooked_echo && !tty_issig(ttysw)) break; + #else + /* Linux: respect noncanonical mode, do not send interrupts */ + if (!tty_issig(ttysw) || !tty_iscanon(ttysw)) + break; + #endif /* Only look at the down event for control key */ if (event_is_up(event)) diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/termsw.c xview-3.2p1.4/lib/libxview/ttysw/termsw.c *** xview3.2p1-X11R6/lib/libxview/ttysw/termsw.c Tue Jun 29 07:16:58 1993 --- xview-3.2p1.4/lib/libxview/ttysw/termsw.c Mon Apr 28 14:45:18 1997 *************** *** 413,419 **** --- 413,421 ---- /* Set the PTY to operate as a "remote terminal". */ fd = (int) xv_get(termsw_public, TTY_PTY_FD); + #if !defined(__linux) || defined(TIOCREMOTE) (void) ioctl(fd, TIOCREMOTE, &on); + #endif ttysw_folio->remote = ttysw_folio->pending_remote = on; /* diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_gtty.c xview-3.2p1.4/lib/libxview/ttysw/tty_gtty.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_gtty.c Tue Jun 29 07:17:03 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_gtty.c Mon Apr 28 14:45:18 1997 *************** *** 34,39 **** --- 34,83 ---- */ #ifdef XV_USE_TERMIOS + #if defined(__linux) && !defined(CINTR) + /* The following values have been obtained from /usr/include/linux/tty.h. + * They represent the default tty modes on linux. + intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 + */ + /* This belongs in sys/termios.h, not here. */ + #define CINTR 003 + #define CQUIT 034 + #define CERASE 0177 + #define CKILL 025 + #define CEOF 004 + #define CTIME 0 + #define CMIN 1 + #define CSWTC 0 + #define CSTART 021 + #define CSTOP 023 + #define CSUSP 032 + #define CEOL 0 + #define CREPRINT 022 + #define CDISCARD 017 + #define CWERASE 027 + #define CLNEXT 026 + #define CEOL2 0 + #endif /* __linux && !CINTR */ + + #ifdef __linux + static struct termios default_modes = { + ICRNL|IXON, /* input modes */ + OPOST|ONLCR, /* output modes */ + B38400|CS8|CREAD, /* control modes */ + ISIG|ICANON|ECHO|ECHOCTL|ECHOKE, /* local modes */ + + CINTR, CQUIT, CERASE, CKILL, + CEOF, CTIME, CMIN, CSWTC, + CSTART, CSTOP, CSUSP, CEOL, + CREPRINT, CDISCARD, CWERASE, CLNEXT, + CEOL2 + }; + + #else /* __linux */ static struct termios default_modes = { BRKINT|ICRNL|IXON|IGNPAR|IMAXBEL, /* input modes */ OPOST|ONLCR, /* output modes */ *************** *** 57,62 **** --- 101,107 ---- CWERASE, /* VWERASE */ CLNEXT, /* VLNEXT */ }; + #endif /* __linux */ #else /* XV_USE_TERMIOS */ *************** *** 222,234 **** --- 267,284 ---- struct termios *tp; { char str[WE_TTYPARMSLEN]; + #ifndef __linux short temps[16]; + #else + short temps[17]; + #endif if (_we_setstrfromenvironment(WE_TTYPARMS, str)) return (-1); else { register int i; + #ifndef __linux if (sscanf(str, "%ld,%ld,%ld,%ld,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd", &tp->c_iflag, &tp->c_oflag, &tp->c_cflag, &tp->c_lflag, *************** *** 246,251 **** --- 296,320 ---- (void) putenv(WE_TTYPARMS_E); return (0); } + #else /* __linux */ + if (sscanf(str, + "%ld,%ld,%ld,%ld,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd", + &tp->c_iflag, &tp->c_oflag, &tp->c_cflag, &tp->c_lflag, + &temps[0], &temps[1], &temps[2], &temps[3], + &temps[4], &temps[5], &temps[6], &temps[7], + &temps[8], &temps[9], &temps[10], &temps[11], + &temps[12], &temps[13], &temps[14], &temps[15], + &temps[16]) != 21) + return (-1); + for (i = 0; i <= VEOL2; i++) + tp->c_cc[i] = temps[i]; + /* + * Always clear + */ + (void) putenv(WE_TTYPARMS_E); + return (0); + } + #endif /* __linux */ } #else /* XV_USE_TERMIOS */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_impl.h xview-3.2p1.4/lib/libxview/ttysw/tty_impl.h *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_impl.h Tue Jun 29 07:17:01 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_impl.h Mon Apr 28 14:45:18 1997 *************** *** 211,217 **** --- 211,221 ---- */ #ifdef XV_USE_TERMIOS #define tty_gettabs(t) ((t)->termios.c_oflag & XTABS) + #if !defined(__linux) || defined(VDSUSP) #define tty_getdsuspc(t) ((int) ((t)->termios.c_cc[VDSUSP])) + #else + #define tty_getdsuspc(t) ((int) -1) + #endif #define tty_geteofc(t) ((int) ((t)->termios.c_cc[VEOF])) #define tty_geteolc(t) ((int) ((t)->termios.c_cc[VEOL])) #define tty_geteol2c(t) ((int) ((t)->termios.c_cc[VEOL2])) diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_init.c xview-3.2p1.4/lib/libxview/ttysw/tty_init.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_init.c Tue Jun 29 07:17:02 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_init.c Mon Apr 28 14:45:19 1997 *************** *** 251,270 **** --- 251,296 ---- ttysw->ttysw_ibuf.cb_rbp = ttysw->ttysw_ibuf.cb_buf; ttysw->ttysw_ibuf.cb_wbp = ttysw->ttysw_ibuf.cb_buf; + #if 1 + /* ttysw_output_it is broken and writes one byte past the end of the buffer. + * So we keep one spare byte at its end to prevent overwriting other data. + * martin-2.buck@student.uni-ulm.de + */ + ttysw->ttysw_ibuf.cb_ebp = + #ifdef OW_I18N + &ttysw->ttysw_ibuf.cb_buf[sizeof(ttysw->ttysw_ibuf.cb_buf)/sizeof(CHAR) - 1]; + #else + &ttysw->ttysw_ibuf.cb_buf[sizeof(ttysw->ttysw_ibuf.cb_buf) - 1]; + #endif + #else ttysw->ttysw_ibuf.cb_ebp = #ifdef OW_I18N &ttysw->ttysw_ibuf.cb_buf[sizeof(ttysw->ttysw_ibuf.cb_buf)/sizeof(CHAR)]; #else &ttysw->ttysw_ibuf.cb_buf[sizeof(ttysw->ttysw_ibuf.cb_buf)]; #endif + #endif ttysw->ttysw_obuf.cb_rbp = ttysw->ttysw_obuf.cb_buf; ttysw->ttysw_obuf.cb_wbp = ttysw->ttysw_obuf.cb_buf; + #if 1 + /* ttysw_output_it is broken and writes one byte past the end of the buffer. + * So we keep one spare byte at its end to prevent overwriting other data. + * martin-2.buck@student.uni-ulm.de + */ + ttysw->ttysw_obuf.cb_ebp = + #ifdef OW_I18N + &ttysw->ttysw_obuf.cb_buf[sizeof(ttysw->ttysw_obuf.cb_buf)/sizeof(CHAR) - 1]; + #else + &ttysw->ttysw_obuf.cb_buf[sizeof(ttysw->ttysw_obuf.cb_buf) - 1]; + #endif + #else ttysw->ttysw_obuf.cb_ebp = #ifdef OW_I18N &ttysw->ttysw_obuf.cb_buf[sizeof(ttysw->ttysw_obuf.cb_buf)/sizeof(CHAR)]; #else &ttysw->ttysw_obuf.cb_buf[sizeof(ttysw->ttysw_obuf.cb_buf)]; #endif + #endif ttysw->ttysw_kmtp = ttysw->ttysw_kmt; (void) ttysw_readrc(ttysw); *************** *** 408,414 **** --- 434,444 ---- if ((fdflags = fcntl(fd, F_GETFL, 0)) == -1) #endif return (-1); + #if !defined(__linux) || defined(FNDELAY) fdflags |= FNDELAY; + #else + fdflags |= O_NONBLOCK; + #endif #ifdef SVR4 if (xv_fcntl(fd, F_SETFL, fdflags) == -1) #else *************** *** 432,442 **** char appname[20]; char *p; unsigned ttysw_error_sleep = 1; ! #ifndef SVR4 struct sigvec vec, ovec; #else struct sigaction vec, ovec; extern char *ptsname(); #define BSD_TTY_COMPAT /* yank this if csh ever gets ported properly */ --- 462,474 ---- char appname[20]; char *p; unsigned ttysw_error_sleep = 1; ! #if !defined(SVR4) && !defined(__linux) struct sigvec vec, ovec; #else struct sigaction vec, ovec; + #ifndef __linux extern char *ptsname(); + #endif #define BSD_TTY_COMPAT /* yank this if csh ever gets ported properly */ *************** *** 461,467 **** } /* Set up the child characteristics */ ! #ifndef SVR4 /* SunOS4.x code */ vec.sv_handler = SIG_DFL; vec.sv_mask = vec.sv_onstack = 0; sigvec(SIGWINCH, &vec, 0); --- 493,499 ---- } /* Set up the child characteristics */ ! #if !defined(SVR4) && !defined(__linux) /* SunOS4.x code */ vec.sv_handler = SIG_DFL; vec.sv_mask = vec.sv_onstack = 0; sigvec(SIGWINCH, &vec, 0); *************** *** 497,506 **** --- 529,544 ---- vec.sa_flags = SA_RESTART; sigaction(SIGTTOU, &vec, &ovec); + #ifndef __linux if (unlockpt(ttysw->ttysw_pty) == -1) perror("unlockpt (2)"); if ((ttysw->ttysw_tty = open(ptsname(ttysw->ttysw_pty),O_RDWR))<0) return -1; + #else + setpgrp(); + if ((ttysw->ttysw_tty = open(ttysw->tty_name,O_RDWR))<0) + return -1; + #endif sigaction(SIGTTOU, &ovec, (struct sigaction *) 0); #endif /* SVR4 */ *************** *** 538,544 **** offset++; } ! #ifdef SVR4 #ifdef BSD_TTY_COMPAT /* * ttcompat seems to leave things in a funny state and assumes --- 576,582 ---- offset++; } ! #if defined(SVR4) || defined(__linux) #ifdef BSD_TTY_COMPAT /* * ttcompat seems to leave things in a funny state and assumes *************** *** 934,940 **** */ #ifndef SVR4 ! /* * Make entry in /etc/utmp for ttyfd. Note: this is dubious usage of * /etc/utmp but many programs (e.g. sccs) look there when determining who is --- 972,978 ---- */ #ifndef SVR4 ! #ifndef __linux /* * Make entry in /etc/utmp for ttyfd. Note: this is dubious usage of * /etc/utmp but many programs (e.g. sccs) look there when determining who is *************** *** 1018,1022 **** } return (ttyslotuse); } ! #endif --- 1056,1123 ---- } return (ttyslotuse); } ! #else /* __linux */ ! /* Linux version of updateutmp uses the getutXX functions, we don't ! * need no ttyslot() or direct writing to /etc/utmp */ ! int ! updateutmp(username, ttyslotuse, ttyfd) ! char *username; ! int ttyslotuse, ttyfd; ! { ! /* ! * Update /etc/utmp ! */ ! struct utmp utmp; ! struct passwd *passwdent; ! int f; ! char *ttyn; ! extern char *ttyname(); ! ! memset(&utmp, 0, sizeof(utmp)); ! utmp.ut_type = USER_PROCESS; ! if (!username) { ! /* ! * Get login name ! */ ! if ((passwdent = getpwuid(getuid())) == (struct passwd *) NULL) { ! (void) fprintf(stderr, ! XV_MSG("couldn't find user name\n")); ! return (0); ! } ! username = passwdent->pw_name; ! utmp.ut_pid = getpid(); ! } ! else ! if (!(*username)) ! utmp.ut_type = DEAD_PROCESS; /* "" as username, logging out */ ! ! utmp.ut_name[0] = '\0'; /* Set incase *username is 0 */ ! (void) strncpy(utmp.ut_name, username, sizeof(utmp.ut_name)); ! /* ! * Get line (tty) name ! */ ! ttyn = ttyname(ttyfd); ! if (ttyn == (char *) NULL) ! ttyn = "/dev/tty??"; ! (void) strncpy(utmp.ut_line, XV_RINDEX(ttyn, '/') + 1, sizeof(utmp.ut_line)); ! (void) strncpy(utmp.ut_id, ttyn + strlen(ttyn) - 2, 2); ! /* ! * Set host to be empty ! */ ! (void) strncpy(utmp.ut_host, "", sizeof(utmp.ut_host)); ! /* ! * Get start time ! */ ! (void) time((time_t *) (&utmp.ut_time)); ! /* ! * Put utmp in /etc/utmp ! */ ! setutent(); ! (void)getutline(&utmp); ! pututline(&utmp); ! endutent(); ! return 1; /* Return dummy value for ttyslot number */ ! } ! #endif /* __linux */ ! #endif SVR4 diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_main.c xview-3.2p1.4/lib/libxview/ttysw/tty_main.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_main.c Tue Jun 29 07:17:05 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_main.c Fri Jun 27 00:58:48 1997 *************** *** 901,915 **** --- 901,932 ---- if (cc > 0) { int_ucntl = (unsigned) ucntl; + #ifdef __linux + /* Under Linux, int_ucntl doesn't get set when enabling/disabling + * ECHO mode. So we always have to read the current tty settings :-( + * martin-2.buck@student.uni-ulm.de + */ + if (ttysw_getopt(ttysw, TTYOPT_TEXT)) { + #else if (int_ucntl != 0 && ttysw_getopt(ttysw, TTYOPT_TEXT)) { + #endif unsigned tiocsti = TIOCSTI; if (int_ucntl == (tiocsti & 0xff)) ttysw_process_STI(ttysw, owbp, cc - 1); + #ifndef XV_USE_TERMIOS (void) ioctl(ttysw->ttysw_tty, TIOCGETC, &ttysw->tchars); (void) ioctl(ttysw->ttysw_tty, TIOCGLTC, &ttysw->ltchars); + #else + (void)tcgetattr(ttysw->ttysw_tty, &ttysw->termios); + #endif ttysw_getp(TTY_VIEW_HANDLE_FROM_TTY_FOLIO(ttysw)); /* jcb for nng */ + #ifdef __linux + } + if (int_ucntl == 0) + #else } else + #endif #ifdef OW_I18N owbp += wc_nchar; #undef MB_BUF_SIZE *************** *** 954,959 **** --- 971,980 ---- ttysw->implicit_commit = 0; /* turn off the flag */ #endif } + #ifdef DEBUG + printf("ttysw_consume_output(), calling ttysw_output_it() %d <%s>\n", + owbp - orbp, orbp); + #endif cc = ttysw_output_it(ttysw_view, orbp, owbp - orbp); #ifdef OW_I18N /* *************** *** 1511,1517 **** * Otherwise, we use the winsize struct and TIOCSWINSZ ioctl. */ struct winsize ws; ! #ifndef SVR4 struct sigvec vec, ovec; vec.sv_handler = SIG_IGN; --- 1532,1538 ---- * Otherwise, we use the winsize struct and TIOCSWINSZ ioctl. */ struct winsize ws; ! #if !defined(SVR4) && !defined(__linux) struct sigvec vec, ovec; vec.sv_handler = SIG_IGN; *************** *** 1524,1530 **** if ((ioctl(ttysw->ttysw_tty, TIOCSWINSZ, &ws)) == -1) perror(XV_MSG("ttysw-TIOCSWINSZ")); ! #ifndef SVR4 (void) sigvec(SIGTTOU, &ovec, 0); #endif #endif /* sun */ --- 1545,1551 ---- if ((ioctl(ttysw->ttysw_tty, TIOCSWINSZ, &ws)) == -1) perror(XV_MSG("ttysw-TIOCSWINSZ")); ! #if !defined(SVR4) && !defined(__linux) (void) sigvec(SIGTTOU, &ovec, 0); #endif #endif /* sun */ *************** *** 1624,1630 **** ttysw_flush_input(ttysw) Ttysw_folio ttysw; { ! #ifndef SVR4 struct sigvec vec, ovec; /* Sys V compatibility */ int flushf = 0; --- 1645,1651 ---- ttysw_flush_input(ttysw) Ttysw_folio ttysw; { ! #if !defined(SVR4) && !defined(__linux) struct sigvec vec, ovec; /* Sys V compatibility */ int flushf = 0; *************** *** 1655,1661 **** # endif /* XV_USE_TERMIOS */ perror(XV_MSG("TIOCFLUSH")); ! #ifndef SVR4 (void) sigvec(SIGTTOU, &ovec, (struct sigvec *) 0); #else sigaction(SIGTTOU, &ovec, (struct sigaction *) 0); --- 1676,1682 ---- # endif /* XV_USE_TERMIOS */ perror(XV_MSG("TIOCFLUSH")); ! #if !defined(SVR4) && !defined(__linux) (void) sigvec(SIGTTOU, &ovec, (struct sigvec *) 0); #else sigaction(SIGTTOU, &ovec, (struct sigaction *) 0); diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_mapkey.c xview-3.2p1.4/lib/libxview/ttysw/tty_mapkey.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_mapkey.c Tue Jun 29 07:17:03 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_mapkey.c Thu May 1 01:59:33 1997 *************** *** 80,86 **** --- 80,94 ---- (void)strcpy(rc, p); (void) strcat(rc, "/lib/.ttyswrc"); } else + #ifdef OPENWINHOME_DEFAULT + { + /* martin-2.buck@student.uni-ulm.de */ + (void)strcpy(rc, OPENWINHOME_DEFAULT); + (void) strcat(rc, "/lib/.ttyswrc"); + } + #else (void) strcpy(rc, "/lib/.ttyswrc"); + #endif altrc = (char *)defaults_get_string("term.alternateTtyswrc", "Term.AlternateTtyswrc", rc); if ((fp = fopen(altrc, "r")) == (FILE *) NULL) { *************** *** 96,102 **** lineno++; if (line[strlen(line) - 1] != '\n') { ! register char c; (void) printf(XV_MSG("%s: line %d longer than 1024 characters\n"), rc, lineno); while ((c = fgetc(fp)) != '\n' && c != EOF); --- 104,110 ---- lineno++; if (line[strlen(line) - 1] != '\n') { ! register int c; (void) printf(XV_MSG("%s: line %d longer than 1024 characters\n"), rc, lineno); while ((c = fgetc(fp)) != '\n' && c != EOF); *************** *** 500,506 **** * have more time. */ ! #ifdef i386 static void ttysw_arrow_keys_to_string(xv_id, str) unsigned xv_id; --- 508,514 ---- * have more time. */ ! #if defined(i386) && !defined(__linux) static void ttysw_arrow_keys_to_string(xv_id, str) unsigned xv_id; diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_modes.c xview-3.2p1.4/lib/libxview/ttysw/tty_modes.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_modes.c Tue Jun 29 07:17:06 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_modes.c Wed Jun 4 01:23:09 1997 *************** *** 125,133 **** --- 125,135 ---- /* * Switch the pty out of remote mode. */ + #if !defined(__linux) || defined(TIOCREMOTE) if (ioctl(ttysw->ttysw_pty, TIOCREMOTE, &off) < 0) perror("ioctl: TIOCREMOTE"); else + #endif ttysw->remote = ttysw->pending_remote = off; } *************** *** 276,284 **** --- 278,288 ---- */ ttysw_getp((Ttysw_view_handle) ttysw_view); ttysw->pending_remote = termsw->cooked_echo; + #if !defined(__linux) || defined(TIOCREMOTE) if (ioctl(ttysw->ttysw_pty, TIOCREMOTE, &ttysw->pending_remote) < 0) perror("ioctl: TIOCREMOTE"); else + #endif ttysw->remote = ttysw->pending_remote; if (!ttysw_waiting_for_pty_input) { diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_ntfy.c xview-3.2p1.4/lib/libxview/ttysw/tty_ntfy.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_ntfy.c Tue Jun 29 07:17:00 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_ntfy.c Mon Apr 28 14:45:19 1997 *************** *** 171,177 **** --- 171,185 ---- * SIGWINCHes on resize. */ /* Notify process group that terminal has changed. */ + #ifdef __linux + /* Under Linux, we can use this ioctl only on the master pty, + * otherwise we'll get ENOTTY. It seems to return the right process + * group nevertheless. + */ + if (ioctl(ttysw->ttysw_pty, TIOCGPGRP, &pgrp) == -1) { + #else if (ioctl(ttysw->ttysw_tty, TIOCGPGRP, &pgrp) == -1) { + #endif perror(XV_MSG("ttysw_sigwinch, can't get tty process group")); return; } *************** *** 179,185 **** --- 187,197 ---- * Only killpg when pgrp is not tool's. This is the case of haven't * completed ttysw_fork yet (or even tried to do it yet). */ + #ifndef __linux if (getpgrp(0) != pgrp) + #else + if (getpgrp() != pgrp) + #endif /* * killpg could return -1 with errno == ESRCH but this is OK. */ *************** *** 204,210 **** --- 216,227 ---- return; } /* Send the signal to the process group of the controlling tty */ + #ifdef __linux + /* See the comment in ttysw_sigwinch */ + if (ioctl(ttysw->ttysw_pty, TIOCGPGRP, &control_pg) >= 0) { + #else if (ioctl(ttysw->ttysw_tty, TIOCGPGRP, &control_pg) >= 0) { + #endif /* * Flush our buffers of completed and partial commands. Be sure to do * this BEFORE killpg, or we'll flush the prompt coming back from the *************** *** 368,373 **** --- 385,394 ---- (void) notify_set_itimer_func((Notify_client) (TTY_PUBLIC(ttysw)), ttysw_itimer_expired, ITIMER_REAL, &ttysw_itimerval, ITIMER_NULL); + #ifdef DEBUG + printf("ttysw_reset_conditions() waiting_for_pty_output=%d, waiting_for_pty_input=%d\n", + ttysw_waiting_for_pty_output, ttysw_waiting_for_pty_input); + #endif } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/tty_stty.c xview-3.2p1.4/lib/libxview/ttysw/tty_stty.c *** xview3.2p1-X11R6/lib/libxview/ttysw/tty_stty.c Tue Jun 29 07:17:06 1993 --- xview-3.2p1.4/lib/libxview/ttysw/tty_stty.c Mon Apr 28 14:45:19 1997 *************** *** 122,127 **** --- 122,128 ---- * often have a value of \0. */ strcpy( str, WE_TTYPARMS_E ); + #ifndef __linux (void) sprintf(str + strlen( str ), "%ld,%ld,%ld,%ld,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd", tp->c_iflag, tp->c_oflag, tp->c_cflag, tp->c_lflag, *************** *** 129,134 **** --- 130,145 ---- tp->c_cc[4], tp->c_cc[5], tp->c_cc[6], tp->c_cc[7], tp->c_cc[8], tp->c_cc[9], tp->c_cc[10], tp->c_cc[11], tp->c_cc[12], tp->c_cc[13], tp->c_cc[14], tp->c_cc[15]); + #else /* __linux */ + (void) sprintf(str + strlen( str ), + "%ld,%ld,%ld,%ld,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd", + tp->c_iflag, tp->c_oflag, tp->c_cflag, tp->c_lflag, + tp->c_cc[0], tp->c_cc[1], tp->c_cc[2], tp->c_cc[3], + tp->c_cc[4], tp->c_cc[5], tp->c_cc[6], tp->c_cc[7], + tp->c_cc[8], tp->c_cc[9], tp->c_cc[10], tp->c_cc[11], + tp->c_cc[12], tp->c_cc[13], tp->c_cc[14], tp->c_cc[15], + tp->c_cc[16]); + #endif (void) putenv(str); } diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/ttysw/ttyansi.c xview-3.2p1.4/lib/libxview/ttysw/ttyansi.c *** xview3.2p1-X11R6/lib/libxview/ttysw/ttyansi.c Tue Jun 29 07:17:04 1993 --- xview-3.2p1.4/lib/libxview/ttysw/ttyansi.c Mon Apr 28 14:45:19 1997 *************** *** 48,54 **** --- 48,58 ---- #define ERROR_RETURN(val) return(val); #endif /* DEBUG */ + #ifndef __linux #define notcontrol(c) (((c&0177) >= ' ') && (c != '\177')) + #else + #define notcontrol(c) ((c >= ' ') && (c != '\177')) + #endif /* Logical state of window */ int curscol; /* cursor column */ diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/win/win_input.c xview-3.2p1.4/lib/libxview/win/win_input.c *** xview3.2p1-X11R6/lib/libxview/win/win_input.c Mon Jun 27 00:27:35 1994 --- xview-3.2p1.4/lib/libxview/win/win_input.c Tue Apr 29 16:14:43 1997 *************** *** 77,83 **** --- 77,85 ---- Xv_private int win_handle_menu_accel(); /* ACC_XVIEW */ + #ifndef __linux FILE *fopen(), *fexp; + #endif Xv_object xview_x_input_readevent(); extern input_imnull(); *************** *** 845,850 **** --- 847,864 ---- #endif XV_BZERO(buffer, buf_length); + /* What's this special-casing of NumLock all about? It makes wrong + * assumptions about Xlib internals, it forces you to use a special keyboard + * mapping and it simply doesn't work. So we just use XLookupKeysym instead + * of this big kludge. This way, not everything works perfect, but the rest + * of the problems is due to the broken keyboard model of X. + * + * Maybe this is all a big misunderstanding, so if somebody can enlighten me, + * please do so. + * + * martin-2.buck@student.uni-ulm.de + */ + #if 0 if (ek->state & num_lock_modmask) { /* Num Lock is on. For the keycode, if it has a key pad * keysym in its row, then send event as keypad key. *************** *** 878,883 **** --- 892,898 ---- compose_status); #endif } else { + #endif /* * Num Lock is off: Don't use the default policy in * Xlib for the right keypad navigation keys. *************** *** 923,929 **** --- 938,946 ---- #endif /* OW_I18N */ break; } + #if 0 } + #endif if (event_type == KeyPress) event_set_down(event); *************** *** 2682,2687 **** --- 2699,2706 ---- return(False); /* Eat this event */ } + /* See the comment above. martin-2.buck@student.uni-ulm.de */ + #if 0 /* * win_translate_KP_keysym - This function is taken from the Xlib function * XTranslateKeySym(). It EXPECTS a keypad keysym and fills the provided *************** *** 2761,2764 **** --- 2780,2784 ---- } return 0; } + #endif #endif diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/win/win_input.h xview-3.2p1.4/lib/libxview/win/win_input.h *** xview3.2p1-X11R6/lib/libxview/win/win_input.h Tue Jun 29 07:15:26 1993 --- xview-3.2p1.4/lib/libxview/win/win_input.h Mon Apr 28 14:45:19 1997 *************** *** 292,298 **** --- 292,310 ---- * user actions to be placed in the input queue. */ + /* Under Linux/ELF, BITSPERBYTE also gets defined in /usr/include/values.h + * martin-2.buck@student.uni-ulm.de + */ + #if 1 + #ifndef BITSPERBYTE + #define BITSPERBYTE 8 + #endif + #if (BITSPERBYTE != 8) + #error BITSPERBYTE != 8 + #endif + #else #define BITSPERBYTE 8 + #endif #define KEY_CODES (VKEY_LAST-VKEY_FIRST) /* The number of the virtual keyboard device diff --context --recursive --new-file xview3.2p1-X11R6/lib/libxview/wmgr/wmgr_menu.c xview-3.2p1.4/lib/libxview/wmgr/wmgr_menu.c *** xview3.2p1-X11R6/lib/libxview/wmgr/wmgr_menu.c Tue Jun 29 07:17:07 1993 --- xview-3.2p1.4/lib/libxview/wmgr/wmgr_menu.c Mon Apr 28 14:45:19 1997 *************** *** 14,21 **** #include #include #include ! #ifdef sparc ! #ifdef SVR4 #include #else #include --- 14,21 ---- #include #include #include ! #if defined(sparc) || defined(__linux) ! #if defined(SVR4) || defined(__linux) #include #else #include diff --context --recursive --new-file xview3.2p1-X11R6/lib/pixrect/Imakefile xview-3.2p1.4/lib/pixrect/Imakefile *** xview3.2p1-X11R6/lib/pixrect/Imakefile Tue Jun 29 07:18:22 1993 --- xview-3.2p1.4/lib/pixrect/Imakefile Sun Jun 15 20:36:11 1997 *************** *** 45,51 **** BuildIncludes($(HEADERS2),$(INCDIR),/**/) install:: ! $(MKDIRHIER) $(PIXRECT_HEADER_DEST) InstallMultiple($(HEADERS),$(PIXRECT_HEADER_DEST)) #else --- 45,51 ---- BuildIncludes($(HEADERS2),$(INCDIR),/**/) install:: ! $(MKDIRHIER) $(DESTDIR)$(PIXRECT_HEADER_DEST) InstallMultiple($(HEADERS),$(PIXRECT_HEADER_DEST)) #else diff --context --recursive --new-file xview3.2p1-X11R6/make xview-3.2p1.4/make *** xview3.2p1-X11R6/make Thu Jan 1 01:00:00 1970 --- xview-3.2p1.4/make Mon Jun 16 02:03:25 1997 *************** *** 0 **** --- 1,4 ---- + #!/bin/sh + + echo "make-wrapper: running pmake $* in directory `pwd`" + exec pmake "$@" diff --context --recursive --new-file xview3.2p1-X11R6/misc/support/Imakefile xview-3.2p1.4/misc/support/Imakefile *** xview3.2p1-X11R6/misc/support/Imakefile Tue Jun 29 07:14:06 1993 --- xview-3.2p1.4/misc/support/Imakefile Sun Jun 15 20:35:33 1997 *************** *** 13,19 **** all:: install:: ! $(MKDIRHIER) $(HELP_DEST) $(LIBRARY_DEST) InstallSupportList($(SUPPORTFILES),$(LIBRARY_DEST)) InstallNonExecList($(INFOFILES),$(HELP_DEST)) --- 13,19 ---- all:: install:: ! $(MKDIRHIER) $(DESTDIR)$(HELP_DEST) $(DESTDIR)$(LIBRARY_DEST) InstallSupportList($(SUPPORTFILES),$(LIBRARY_DEST)) InstallNonExecList($(INFOFILES),$(HELP_DEST)) diff --context --recursive --new-file xview3.2p1-X11R6/util/Imakefile xview-3.2p1.4/util/Imakefile *** xview3.2p1-X11R6/util/Imakefile Tue Jun 29 07:14:05 1993 --- xview-3.2p1.4/util/Imakefile Sun Jun 15 20:35:13 1997 *************** *** 24,30 **** DependSubdirs($(SUBDIRS)) install:: ! $(MKDIRHIER) $(BINDIR) includes:: echo "no includes in $(CURRENT_DIR)" --- 24,30 ---- DependSubdirs($(SUBDIRS)) install:: ! $(MKDIRHIER) $(DESTDIR)$(BINDIR) includes:: echo "no includes in $(CURRENT_DIR)" diff --context --recursive --new-file xview3.2p1-X11R6/util/conversion/Imakefile xview-3.2p1.4/util/conversion/Imakefile *** xview3.2p1-X11R6/util/conversion/Imakefile Tue Jun 29 07:14:03 1993 --- xview-3.2p1.4/util/conversion/Imakefile Tue Apr 29 18:56:46 1997 *************** *** 21,29 **** all:: #if InstallConversion ! InstallMultiple($(SEDFILES), $(BINDIR)) ! InstallProgram(cv2xview, $(BINDIR)) ! InstallProgram(cv2Xdefs, $(BINDIR)) InstallManPage(cv2xview,$(MANDIR)) InstallManPage(cv2Xdefs,$(MANDIR)) #else --- 21,29 ---- all:: #if InstallConversion ! InstallMultiple($(SEDFILES),$(BINDIR)) ! InstallProgram(cv2xview,$(BINDIR)) ! InstallProgram(cv2Xdefs,$(BINDIR)) InstallManPage(cv2xview,$(MANDIR)) InstallManPage(cv2Xdefs,$(MANDIR)) #else diff --context --recursive --new-file xview3.2p1-X11R6/util/conversion/cv2xview xview-3.2p1.4/util/conversion/cv2xview *** xview3.2p1-X11R6/util/conversion/cv2xview Tue Jun 29 07:14:04 1993 --- xview-3.2p1.4/util/conversion/cv2xview Tue Apr 29 19:27:03 1997 *************** *** 17,23 **** CONV_TYPE=full MIN_CONV_TYPE=minimal CTXV_ROOT= ! XVIEW_BINS=bin/xview/ NOT_SET="NOT_SET" CTXV_HOME=${OPENWINHOME}${NOT_SET} --- 17,25 ---- CONV_TYPE=full MIN_CONV_TYPE=minimal CTXV_ROOT= ! XVIEW_BINS=lib/xview/ ! #XVIEW_BINS=bin/xview/ ! [ -z "$OPENWINHOME" ] && OPENWINHOME=/usr/openwin NOT_SET="NOT_SET" CTXV_HOME=${OPENWINHOME}${NOT_SET} *************** *** 54,60 **** echo "----Converting file: ${PROGRAM} " CURRENT_FILE=${PROGRAM} if [ ${CONV_TYPE} = "full" ]; then ! ${CTXV_ROOT}.full1.sed ${CURRENT_FILE} > /tmp/full1.tmp CURRENT_FILE=/tmp/full1.tmp TMP_FILE_TO_DEL=${CURRENT_FILE} # --- 56,62 ---- echo "----Converting file: ${PROGRAM} " CURRENT_FILE=${PROGRAM} if [ ${CONV_TYPE} = "full" ]; then ! ${CTXV_ROOT}full1.sed ${CURRENT_FILE} > /tmp/full1.tmp CURRENT_FILE=/tmp/full1.tmp TMP_FILE_TO_DEL=${CURRENT_FILE} # *************** *** 63,89 **** # the 'boilerplate' for extending full conversion with addtional sed scripts. # Use # ! # ${CTXV_ROOT}.full999.sed ${CURRENT_FILE} > /tmp/full999.tmp # CURRENT_FILE=/tmp/full999.tmp # rm -f ${TMP_FILE_TO_DEL} # TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}.full2.sed ${CURRENT_FILE} > /tmp/full2.tmp CURRENT_FILE=/tmp/full2.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} fi ! ${CTXV_ROOT}.minimal1.sed ${CURRENT_FILE} > /tmp/min1.tmp CURRENT_FILE=/tmp/min1.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}.minimal2.sed ${CURRENT_FILE} > /tmp/min2.tmp CURRENT_FILE=/tmp/min2.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}.minimal3.sed ${CURRENT_FILE} > /tmp/min3.tmp CURRENT_FILE=/tmp/min3.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} --- 65,91 ---- # the 'boilerplate' for extending full conversion with addtional sed scripts. # Use # ! # ${CTXV_ROOT}full999.sed ${CURRENT_FILE} > /tmp/full999.tmp # CURRENT_FILE=/tmp/full999.tmp # rm -f ${TMP_FILE_TO_DEL} # TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}full2.sed ${CURRENT_FILE} > /tmp/full2.tmp CURRENT_FILE=/tmp/full2.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} fi ! ${CTXV_ROOT}minimal1.sed ${CURRENT_FILE} > /tmp/min1.tmp CURRENT_FILE=/tmp/min1.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}minimal2.sed ${CURRENT_FILE} > /tmp/min2.tmp CURRENT_FILE=/tmp/min2.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}minimal3.sed ${CURRENT_FILE} > /tmp/min3.tmp CURRENT_FILE=/tmp/min3.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} *************** *** 93,104 **** # comments the following should be the 'boilerplate' for extending # this script with addtional sed scripts: # ! # ${CTXV_ROOT}.minimal999.sed ${CURRENT_FILE} > /tmp/min999.tmp # CURRENT_FILE=/tmp/min999.tmp # rm -f ${TMP_FILE_TO_DEL} # TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}.minimal4.sed ${CURRENT_FILE} > /tmp/min4.tmp CURRENT_FILE=/tmp/min4.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE} --- 95,106 ---- # comments the following should be the 'boilerplate' for extending # this script with addtional sed scripts: # ! # ${CTXV_ROOT}minimal999.sed ${CURRENT_FILE} > /tmp/min999.tmp # CURRENT_FILE=/tmp/min999.tmp # rm -f ${TMP_FILE_TO_DEL} # TMP_FILE_TO_DEL=${CURRENT_FILE} # ! ${CTXV_ROOT}minimal4.sed ${CURRENT_FILE} > /tmp/min4.tmp CURRENT_FILE=/tmp/min4.tmp rm -f ${TMP_FILE_TO_DEL} TMP_FILE_TO_DEL=${CURRENT_FILE}