home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-30 | 67.3 KB | 2,096 lines |
- Newsgroups: comp.sources.unix
- From: peirce@gw.wmich.edu (Leonard J. Peirce)
- Subject: v26i201: maint - full-screen file and directory maintenance tool, Patch01
- Sender: unix-sources-moderator@efficacy.home.vix.com
- Approved: WhoAmI@efficacy.home.vix.com
-
- Submitted-By: peirce@gw.wmich.edu (Leonard J. Peirce)
- Posting-Number: Volume 26, Issue 201
- Archive-Name: maint/patch01
-
- Message-Id: <9210071829.AA06683@gumby.cc.wmich.edu>
- From: peirce@gumby.cc.wmich.edu (Leonard J. Peirce)
- Date: Wed, 7 Oct 1992 14:29:30 -0400
- To: comp-sources-unix@uunet.uu.net
- Subject: comp.sources.unix -- maint 1.0 patch #1
-
- System: maint version 1.0
- Patch #: 1
- Priority: HIGH
- Subject: Bug fixes and support for new UNIX platforms
- From: peirce@gumby.cc.wmich.edu
-
- Description:
- Lots of stuff in this first patch (see README and CHANGES for
- more info).
-
- Sorry it took so long to get this out. Sometimes real work
- gets in the way. ;-}
-
- Fix:
- Change to the directory where you have the 1.0 source and say
-
- patch -p0 <thisarticle
-
- Index: patchlevel.h
-
- *** ../D.maint.1.0/CHANGES Wed Oct 7 13:53:49 1992
- --- CHANGES Wed Oct 7 13:41:51 1992
- ***************
- *** 0 ****
- --- 1,17 ----
- + 1.0
- + ---
- +
- + Initial version. we haven't found any bugs yet! ;-}
- +
- + 1.0 PL0
- + -------
- +
- + - Support for lots of new UNIX platforms (see README)
- +
- + - -F actually works
- +
- + - screen refresh after a returning from a subprocess works
- +
- + - ^W works
- +
- + - lots of little bug fixes to numerous to mention
- *** ../D.maint.1.0/Makefile.dist Wed Oct 7 13:52:47 1992
- --- Makefile.dist Wed Oct 7 13:09:01 1992
- ***************
- *** 38,42 ****
- #CC = /usr/5bin/cc
- #DEBUGOPT = -O4
- ! #CFLAGS = $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/maint.help\"
- #LIBS = -lcurses -ltermcap
- #
- --- 38,42 ----
- #CC = /usr/5bin/cc
- #DEBUGOPT = -O4
- ! #CFLAGS = $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- #LIBS = -lcurses -ltermcap
- #
- ***************
- *** 45,52 ****
- #CC = gcc
- #DEBUGOPT = -O
- ! #CFLAGS = -I/usr/5include $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/maint.help\"
- #LIBS = /usr/5lib/libcurses.a /usr/5lib/libtermcap.a
-
- -
- # ULTRIX:
- # ULTRIX needs -lcursesX; realize that maint will only build for ULTRIX 3.0+;
- --- 45,51 ----
- #CC = gcc
- #DEBUGOPT = -O
- ! #CFLAGS = -I/usr/5include $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- #LIBS = /usr/5lib/libcurses.a /usr/5lib/libtermcap.a
-
- # ULTRIX:
- # ULTRIX needs -lcursesX; realize that maint will only build for ULTRIX 3.0+;
- ***************
- *** 55,61 ****
- CC = cc
- DEBUGOPT = -O
- ! CFLAGS = $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/maint.help\"
- LIBS = -lcursesX -ltermcap
-
- # System V:
- # Haven't done much testing in this environment. It worked fine the last
- --- 54,66 ----
- CC = cc
- DEBUGOPT = -O
- ! CFLAGS = -Olimit 810 $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- LIBS = -lcursesX -ltermcap
-
- + # IBM RS/6000 AIX 3.0
- + #CC = cc
- + #DEBUGOPT = -O
- + #CFLAGS = -DAIX $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- + #LIBS = -lcurses -ltermcap
- +
- # System V:
- # Haven't done much testing in this environment. It worked fine the last
- ***************
- *** 63,69 ****
- #CC = cc
- #DEBUGOPT = -O
- ! #CFLAGS = -DMAXPATHLEN=1024 -DSYSV $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/maint.help\"
- #LIBS = -lcurses -ltermcap
-
- # Set these if you want to use the Makefile to install maint for you
- #
- --- 68,111 ----
- #CC = cc
- #DEBUGOPT = -O
- ! #CFLAGS = -DMAXPATHLEN=1024 -DSYSV $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- #LIBS = -lcurses -ltermcap
-
- + # IRIX:
- + # Tested on 4.0.1
- + #CC = cc
- + #DEBUGOPT = -O
- + #CFLAGS = $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\" -DSYSV -D"st_blocks=st_size" -cckr
- + #LIB = -lcurses -ltermcap
- +
- + # Pyramid:
- + #CC = att cc
- + #DEBUGOPT = -O
- + #CFLAGS = -DSYSV $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- + #LIBS = -lcurses -ltermcap
- +
- + # Interactive (ISC) SVR3 release 2.2 with gcc 2.1 on a 386
- + #CC = gcc
- + #DEBUGOPT = -O
- + #CFLAGS = -traditional -Disc -DMAXPATHLEN=1024 -DSYSV ${DEBUGOPT} -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- + #LIBS = -lcurses -ltermcap
- +
- + # HP/UX
- + # I *think* this will work. I received patches from people running various
- + # versions of HP/UX on various pieces of hardware.
- + #
- + #CC = cc
- + #DEBUGOPT = -O
- + #CFLAGS = -DMAXPATHLEN=1024 $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- + #LIBS = -lcurses -ltermcap
- +
- + # SCO Unix
- + # SCO Unix 3.2v4 and ODT 2.0 build with a few warnings in screen.c and
- + # xecute.c but appears to work correctly. SCO Unix 3.2 and ODT 1.1 will
- + # build cleanly and run correctly.
- + #CC = cc
- + #DEBUGOPT = -O
- + #CFLAGS = -DMAXPATHLEN=1024 -DSCO $(DEBUGOPT) -c -DHELPFILE=\"${HELPDIR}/${HELPFILE}\"
- + #LIBS = -lcurses -ltermcap
- +
- # Set these if you want to use the Makefile to install maint for you
- #
- ***************
- *** 74,77 ****
- --- 116,120 ----
- # HELPDIR - where the on-line help file will live
- # HELPMODE - protection mode for help file
- + # HELPFILE - name of extended on-line help file (not the man page)
- # OWNER - of executable, the man page, and the help file
- # GROUP - ditto
- ***************
- *** 83,86 ****
- --- 126,130 ----
- HELPDIR = /usr/local/lib
- HELPMODE = 644
- + HELPFILE = maint.help
- OWNER = root
- GROUP = daemon
- ***************
- *** 121,123 ****
- install -c -m ${BINMODE} -o ${OWNER} -g ${GROUP} maint ${BINDIR}
- install -c -m ${MANMODE} -o ${OWNER} -g ${GROUP} maint.1 ${MANDIR}
- ! install -c -m ${HELPMODE} -o ${OWNER} -g ${GROUP} maint.hlp ${HELPDIR}
- --- 165,167 ----
- install -c -m ${BINMODE} -o ${OWNER} -g ${GROUP} maint ${BINDIR}
- install -c -m ${MANMODE} -o ${OWNER} -g ${GROUP} maint.1 ${MANDIR}
- ! install -c -m ${HELPMODE} -o ${OWNER} -g ${GROUP} ${HELPFILE} ${HELPDIR}
- *** ../D.maint.1.0/README Wed Oct 7 13:52:47 1992
- --- README Wed Oct 7 13:34:58 1992
- ***************
- *** 47,55 ****
- o System V Release 3
-
- ! I would like to say that maint will work on HP/UX, AIX, etc., but I
- ! can't because I don't have access to them. If you make it work on a system
- ! not listed above, let me know what you had to do and I'll see what I can do
- ! about including your fixes in the next release.
-
- I'm also pretty anxious to get it ported to Xenix. If anyone out there
- wants to take the time to port it and send me the diffs, I'll be more than
- --- 47,66 ----
- o System V Release 3
-
- ! o SCO UNIX 3.2.2
-
- + o HP-UX
- +
- + o IRIX
- +
- + o Apollo Domain
- +
- + o Pyramid
- +
- + o AIX 3.0
- +
- + If you make maint work on a system not listed above, let me know what you
- + had to do and I'll see what I can do about including your fixes in the next
- + release.
- +
- I'm also pretty anxious to get it ported to Xenix. If anyone out there
- wants to take the time to port it and send me the diffs, I'll be more than
- ***************
- *** 80,83 ****
- --- 91,100 ----
- running SunOS 3.X; this turns on a few typedefs that maint needs.
-
- + If you aren't running nroff there is a preformatted version of the
- + man page in maint.man.uu. It needs to be uudecoded and then copied
- + out to the appropriate manual page directory. You can change the
- + install line for the manual page in the Makefile if you like or you
- + could just copy it by hand.
- +
- 4. Type "make" to build maint.
-
- ***************
- *** 106,109 ****
- --- 123,132 ----
- code improvements.
-
- + To the maint test group, for their invaluable and much appreciated efforts
- + and time in testing maint on a number of different platforms: William Silvert,
- + Karl Vogel, Valter Cavecchia, Stefan Posthuma, Christian Posse, Gordon
- + Berkley, Kiron D. Bondale, and Minh Tran. (Sorry if I missed someone in
- + there).
- +
- CONCLUSION
- I put a lot of work into maint and I would appreciate any comments/
- ***************
- *** 126,130 ****
- If you have a suggestion feel free to send me e-mail.
-
- ! While I'm sure maint doesn't do everything that everyone could ever want,
- I still feel that you will find it useful. At any rate, I use it quite a
- bit, even if no one else does. :-)
- --- 149,153 ----
- If you have a suggestion feel free to send me e-mail.
-
- ! While I'm sure maint doesn't do everything that everyone could ever want,
- I still feel that you will find it useful. At any rate, I use it quite a
- bit, even if no one else does. :-)
- ***************
- *** 133,136 ****
- Leonard J. Peirce Internet: peirce@mickey.acs.wmich.edu
- Western Michigan University peirce@gw.wmich.edu
- ! Academic Computing Services
- Kalamazoo, MI 49008 Voice: (616) 387-5469
- --- 156,159 ----
- Leonard J. Peirce Internet: peirce@mickey.acs.wmich.edu
- Western Michigan University peirce@gw.wmich.edu
- ! University Computing Services
- Kalamazoo, MI 49008 Voice: (616) 387-5469
- *** ../D.maint.1.0/args.c Wed Oct 7 13:52:48 1992
- --- args.c Wed Oct 7 13:39:53 1992
- ***************
- *** 10,14 ****
- Version=01 Level=00 01/24/92 Leonard J. Peirce
-
- ! Purpose: Routine(s) for parsing run-time arguments.
-
- Arguments: See individual routine(s).
- --- 10,14 ----
- Version=01 Level=00 01/24/92 Leonard J. Peirce
-
- ! Purpose: Miscellaneous updates.
-
- Arguments: See individual routine(s).
- ***************
- *** 41,47 ****
- /******************************************************************************/
-
- #include <stdio.h>
- #include <string.h>
- - #include "maint.h"
-
- /******************************************************************************/
- --- 41,47 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <stdio.h>
- #include <string.h>
-
- /******************************************************************************/
- *** ../D.maint.1.0/edit.c Wed Oct 7 13:52:49 1992
- --- edit.c Wed Oct 7 13:39:58 1992
- ***************
- *** 42,51 ****
- /******************************************************************************/
-
- #include <stdio.h>
- #include <string.h>
- ! #if !defined(SYSV) || defined(sun)
- #include <sys/wait.h>
- #endif
- - #include "maint.h"
-
- /******************************************************************************/
- --- 42,51 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <stdio.h>
- #include <string.h>
- ! #if (!defined(SYSV) && !defined(SCO)) || defined(sun)
- #include <sys/wait.h>
- #endif
-
- /******************************************************************************/
- ***************
- *** 117,121 ****
- int child, /* pid of child process */
- i; /* loop and return value */
- ! #if !defined(SYSV) || defined(sun)
- union wait status; /* exit status for child process */
- #else
- --- 117,121 ----
- int child, /* pid of child process */
- i; /* loop and return value */
- ! #if (!defined(SYSV) || defined(sun)) && !defined(SCO) && !defined(AIX)
- union wait status; /* exit status for child process */
- #else
- ***************
- *** 138,141 ****
- --- 138,143 ----
- tptr++;
-
- + endwin();
- +
- if((child = vfork()) == 0)
- {
- ***************
- *** 142,146 ****
- /* we're in the child */
-
- - endwin();
- execlp(editor,tptr,filename,NULL);
- return(FAILURE); /* execlp failed if we get here */
- --- 144,147 ----
- ***************
- *** 156,159 ****
- --- 157,161 ----
- return(FAILURE);
-
- + doupdate();
- return(SUCCESS);
-
- *** ../D.maint.1.0/help.c Wed Oct 7 13:52:49 1992
- --- help.c Wed Oct 7 13:43:15 1992
- ***************
- *** 41,44 ****
- --- 41,45 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 46,50 ****
- #include <curses.h>
- #endif
- - #include "maint.h"
-
- /******************************************************************************/
- --- 47,50 ----
- ***************
- *** 148,151 ****
- --- 148,152 ----
-
- case(CARRIAGE_RETURN):
- + case(KEY_ENTER):
-
- info_mess("Down and Left -- Move down one row, left of screen");
- ***************
- *** 273,288 ****
-
- info_mess("^Goto -- Goto specific page in directory");
- - break;
- -
- - case('W'):
- - case('w'):
- -
- - info_mess("Who -- Display name of author");
- - break;
- -
- - case('V'):
- - case('v'):
- -
- - info_mess("Version -- Display current version");
- break;
-
- --- 274,277 ----
- *** ../D.maint.1.0/info.c Wed Oct 7 13:52:55 1992
- --- info.c Wed Oct 7 13:40:05 1992
- ***************
- *** 43,46 ****
- --- 43,47 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #if !defined(SYSV) || defined(sun)
- #include <sys/types.h>
- ***************
- *** 55,61 ****
- #include <errno.h>
- #include <time.h>
- - #include "maint.h"
- #include <sys/stat.h>
-
- /******************************************************************************/
- /* */
- --- 56,65 ----
- #include <errno.h>
- #include <time.h>
- #include <sys/stat.h>
-
- + #if defined(sgi) || defined(SYSV) || defined(sun) || defined(isc)
- + #include <sys/sysmacros.h> /* get major/minor macros */
- + #endif
- +
- /******************************************************************************/
- /* */
- ***************
- *** 243,248 ****
- case(S_IFCHR):
- put_buf(window,"This file represents a character device.",&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- ! sprintf(buf," The major device number is %d, minor number %d.",statbuf.st_size,
- ! statbuf.st_blocks);
- put_buf(window,buf,&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- break;
- --- 247,255 ----
- case(S_IFCHR):
- put_buf(window,"This file represents a character device.",&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- ! #if defined(major) || defined(sgi) || defined(isc)
- ! sprintf(buf," The major device number is %d, minor number %d.",major(statbuf.st_rdev), minor(statbuf.st_rdev));
- ! #else
- ! sprintf(buf," The major device number is %d, minor number %d.",statbuf.st_size,statbuf.st_blocks);
- ! #endif
- put_buf(window,buf,&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- break;
- ***************
- *** 249,254 ****
- case(S_IFBLK):
- put_buf(window,"This file represents a block device.",&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- ! sprintf(buf," The major device number is %d, minor number %d.",statbuf.st_size,
- ! statbuf.st_blocks);
- put_buf(window,buf,&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- break;
- --- 256,264 ----
- case(S_IFBLK):
- put_buf(window,"This file represents a block device.",&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- ! #if defined(major) || defined(sgi) || defined(isc)
- ! sprintf(buf," The major device number is %d, minor number %d.",major(statbuf.st_rdev), minor(statbuf.st_rdev));
- ! #else
- ! sprintf(buf," The major device number is %d, minor number %d.",statbuf.st_size,statbuf.st_blocks);
- ! #endif
- put_buf(window,buf,&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- break;
- ***************
- *** 261,264 ****
- --- 271,279 ----
- case(S_IFLNK):
- put_buf(window,"This file is a symbolic link.",&row,max_row,0,A_NORMAL,FALSE,' ',FALSE) ;
- + break;
- + #endif
- + #if defined(S_IFSOCK)
- + case(S_IFSOCK):
- + put_buf(window,"This file is a socket.",&row,max_row,0,A_NORMAL,FALSE,' ',FALSE);
- break;
- #endif
- *** ../D.maint.1.0/locate.c Wed Oct 7 13:52:50 1992
- --- locate.c Wed Oct 7 13:40:10 1992
- ***************
- *** 42,45 ****
- --- 42,46 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 48,52 ****
- #endif
- #include <ctype.h>
- - #include "maint.h"
-
- /******************************************************************************/
- --- 49,52 ----
- *** ../D.maint.1.0/main.c Wed Oct 7 13:53:12 1992
- --- main.c Wed Oct 7 13:40:15 1992
- ***************
- *** 142,145 ****
- --- 142,146 ----
- /******************************************************************************/
-
- + #include "maint.h" /* our very own header file */
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 147,152 ****
- --- 148,156 ----
- #else
- #include <curses.h>
- + #ifndef apollo
- #include <sys/file.h>
- #endif
- + #endif
- + #include <sys/types.h>
- #include <sys/param.h>
- #include <sys/stat.h>
- ***************
- *** 238,242 ****
- give_help();
-
- ! #if defined(SYSV) && !defined(sun)
-
- extern char *getcwd();
- --- 242,246 ----
- give_help();
-
- ! #if (defined(SYSV) || defined(hpux)) && !defined(sun)
-
- extern char *getcwd();
- ***************
- *** 262,266 ****
- u_short node_row_max, /* max. # of rows in nodes array */
- node_col_max, /* max. # of columns in nodes array */
- ! cont_flag; /* set if continuing after suspend */
-
- ARG_DEF args; /* run-time argument flags */
- --- 266,271 ----
- u_short node_row_max, /* max. # of rows in nodes array */
- node_col_max, /* max. # of columns in nodes array */
- ! cont_flag, /* set if continuing after suspend */
- ! was_stopped; /* TRUE if coming back from a ^Z */
-
- ARG_DEF args; /* run-time argument flags */
- ***************
- *** 480,484 ****
- dir_name = (char *) malloc(MAXPATHLEN+3);
-
- ! #if defined(SYSV) && !defined(sun)
- getcwd(dir_name,MAXPATHLEN+2);
- #else
- --- 485,489 ----
- dir_name = (char *) malloc(MAXPATHLEN+3);
-
- ! #if (defined(SYSV) || defined(hpux)) && !defined(sun)
- getcwd(dir_name,MAXPATHLEN+2);
- #else
- ***************
- *** 652,655 ****
- --- 657,677 ----
- term_code = wgetch(main_win);
-
- + if(was_stopped)
- + {
- + term_code = 0; /* coming back after being stopped */
- + was_stopped = 0; /* make sure it's clear */
- + nonl();
- + cbreak();
- + noecho();
- + cursor_flag++;
- + clearok(main_win,TRUE);
- + touchwin(spec_win);
- + touchwin(main_win);
- + touchwin(stat_win);
- + wnoutrefresh(spec_win);
- + wnoutrefresh(main_win);
- + wnoutrefresh(stat_win);
- + }
- +
- if(mess_flag) /* was a message on the screen? */
- {
- ***************
- *** 751,755 ****
-
- case(CARRIAGE_RETURN): /**************************************/
- ! /* carriage return */
- /**************************************/
-
- --- 773,777 ----
-
- case(CARRIAGE_RETURN): /**************************************/
- ! case(KEY_ENTER): /* carriage return */
- /**************************************/
-
- ***************
- *** 1003,1006 ****
- --- 1025,1029 ----
-
- status = file_select(entptr->filename);
- + clearok(main_win,TRUE);
- touchwin(main_win);
- touchwin(spec_win);
- ***************
- *** 1577,1580 ****
- --- 1600,1604 ----
-
- status = edit(entptr->filename);
- + clearok(main_win,TRUE);
- touchwin(main_win);
- touchwin(spec_win);
- ***************
- *** 1636,1639 ****
- --- 1660,1665 ----
- }
-
- + clearok(main_win,TRUE);
- + clearok(stat_win,TRUE);
- touchwin(main_win); /* to force it to be refreshed */
- wnoutrefresh(main_win);
- ***************
- *** 2045,2048 ****
- --- 2071,2075 ----
-
- put_options(stat_win);
- + clearok(main_win,TRUE);
- touchwin(main_win);
- touchwin(spec_win);
- ***************
- *** 2057,2060 ****
- --- 2084,2088 ----
- /**************************************/
-
- + clearok(main_win,TRUE);
- touchwin(spec_win);
- touchwin(main_win);
- ***************
- *** 2244,2247 ****
- --- 2272,2276 ----
- /* refresh the stat window because we overwrote it */
-
- + clearok(stat_win,TRUE);
- touchwin(stat_win);
- wrefresh(stat_win);
- ***************
- *** 2327,2331 ****
- put_pagnum(spec_win,curr_screen,num_screen);
-
- ! set_nodes(nodes,node_row_max,&scr_file,num_screen,new_screen,
- num_file,slot_width,num_col);
-
- --- 2356,2360 ----
- put_pagnum(spec_win,curr_screen,num_screen);
-
- ! set_nodes(nodes,node_row_max,&scr_file,num_screen,curr_screen,
- num_file,slot_width,num_col);
-
- *** ../D.maint.1.0/maint.h.dist Wed Oct 7 13:52:56 1992
- --- maint.h.dist Wed Sep 23 10:29:14 1992
- ***************
- *** 58,63 ****
- --- 58,69 ----
- /* the following stuff you probably won't want to touch */
-
- + #if !defined(TRUE)
- #define TRUE (1)
- + #endif
- +
- + #if !defined(FALSE)
- #define FALSE (0)
- + #endif
- +
- #define NULLPTR (char *) 0
-
- ***************
- *** 222,227 ****
- #define xmess(message,prefix_len) write_mess(message,A_REVERSE,prefix_len)
-
- ! #if defined(SYSV) && !defined(sun)
-
- /* stuff that needs to be defined for System V */
-
- --- 228,242 ----
- #define xmess(message,prefix_len) write_mess(message,A_REVERSE,prefix_len)
-
- ! /* HPUX - in screen.c, DEV_BSHIFT remains undefined if dirent.h is included
- ! * before sys/param.h (which it is, since this header included dirent.h
- ! * and it is included in screen.c before sys/param.h
- ! */
-
- + #if defined(hpux) && !defined(DEV_BSHIFT)
- + #define DEV_BSHIFT 10
- + #endif
- +
- + #if !defined(sun) && (defined(SYSV) || defined(SCO) || defined(AIX))
- +
- /* stuff that needs to be defined for System V */
-
- ***************
- *** 228,232 ****
- --- 243,250 ----
- #define vfork fork /* no vfork() */
- #define dbtob(db) ((unsigned)(db) << BSHIFT)
- +
- + #if !defined(hpux)
- #define R_OK 04 /* for access() */
- + #endif
-
- #endif
- ***************
- *** 238,242 ****
- /******************************************************************************/
-
- ! #if defined(SYSV) && !defined(sun)
-
- typedef unsigned long int u_long; /* I like underscores.... */
- --- 256,260 ----
- /******************************************************************************/
-
- ! #if defined(SYSV) && !defined(sun) && !defined(sgi) && !defined(hpux)
-
- typedef unsigned long int u_long; /* I like underscores.... */
- ***************
- *** 244,249 ****
- --- 262,274 ----
- typedef unsigned short int u_short;
- typedef unsigned char u_char;
- +
- + #if !defined(pyr) && (defined(apollo) && !defined(_TYPES_)) && !defined(isc)
- typedef int gid_t,uid_t;
- + #endif
-
- + #endif
- +
- + #if defined(hpux)
- + #define SIGWINCH SIGWINDOW
- #endif
-
- *** ../D.maint.1.0/maint.help Wed Oct 7 13:52:51 1992
- --- maint.help Thu Sep 10 10:49:49 1992
- ***************
- *** 19,24 ****
- Sometimes there is more than one command to do the same thing. Multiple
- commands are separated by commas. Upper and lower case are the same.
- !
- ! Maint has a number of commands selecting the current file from those
- on the screen. You may simply move around the screen by giving the
- following motion commands.
- --- 19,24 ----
- Sometimes there is more than one command to do the same thing. Multiple
- commands are separated by commas. Upper and lower case are the same.
- !
- ! Maint has a number of commands for selecting the current file from those
- on the screen. You may simply move around the screen by giving the
- following motion commands.
- ***************
- *** 40,44 ****
- -,_ - go to next page of files (if you have more files
- than can be printed in a single screenful)
- !
- Maint offers you a number of ways of moving from directory to directory:
-
- --- 40,44 ----
- -,_ - go to next page of files (if you have more files
- than can be printed in a single screenful)
- !
- Maint offers you a number of ways of moving from directory to directory:
-
- ***************
- *** 47,51 ****
- s - SELECT current file to become the new directory.
- If the file is not a directory, it is viewed instead.
- !
- The maint commands for changing individual files are:
-
- --- 47,51 ----
- s - SELECT current file to become the new directory.
- If the file is not a directory, it is viewed instead.
- !
- The maint commands for changing individual files are:
-
- ***************
- *** 56,60 ****
- same directory only.
- d - mark the current file for DELETE.
- !
- Maint allow you to change various characteristics of a file:
-
- --- 56,60 ----
- same directory only.
- d - mark the current file for DELETE.
- !
- Maint allow you to change various characteristics of a file:
-
- ***************
- *** 67,71 ****
- bits (eg, 755) or by mimicing the permission string
- (eg `rw-r--r--', etc.)
- !
- Commands which mark a file are not executed immediately. The marks
- be marked
- --- 67,71 ----
- bits (eg, 755) or by mimicing the permission string
- (eg `rw-r--r--', etc.)
- !
- Commands which mark a file are not executed immediately. The marks
- be marked
- ***************
- *** 76,80 ****
- control-r - REBUILD the current directory. This
- cancels all pending marks.
- !
- Maint will let you get various information and views of a file:
-
- --- 76,80 ----
- control-r - REBUILD the current directory. This
- cancels all pending marks.
- !
- Maint will let you get various information and views of a file:
-
- ***************
- *** 88,92 ****
- PAGER environment, or the system default (less). If
- the file is a directory, it is BRANCHED to (see 'b')
- !
- Maint will let you assign descriptive text to a file or directory.
- The 't' command functions as follows:
- --- 88,92 ----
- PAGER environment, or the system default (less). If
- the file is a directory, it is BRANCHED to (see 'b')
- !
- Maint will let you assign descriptive text to a file or directory.
- The 't' command functions as follows:
- ***************
- *** 100,104 ****
- characters of description for any file in the directory. Select the
- file with the motion commands, then type 't'.
- !
- Misc maint commands:
-
- --- 100,104 ----
- characters of description for any file in the directory. Select the
- file with the motion commands, then type 't'.
- !
- Misc maint commands:
-
- *** ../D.maint.1.0/maint.man.uu Wed Oct 7 13:53:52 1992
- --- maint.man.uu Wed Oct 7 13:21:27 1992
- ***************
- *** 0 ****
- --- 1,300 ----
- + begin 644 maint.man
- + M"@H*(" @,2!*86X@,3DY,B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @34%)3E0H,2D*"@H*(" @3D%-
- + M10H@(" @(&UA:6YT("T@1G5L;"US8W)E96X@9FEL92]D:7)E8W1O<GD@;6%I
- + M;G1E;F%N8V4*"B @(%-93D]04TE3"B @(" @;6%I;G0@6RUA8V1F9V]P<W1=
- + M(%LM4R!;7PAS7PAO7PAR7PAT+5\(9E\(:5\(95\(;%\(9%U="@H@("!$15-#
- + M4DE05$E/3@H@(" @(%\(;5\(85\(:5\(;E\(="!I<R!A(&9I;&4O9&ER96-T
- + M;W)Y(&UA:6YT96YA;F-E('5T:6QI='D@=&AA=" @8V]M8FEN97,@('1H92 @
- + M9G5N8RT*(" @("!T:6]N86QI='D@;V8@;6%N>2!W96QL+6MN;W=N(%5N:7@@
- + M=71I;&ET:65S+"!A9&1S('-O;64@;F5W(&-A<&%B:6QI=&EE<RP*(" @("!A
- + M;F0@<&%C:V%G97,@=&AE;2!I;G1O(&$@9G5L;"US8W)E96X@:6YT97)F86-E
- + M('1H870@9VEV97,@>6]U('1H92 @8V%P82T*(" @("!B:6QI='D@;V8@=V]R
- + M:VEN9R!W:71H(&5N=&ER92!D:7)E8W1O<FEE<R!A="!O;F4@=&EM92!I;G-T
- + M96%D(&]F('=O<FMI;F<*(" @("!W:71H(&$@9F5W(&9I;&5S(&%N9"!H879I
- + M;F<@=&\@<G5N(%\(;%\(<R@Q*2!T;R!S964@=&AE(&-U<G)E;G0@<W1A=&4@
- + M;V8@=&AE"B @(" @9&ER96-T;W)Y+@H*(" @("!$:7)E8W1O<FEE<R!A<F4@
- + M<')E<V5N=&5D(&%S(&$@<V5R:65S(&]F(&]N92!O<B!M;W)E('-C<F5E;G,L
- + M(&UA:VEN9R @:70*(" @("!P;W-S:6)L92 @=&\@(&%S<V]C:6%T92 @:6YD
- + M:79I9'5A;" @8V]M;6%N9',@('=I=&@@96%C:"!F:6QE+V1I<F5C=&]R>2X*
- + M(" @("!4:&5S92!C;VUM86YD<R!A<F4@;F]T(&%C='5A;&QY('!E<F9O<FUE
- + M9"!U;G1I;"!T:&4@9&ER96-T;W)Y("!I<R @(F5X92T*(" @("!C=71E9"(@
- + M(&%N9"!T:&5N(&%L;"!O9B!T:&4@8V]M;6%N9',@:6X@=&AE(&1I<F5C=&]R
- + M>2!W:6QL(&)E('!E<F9O<FUE9"X*(" @("!4:&ES(&%L;&]W<R!P;&5N='D@
- + M;V8@=&EM92!T;R!C:&%N9V4@;W(@8V%N8V5L(&-O;6UA;F1S('=I=&@@(&EN
- + M9&EV:61U86P*(" @("!F:6QE<R!B969O<F4@82!P;W-S:6)L92!C871A<W1R
- + M;W!H92X*"B @(" @3W1H97(@8V%P86)I;&ET:65S+"!S=6-H(&%S(&)R;W=S
- + M:6YG(&%N9"!E9&ET:6YG(&9I;&5S+"!C:&%N9VEN9R @9&ER96,M"B @(" @
- + M=&]R:65S+" @86YD("!A<W-O8VEA=&EN9R @(G1E>'0@9&5S8W)I<'1O<G,B
- + M('=I=&@@9FEL97,@86YD(&1I<F5C=&]R:65S"B @(" @;6%K92!I="!P;W-S
- + M:6)L92!M86YA9V4@;75L=&EP;&4@9FEL97,O9&ER96-T;W)I97,@<75I8VML
- + M>2P@96%S:6QY+" @86YD"B @(" @969F:6-I96YT;'DN"@H@("!/4%1)3TY3
- + M"@H@(" @("UA(" @26YC;'5D92!A;&P@9FEL97,L(&EN8VQU9&EN9R!T:&]S
- + M92!B96=I;FYI;F<@=VET:"!A('!E<FEO9" H+BDN"@H@(" @("UC(" @07-K
- + M(&9O<B!C;VYF:7)M871I;VX@8F5F;W)E(&5896-U=&EN9R!C;VUM86YD<R!I
- + M;B!A(&1I<F5C=&]R>2X*"B @(" @+60@("!);F-L=61E(&1A=&4@9FEE;&0@
- + M9F]R(&9I;&5S+@H*(" @(" M9B @($EN8VQU9&4@9G5L;"!I;F9O<FUA=&EO
- + M;B!F;W(@9FEL97,N("!);7!L:65S("UO9&=S<"X*"B @(" @+6<@("!);F-L
- + M=61E(&=R;W5P(&YA;64@9F]R(&9I;&5S+@H*(" @(" M;R @($EN8VQU9&4@
- + M;W=N97(@9FEE;&0@9F]R(&9I;&5S+@H*(" @(" M<" @($EN8VQU9&4@<')O
- + M=&5C=&EO;B H;6]D92D@9FEE;&0@9F]R(&9I;&5S+@H*(" @(" M<R @($EN
- + M8VQU9&4@<VEZ92 H:6X@8GET97,I(&9I96QD(&9O<B!F:6QE<RX*"B @(" @
- + M+70@("!3=&%R="!U<"!I;B!T97AT(&UO9&4N("!)9B!M86EN="YT9&8@(&1O
- + M97,@(&YO=" @97AI<W0@(&EN("!C=7)R96YT"B @(" @(" @("!D:7)E8W1O
- + M<GDL('1H:7,@9FQA9R!I<R!I9VYO<F5D+@H*(" @(" M02 @($%U=&\M861V
- + M86YC92!T:&4@8W5R<V]R(&]N($1E;&5T92!O<B!5;FUA<FL@8V]M;6%N9',N
- + M"@H@(" @("U&(" @36%R:W,@9&ER96-T;W)I97,@=VET:"!T<F%I;&EN9R!S
- + M;&%S:" H+RDL('-O8VME=',@=VET:"!A("!T<F%I;&EN9PH@(" @(" @(" @
- + M97%U86P@('-I9VX@("@]*2P@('-Y;6)O;&EC("!L:6YK<R!W:71H(&$@=')A
- + M:6QI;F<@870@<VEG;B H0"DL(&%N9 H@(" @(" @(" @97AE8W5T86)L92!F
- + M:6QE<R!W:71H(&$@=')A:6QI;F<@87-T97)I<VL@*"HI+@H*"@H@(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @,0H*"@H*"@H@("!-04E.5"@Q*2 @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @,2!*86X@,3DY,@H*"B @(" @+5-?"'-?"&]?"')?"'0M7PAF
- + M7PAI7PAE7PAL7PAD"B @(" @(" @4V]R="!F:6QE<R!B>2!S;W)T+69I96QD
- + M.R!L96=A;" @=F%L=64@(&%R93H@('-I>F4L("!D871E+" @9FEL96YA;64N
- + M"B @(" @(" @1&5F875L="!I<R!F:6QE;F%M92X*"B @($1)4U!,05D*(" @
- + M("!4:&4@<V-R965N(&ES(&1I=FED960@:6YT;R!T:')E92 @<F5G:6]N<RX@
- + M("!4:&4@(&9I<G-T("!R96=I;VX@(&ES("!T:&4*(" @("!D:7)E8W1O<GD@
- + M('-P96-I9FEC871I;VX@=VEN9&]W+"!A;&]N9R!T:&4@=&]P(&]F('1H92!S
- + M8W)E96XN("!4:&ES('=I;BT*(" @("!D;W<@:7,@='=O(&QI;F5S(&%N9"!C
- + M;VYT86EN<SH*"B @(" @;R @("!4:&4@8W5R<F5N="!D:7)E8W1O<GD@<W!E
- + M8VEF:6-A=&EO;BX@($EF('1H92!C=7)R96YT(&1I<F5C=&]R>2!I<R!A"B @
- + M(" @(" @("!D97-C96YD86YT("!O9B!Y;W5R(&AO;64@9&ER96-T;W)Y+"!T
- + M:&4@:&]M92!D:7)E8W1O<GD@<&]R=&EO;B!W:6QL"B @(" @(" @("!N;W0@
- + M8F4@<W!E8VEF:65D(&EN(&]R9&5R('1O('-A=F4@<W!A8V4N("!)9B!T:&4@
- + M8W5R<F5N=" @9&ER96-T;W)Y"B @(" @(" @("!I<R @>6]U<B @:&]M92 @
- + M9&ER96-T;W)Y+"!T:&4@9G5L;"!D:7)E8W1O<GD@<W!E8VEF:6-A=&EO;B!W
- + M:6QL(&)E"B @(" @(" @("!U<V5D+@H*(" @("!O(" @(%1H92!C=7)R96YT
- + M('!A9V4@86YD('1H92!T;W1A;"!N=6UB97(@;V8@<&%G97,@:6X@=&AE(&1I
- + M<F5C=&]R>2X*"B @(" @;R @("!4:&4@=&5X="!D97-C<FEP=&]R(&9O<B!T
- + M:&4@9&ER96-T;W)Y("AI9B!Y;W4@87)E(&EN(%1E>'0@;6]D92DN"@H@(" @
- + M(%1H92!M:61D;&4@<V5C=&EO;B!I<R!T:&4@;6%I;B @<V-R965N+" @86YD
- + M("!W:6QL("!C;VYT86EN("!I;F9O<FUA=&EO;@H@(" @(&%B;W5T("!T:&4@
- + M:6YD:79I9'5A;"!F:6QE<R!A;F0@9&ER96-T;W)I97,N("!%86-H(&9I;&4O
- + M9&ER96-T;W)Y(&]N('1H90H@(" @('-C<F5E;B!O8V-U<&EE<R!A(")S;&]T
- + M(BX@($5A8V@@9FEL92!S;&]T("!C86X@(&AA=F4@(&1I9F9E<F5N=" @8VAA
- + M<F%C+0H@(" @('1E<FES=&EC<RP@9&5P96YD:6YG(&]N(&9I;&5N86UE(&QE
- + M;F=T:"!A;F0@8V]M;6%N9',N"@H@(" @(&\@(" @268@9F]R(&%N>2!R96%S
- + M;VX@=&AE(&9U;&P@9FEL96YA;64@;V8@82!F:6QE('=O;B=T(&9I="!I;B @
- + M82 @9FEL90H@(" @(" @(" @<VQO="P@:70@=VEL;"!B92!F;&%G9V5D('=I
- + M=&@@86X@87-T97)I<VLN"@H@(" @(&\@(" @268@=&AE(&9I;&4@:&%S("!A
- + M;GD@(&-O;6UA;F1S("!A<W-O8VEA=&5D("!W:71H("!I="P@(&ET("!W:6QL
- + M("!B90H@(" @(" @(" @9&ES<&QA>65D("!I;B @8F]L9" @*&]R('!O<W-I
- + M8FQY(')E=F5R<V4L(&EF('EO=7(@=&5R;6EN86P@9&]E<VXG= H@(" @(" @
- + M(" @<W5P<&]R="!B;VQD:6YG*2X@($EF('1H92!F:6QE(&AA<R @8F5E;B @
- + M;6%R:V5D("!F;W(@(&1E;&5T:6]N+" @80H@(" @(" @(" @<W1R:6YG('-I
- + M9VYI9GEI;F<@<W5C:"!W:6QL(&%L<V\@87!P96%R+@H*(" @("!4:&4@8F]T
- + M=&]M('-E8W1I;VX@:7,@('1H92 @;W!T:6]N("!L:6YE("!T:&%T("!W:6QL
- + M("!D:7-P;&%Y("!T:&4@(&UO<W0*(" @("!C;VUM;VYL>2UU<V5D("!C;VUM
- + M86YD<R!W:71H('1H92!C:&%R86-T97(@=7-E9"!T;R!I;G9O:V4@=&AE;2!D
- + M:7-P;&%Y960*(" @("!I;B!B;VQD("AO<B!R979E<G-E*2X@(%1H92!N=6UB
- + M97(@;V8@(&9I;&5S("!A;F0@('1H92 @=&]T86P@(&YU;6)E<B @;V8*(" @
- + M("!B;&]C:W,@:6X@=&AE(&1I<F5C=&]R>2!A<F4@86QS;R!D:7-P;&%Y960N
- + M"@H@("!&14%455)%4PH@(" @($UO=FEN9R!!<F]U;F0N"@H@(" @(%1H97)E
- + M(&%R92!A(&YU;6)E<B!O9B!D:69F97)E;G0@=V%Y<R @=&\@(&UO=F4@(&%R
- + M;W5N9" @=&AE("!S8W)E96X@(&%N9 H@(" @(&-H86YG92!T:&4@8W5R<F5N
- + M="!S8W)E96XN("!4:&4@9F]L;&]W:6YG('1A8FQE(&1E<V-R:6)E<R!T:&4@
- + M:V5Y<W1R;VME<PH@(" @('1H870@8V%N(&)E('5S960[(&)E(&%W87)E('1H
- + M870@;F]T(&%L;"!K97ES(&UA>2 @8F4@(&1E9FEN960@(&]N("!E=F5R>0H@
- + M(" @('1E<FUI;F%L+B @268@=&AE<F4@:7,@82!K97D@=&AA="!L;V]K<R!L
- + M:6ME(&ET(&UI9VAT('=O<FLL('1R>2!I="X@.BTI"@H@(" @(')I9VAT("AM
- + M;W9E(')I9VAT(&]N92!C;VQU;6XI"B @(" @(" @("!L+"!2:6=H="!!<G)O
- + M=RP@4W!A8V4L(%1A8BP@1W)E871E<B!4:&%N(#X*"B @(" @;&5F=" H;6]V
- + M92!L969T(&]N92!C;VQU;6XI"B @(" @(" @("!H+"!,969T($%R<F]W+"!,
- + M97-S(%1H86X@/ H*(" @("!U<" H;6]V92!U<"!O;F4@<F]W*0H@(" @(" @
- + M(" @:RP@57 @07)R;W<L($-A<F5T(%X*"@H*(" @,@H*"@H*"@H@(" Q($IA
- + M;B Q.3DR(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @("!-04E.5"@Q*0H*"B @(" @9&]W;B H;6]V92!D
- + M;W=N(&]N92!R;W<I"B @(" @(" @("!J+"!$;W=N($%R<F]W"@H@(" @('!L
- + M=7,@<&%G92 H9V\@=&\@;F5X="!S8W)E96X@:6X@9&ER96-T;W)Y*0H@(" @
- + M(" @(" @*RP@/2P@3F5X="!38W)E96XL(&-O;G1R;VPM1@H*(" @("!M:6YU
- + M<R!P86=E("AG;R!T;R!P<F5V:6]U<R!S8W)E96X@:6X@9&ER96-T;W)Y*0H@
- + M(" @(" @(" @+2P@7RP@4')E=FEO=7,@4V-R965N+"!C;VYT<F]L+4(*"B @
- + M(" @9V\@=&\@<&%G92 H9V\@=&\@82!S<&5C:69I8R!S8W)E96X@:6X@9&ER
- + M96-T;W)Y*0H@(" @(" @(" @8V]N=')O;"U'.R!P<F]M<'0@=VEL;"!A<'!E
- + M87(@9F]R('-P96-I9FEC('!A9V4@;G5M8F5R+@H*(" @("!&:6QE($-O;6UA
- + M;F1S+@H*(" @("!%86-H(&9I;&4O9&ER96-T;W)Y(&-A;B!O;F4@;W(@;6]R
- + M92!I;F1I=FED=6%L(&-O;6UA;F1S(&%S<V]C:6%T960@('=I=&@*(" @("!I
- + M="X@("!4:&5S92 @8V]M;6%N9',@=VEL;"!N;W0@8F4@<&5R9F]R;65D('5N
- + M=&EL('EO=2!A8W1U86QL>2 B97AE8W5T92(*(" @("!T:&5M('=I=&@@=&AE
- + M(%AE8W5T92!C;VUM86YD(" H<V5E("!B96QO=RDN(" @5&\@(&%D9" @82 @
- + M8V]M;6%N9" @=&\@(&$*(" @("!F:6QE+V1I<F5C=&]R>2P@<&]S:71I;VX@
- + M=&AE(&-U<G-O<B!N97AT('1O(&ET(&%N9"!P<F5S<R!T:&4@87!P<F]P<FEA
- + M=&4*(" @("!K97DN("!9;W4@=VEL;"!B92!P<F]M<'1E9"!F;W(@86YY(&YE
- + M8V5S<V%R>2!I;F9O<FUA=&EO;BX*"B @(" @5&\@<V5E('=H870@8V]M;6%N
- + M9',@87)E("!A<W-O8VEA=&5D("!W:71H("!A("!F:6QE+V1I<F5C=&]R>2P@
- + M('5S92 @=&AE"B @(" @26YF;W)M871I;VX@8V]M;6%N9"X*"B @(" @5&AE
- + M(&EN9&EV:61U86P@8V]M;6%N9',@86YD(&%P<')O<')I871E(&ME>7-T<F]K
- + M97,@87)E.@H*(" @("!#;W!Y(&9I;&4@*$,@;W(@8RD*(" @(" @(" @($-O
- + M<'D@9FEL92!T;R!A;F]T:&5R(&9I;&4N("!);G9A;&ED(&9O<B!D:7)E8W1O
- + M<FEE<RX*"B @(" @1&5L971E(&9I;&4@*$0L(&0L(%)E;6]V92D*(" @(" @
- + M(" @($1E;&5T92!F:6QE+V1I<F5C=&]R>2X*"B @(" @4F5N86UE(&9I;&4@
- + M*%(@;W(@<BD*(" @(" @(" @(%)E;F%M92!T:&4@9FEL92!T;R!A(&YE=R!F
- + M:6QE;F%M92X*"B @(" @0VAA;F=E(&=R;W5P("A'(&]R(&<I"B @(" @(" @
- + M("!#:&%N9V4@9W)O=7 @;V8@9FEL92]D:7)E8W1O<GDN("!5<W5A;&QY(&]N
- + M;'D@=V]R:W,@(&9O<B @<W5P97)U<V5R"B @(" @(" @("!O;B!N;VXM4WES
- + M=&5M(%8@;6%C:&EN97,N"@H@(" @($-H86YG92!O=VYE<B H;RD*(" @(" @
- + M(" @($-H86YG92!O=VYE<B!O9B!F:6QE+V1I<F5C=&]R>2X@(%5S=6%L;'D@
- + M;VYL>2!W;W)K<R @9F]R("!S=7!E<G5S97(*(" @(" @(" @(&]N(&YO;BU3
- + M>7-T96T@5B!M86-H:6YE<RX*"B @(" @0VAA;F=E('!R;W1E8W1I;VX@*% @
- + M;W(@<"D*(" @(" @(" @($-H86YG92!T:&4@<')O=&5C=&EO;B H;6]D92D@
- + M;V8@82!F:6QE+V1I<F5C=&]R>2X@(%1H92!M;V1E(&-A;B @8F4*(" @(" @
- + M(" @('-P96-I9FEE9" @:6X@(&]N92 @;V8@='=O(&9O<FUS.B @,2D@=&AE
- + M('=A>2!I="!A<'!E87)S(&]N('-C<F5E;BP*(" @(" @(" @(&DN92X@<G<M
- + M<BTM<BTM+"!O<B R*2!O8W1A;"!F;W)M870L(&DN92X@-S4U+@H*(" @("!2
- + M97!E870@<')E=FEO=7,@9FEL92!C;VUM86YD("@N*0H@(" @(" @(" @4F5P
- + M96%T('1H92!L87-T(&9I;&4@8V]M;6%N9"!S<&5C:69I960@:6X@=&AE(&-U
- + M<G)E;G0@9&ER96-T;W)Y+@H*(" @("!497AT(&1E<V-R:7!T;W(@*%0@;W(@
- + M="D*(" @(" @(" @($%D9"]C:&%N9V4@82!T97AT(&1E<V-R:7!T;W(@9F]R
- + M(&$@9FEL92]D:7)E8W1O<GDN("!3964@(&)E;&]W("!F;W(*(" @(" @(" @
- + M(&UO<F4@:6YF;W)M871I;VX@86)O=70@=&5X="!D97-C<FEP=&]R<RX*"@H*
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(#,*"@H*"@H*(" @34%)
- + M3E0H,2D@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @(#$@2F%N(#$Y.3(*"@H@(" @($]T:&5R($-O;6UA
- + M;F1S+@H*(" @("!/=&AE<B!C;VUM86YD<R!A;F0@;F]N+65896-U=&%B;&4@
- + M9FEL92!C;VUM86YD<R!A=F%I;&%B;&4@:6X@7PAM7PAA7PAI7PAN7PAT(&%R
- + M93H*"B @(" @17-C87!E('1O('-H96QL("@A*0H@(" @(" @(" @4W1A<G1S
- + M('5P(&$@<W5B<VAE;&PN("!%>&ET:6YG('1H92!S=6)S:&5L;"!W:6QL(&-A
- + M=7-E(&$@<F5T=7)N("!T;PH@(" @(" @(" @7PAM7PAA7PAI7PAN7PAT+@H*
- + M(" @("!396%R8V@@9F]R(&$@9FEL92 H+RD*(" @(" @(" @(%-E87)C:"!F
- + M;W(@82!F:6QE;F%M92!I;B!T:&4@8W5R<F5N="!D:7)E8W1O<GDN("!!('!R
- + M969I>"!S96%R8V@@:7,*(" @(" @(" @(&1O;F4@<V\@;VYL>2!E;F]U9V@@
- + M;V8@=&AE(&9I;&5N86UE('1O(&ED96YT:69Y(&ET(&ES(&YE8V5S<V%R>2X*
- + M"B @(" @4F5B=6EL9"!D:7)E8W1O<GD@*&-O;G1R;VPM4BD*(" @(" @(" @
- + M(%)E8G5I;&0@=&AE(&-U<G)E;G0@9&ER96-T;W)Y+"!D:7-C87)D:6YG(&%L
- + M;"!F:6QE(&-O;6UA;F1S(&9O<B!T:&4*(" @(" @(" @(&1I<F5C=&]R>2X@
- + M("!4:&ES("!I<R @<V]M971I;65S("!N96-E<W-A<GD@:6X@=F5R>2!V;VQA
- + M=&EL92!D:7)E8RT*(" @(" @(" @('1O<FEE<R!W:&5R92!T:&4@:6YF;W)M
- + M871I;VX@:6X@7PAM7PAA7PAI7PAN7PAT(&UI9VAT(&YO="!B92!I;B!S>6YC
- + M('=I=&@@=&AE"B @(" @(" @("!C=7)R96YT('-T871E(&]F('1H92!D:7)E
- + M8W1O<GDN"@H@(" @($5D:70@9FEL92 H12!O<B!E*0H@(" @(" @(" @161I
- + M="!T:&4@8W5R<F5N="!F:6QE+B @5&AE($5$251/4B @96YV:7)O;FUE;G0@
- + M('9A<FEA8FQE("!W:6QL("!B90H@(" @(" @(" @=7-E9"!F;W(@=&AE(&5D
- + M:71O<B!I9B!I="!I<R!D969I;F5D+B @5&AE(&1E9F%U;'0@:7,@=FDN"@H@
- + M(" @($9I;FES:"!D:7)E8W1O<GD@*$8@;W(@9BD*(" @(" @(" @($5X:70@
- + M=&AE(&-U<G)E;G0@9&ER96-T;W)Y(&%N9"!R971U<FX@=&\@<')E=FEO=7,@
- + M9&ER96-T;W)Y(&EF("!O;F4*(" @(" @(" @(&5X:7-T<RX@("!)9B!T:&4@
- + M8W5R<F5N="!D:7)E8W1O<GD@:7,@=&AE('1O<"UL979E;"!D:7)E8W1O<GDL
- + M('1H:7,*(" @(" @(" @(&ME>2!I<R!I;G9A;&ED+B @268@86YY(&-O;6UA
- + M;F1S(&5X:7-T(&EN("!T:&4@(&-U<G)E;G0@(&1I<F5C=&]R>2P*(" @(" @
- + M(" @(%\(;5\(85\(:5\(;E\(="!W:6QL(&%S:R!F;W(@8V]N9FER;6%T:6]N
- + M(&)E9F]R92!L96%V:6YG('1H92!D:7)E8W1O<GDN"@H@(" @(%%U:70@*%$@
- + M;W(@<2D*(" @(" @(" @($5X:70@7PAM7PAA7PAI7PAN7PAT(&EM;65D:6%T
- + M96QY+B @268@9FEL92!C;VUM86YD<R!E>&ES="!I;B @7PAA7PAN7PAY("!D
- + M:7)E8W1O<GDL"B @(" @(" @("!?"&U?"&%?"&E?"&Y?"'0@=VEL;"!A<VL@
- + M9F]R(&-O;F9I<FUA=&EO;B!B969O<F4@<75I='1I;F<N"@H@(" @($EN9F]R
- + M;6%T:6]N("A)(&]R(&DI"B @(" @(" @("!':79E(&9U;&P@(&EN9F]R;6%T
- + M:6]N("!O;B @9FEL92]D:7)E8W1O<GD@(&EN8VQU9&EN9R @<VEZ92P@(&UO
- + M9&4L"B @(" @(" @("!A8V-E<W,@(&1A=&4L("!M;V1I9FEC871I;VX@9&%T
- + M92P@8W)E871I;VX@9&%T92P@;W=N97(L(&=R;W5P+"!T97AT"B @(" @(" @
- + M("!D97-C<FEP=&]R("AI9B!A;GDI+"!A;F0@86YY(&9I;&4@8V]M;6%N9',N
- + M"@H@(" @(%5N;6%R:R!F:6QE("A5(&]R('4I"B @(" @(" @("!#86YC96P@
- + M86QL(&UA<FMS(&9O<B!T:&4@9FEL92]D:7)E8W1O<GDN"@H@(" @(%-E;&5C
- + M="!F:6QE+V1I<F5C=&]R>2 H4RP@<RP@4V5L96-T*0H@(" @(" @(" @268@
- + M4V5L96-T:6YG(&$@9FEL92P@:6YV;VME('1H92!A('!A9V5R(&]N(&ET('1O
- + M(&%L;&]W('1H92!F:6QE("!T;PH@(" @(" @(" @8F4@(&)R;W=S960N("!4
- + M:&4@4$%'15(@96YV:7)O;FUE;G0@=F%R:6%B;&4@:7,@8VAE8VME9"!F:7)S
- + M="X@("!)9@H@(" @(" @(" @4$%'15(@:7,@;F]T('-E="P@=&AE(&1E9F%U
- + M;'0@<&%G97(@9F]R('1H92!S>7-T96T@:7,@=7-E9"X@("!%>&ET+0H@(" @
- + M(" @(" @:6YG('1H92!P86=E<B!W:6QL(&-A=7-E(&$@<F5T=7)N('1O(%\(
- + M;5\(85\(:5\(;E\(="X*"B @(" @(" @("!)9B!396QE8W1I;F<@82!D:7)E
- + M8W1O<GDL(&-H86YG92 @=&\@('1H870@(&1I<F5C=&]R>2P@('-A=FEN9R @
- + M=&AE"B @(" @(" @("!S=&%T92!O9B!T:&4@8W5R<F5N="!D:7)E8W1O<GDN
- + M"@H@(" @(%)E<&%I;G0*(" @(" @(" @(%)E9G)E<V@@=&AE(&-U<G)E;G0@
- + M<V-R965N+@H*(" @("!/<'1I;VYS"B @(" @(" @("!#:&%N9V4@=&AE(&-U
- + M<G)E;G0@8V]N9FEG=7)A=&EO;B!F;W(@;6%I;G0N("!4:&4@0V]N9FEG=7)A
- + M=&EO;B!-96YU"@H*(" @- H*"@H*"@H@(" Q($IA;B Q.3DR(" @(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M("!-04E.5"@Q*0H*"B @(" @(" @("!W:6QL(&)E(&1I<W!L87EE9"P@<VAO
- + M=VEN9R!T:&4@8W5R<F5N="!C;VYF:6=U<F%T:6]N('9A;'5E<RX@(%5S92!J
- + M"B @(" @(" @("!A;F0@:R!T;R!S96QE8W0@82!P87)A;65T97(@*&]R('5S
- + M92!T:&4@(')U;BUT:6UE("!A<F=U;65N=" @;&5T=&5R"B @(" @(" @(" H
- + M9F]R("!E>&%M<&QE+" @9R @9F]R("!'<F]U<"DI(&%N9"!P<F5S<R!T:&4@
- + M<W!A8V4@8F%R('1O('1U<FX@=&AE"B @(" @(" @("!P87)A;65T97(@;VXO
- + M;V9F+B @16YT97(@8V]N=')O;"U$('1O(')E='5R;B!T;R!T:&4@(&UA:6X@
- + M(&1I<W!L87DN"B @(" @(" @("!4:&4@9&ES<&QA>2!W:6QL(&)E('5P9&%T
- + M960@=&\@<F5F;&5C="!T:&4@;F5W(&-O;F9I9W5R871I;VXN"@H@(" @(%1E
- + M>'0@1&5S8W)I<'1O<G,N"@H@(" @(%\(;5\(85\(:5\(;E\(="!H87,@=&AE
- + M(&%B:6QI='D@=&\@;6%I;G1A:6X@97AT96YD960@=&5X='5A;"!D97-C<FEP
- + M=&]R<R!F;W(@9FEL97,*(" @("!W:71H:6X@(&$@(&=I=F5N("!D:7)E8W1O
- + M<GDN(" @5VAA=" @=&5X="!D97-C<FEP=&]R<R!D;R!I<R!A;&QO=R!Y;W4@
- + M=&\*(" @("!A<W-O8VEA=&4@=7 @=&\@82 T,"UC:&%R86-T97(@9&5S8W)I
- + M<'1I;VX@=VET:"!A;GD@9FEL92!I;B!A(&1I<F5C=&]R>2P*(" @("!A;&]N
- + M9R @=VET:" @:&%V:6YG("!U<" @=&\@(&$@-S M8VAA<F%C=&5R(&1E<V-R
- + M:7!T:6]N(&]F('1H92!D:7)E8W1O<GD*(" @("!I='-E;&8N("!4:&ES(&ES
- + M('!A<G1I8W5L87)L>2!U<V5F=6P@=VAE;B!M86EN=&%I;FEN9R!D:7)E8W1O
- + M<FEE<R!W:71H(&$*(" @("!L87)G92!N=6UB97(@;V8@9FEL97,N("!4;R!U
- + M<V4@=&AE(&5X=&5N9&5D(&9I;&4@9&5S8W)I<'1O<B!F86-I;&ET>2P@9&\*
- + M(" @("!T:&4@9F]L;&]W:6YG.@H*(" @(" Q+B @(%)U;B!?"&U?"&%?"&E?
- + M"&Y?"'0N"@H@(" @(#(N(" @5'EP92!A(%0@*%1E>'0I(&-O;6UA;F0N"@H@
- + M(" @(#,N(" @7PAM7PAA7PAI7PAN7PAT('=I;&P@87-K"B @(" @(" @("!4
- + M97AT(&1E<V-R:7!T;W(@9FEL92!M86EN="YT9&8@9&]E<R!N;W0@97AI<W0N
- + M("!#<F5A=&4@:70@6WE=/PH*(" @(" T+B @(%)E<W!O;F0@=VET:"!S;VUE
- + M=&AI;F<@;W1H97(@=&AA;B @3B @;W(@(&X@(&9O<B @=&AE("!F:6QE("!T
- + M;R @8F4*(" @(" @(" @(&-R96%T960N"@H@(" @(#4N(" @7PAM7PAA7PAI
- + M7PAN7PAT('=I;&P@=&AE;B!A<VL*(" @(" @(" @(%1E>'0@9&5S8W)I<'1O
- + M<B!F;W(@9&ER96-T;W)Y.@H*(" @(" V+B @($5N=&5R(&$@=&5X="!D97-C
- + M<FEP=&]R("AU<"!T;R W,"!C:&%R86-T97)S*2 @9F]R("!T:&4@($1)4D5#
- + M5$]262X*(" @(" @(" @(%1H:7,@=VEL;"!S97)V92!A<R!A(&1E<V-R:7!T
- + M;W(@;V8@=&AE(&=R;W5P(&]F(&9I;&5S(&EN('1H92!$25)%0RT*(" @(" @
- + M(" @(%1/4ED@86YD('=I;&P@87!P96%R(&%T('1H92!T;W @;V8@=&AE('-C
- + M<F5E;BX*"B @(" @-RX@("!?"&U?"&%?"&E?"&Y?"'0@=VEL;"!T:&5N(&%S
- + M:PH@(" @(" @(" @0V]M;6%N9',@=VEL;"!B92!W:7!E9"!O=70N("!E6&5C
- + M=71E('1H96T_(%MY70H*(" @(" X+B @($5N=&5R('-O;65T:&EN9R!O=&AE
- + M<B!T:&%N($X@;W(@;B!T;R!H879E(&%L;"!O9B!T:&4@(&-U<G)E;G0@(&9I
- + M;&4*(" @(" @(" @(&-O;6UA;F1S(&5896-U=&5D('=H96X@=&AE('1E>'0@
- + M9&5S8W)I<'1O<B!F:6QE(&UA:6YT+G1D9BX*"B @(" @.2X@("!?"&U?"&%?
- + M"&E?"&Y?"'0@=VEL;" @<F5B=6EL9" @=&AE("!D:7)E8W1O<GD@(&EN9F]R
- + M;6%T:6]N("!A;F0@(')E8G5I;&0@('1H90H@(" @(" @(" @<V-R965N+" @
- + M:6YC;'5D:6YG("!T:&4@=&5X="!D97-C<FEP=&]R<R!F;W(@=&AE(&1I<F5C
- + M=&]R>2!A;F0@=&5X= H@(" @(" @(" @9&5S8W)I<'1O<B!F:6QE(&ET<V5L
- + M9BP@<')O=FED960@=&AE>2!W:6QL(&9I="!O;B!T:&4@<V-R965N+B @179E
- + M;@H@(" @(" @(" @:68@('1H97D@8V%N)W0@9FET(&]N('1H92!S8W)E96XL
- + M('1H97D@87)E('-T:6QL(&%V86EL86)L92!F;W(@96%C: H@(" @(" @(" @
- + M9FEL92!V:6$@=&AE($D@*$EN9F\I(&-O;6UA;F0N"@H@(" @(%1H92!T97AT
- + M(&1E<V-R:7!T;W(@9FEL92!H87,@;F]W(&)E96X@8W)E871E9"X@(%1O(&%D
- + M9"!O<B!M;V1I9GD@82 @=&5X= H@(" @(&1E<V-R:7!T;W(@(&9O<B @82!F
- + M:6QE+"!M;W9E('1O(&$@=&AE(&9I;&4@86YD('1Y<&4@82!4("A497AT*2!C
- + M;VUM86YD+@H@(" @(%EO=2!W:6QL(&)E('!R;VUP=&5D(&9O<B!T:&4@=&5X
- + M="!D97-C<FEP=&]R(&9O<B!T:&4@9FEL92X@($ET("!W:6QL("!B90H@(" @
- + M('5P9&%T960@=VAE;B!Y;W4@6&5C=71E('1H92!C;VUM86YD<R!F;W(@=&AE
- + M(&1I<F5C=&]R>2X*"B @(" @3VX@<W5B<V5Q=65N="!U<V5S(&]F(%\(;5\(
- + M85\(:5\(;E\(="P@=&5X="!M;V1E(&UA>2!B92 @96YT97)E9" @8GD@(&]N
- + M92 @;V8@('1W;PH@(" @(&UE=&AO9',Z"@H@(" @(#$N(" @57-E('1H92 M
- + M="!O;B!T:&4@8V]M;6%N9"!L:6YE+B @5&AI<R!W:6QL(&-A=7-E(%\(;5\(
- + M85\(:5\(;E\(="!T;R!U<V4@('1E>'0*"@H@(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
- + M(" @(" @(" @(" @-0H*"@H*"@H@("!-04E.5"@Q*2 @(" @(" @(" @(" @
- + M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @,2!*
- + M86X@,3DY,@H*"B @(" @(" @("!M;V1E(&EF('1H92!F:6QE(&UA:6YT+G1D
- + M9B!E>&ES=',N"@H@(" @(#(N(" @57-E('1H92!4("A497AT*2!C;VUM86YD
- + M+B @06=A:6XL(&EF(&UA:6YT+G1D9B!E>&ES=',L("!?"&U?"&%?"&E?"&Y?
- + M"'0@('=I;&P*(" @(" @(" @(&5N=&5R('1E>'0@;6]D92X*"B @(" @16ET
- + M:&5R('=A>2P@;VYC92!I;B!T97AT(&UO9&4L('1H92!4("A497AT*2!C;VUM
- + M86YD(&UA>2!B92!U<V5D("!T;R @861D"B @(" @;W(@8VAA;F=E('1H92!T
- + M97AT(&1E<V-R:7!T;W(@9F]R(&$@9FEL92X*"B @($5.5DE23TY-14Y4"B @
- + M(" @141)5$]2(" @=7-E9"!F;W(@161I="!C;VUM86YD"B @(" @4$%'15(@
- + M(" @<&%G97(@=&\@=7-E(&9O<B!396QE8W0@8V]M;6%N9"!O;B!A(&9I;&4*
- + M(" @("!32$5,3" @("!S:&5L;"!T;R!I;G9O:V4@9F]R('-H96QL(&5S8V%P
- + M97,*"B @(%)%4U1224-424].4PH@(" @($-O=6QD(&5X<&5R:65N8V4@=6YP
- + M<F5D:6-T86)L92!R97-U;'1S(&]N('1E<FUI;F%L<R!W:71H('1H870@(&%R
- + M92 @;&5S<PH@(" @('1H86X@,C0@6" X,"X*"B @(" @5&AE<F4@:7,@;F\@
- + M;&EM:71A=&EO;B!O;B!T:&4@;G5M8F5R(&]F(&9I;&5S(&EN(&$@9&ER96-T
- + M;W)Y('1H870@(%\(;5\(85\(:5\(;E\(= H@(" @(&-A;B @:&%N9&QE(&]T
- + M:&5R('1H86X@=&AE(&%M;W5N="!O9B!M96UO<GD@=&AA="!I="!C86X@<F5Q
- + M=65S="!F<F]M('1H90H@(" @(&]P97)A=&EN9R!S>7-T96TN"@H@(" @($%S
- + M(&]F('1H:7,@=W)I=&EN9RP@=&AE(&9U;F-T:6]N(&%N9"!A<G)O=R!K97ES
- + M("!W;VXG=" @=V]R:R @;VX@(%5L=')I> H@(" @(#,N,"X@.BTH"@H@("!3
- + M144@04Q33PH@(" @(%\(8U\(:%\(;5\(;U\(9"@Q*2P@7PAC7PAH7PAG7PAR
- + M7PAP*#$I+"!?"&-?"&A?"&]?"'=?"&XH,2DL("!?"&-?"'-?"&@H,2DL("!?
- + M"&U?"&]?"')?"&4H,2DL("!?"&Q?"',H,2DL("!?"&U?"'8H,2DL("!?"')?
- + M"&TH,2DL"B @(" @7PAS7PAH*#$I+@H*(" @05542$]2"B @(" @3&5O;F%R
- + M9"!*+B!096ER8V4@0"!797-T97)N($UI8VAI9V%N(%5N:79E<G-I='D@06-A
- + M9&5M:6,@0V]M<'5T:6YG("!397(M"B @(" @=FEC97,@*'!E:7)C94!G=RYW
- + M;6EC:"YE9'4I+@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*(" @-@H*"ALY
- + "&SEC
- +
- + end
- *** ../D.maint.1.0/mark.c Wed Oct 7 13:53:00 1992
- --- mark.c Wed Oct 7 13:40:18 1992
- ***************
- *** 45,48 ****
- --- 45,49 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <ctype.h>
- #include <math.h>
- ***************
- *** 56,60 ****
- #include <grp.h>
- #include <pwd.h>
- - #include "maint.h"
-
- /******************************************************************************/
- --- 57,60 ----
- ***************
- *** 230,234 ****
- /******* FORMAL PARAMETERS *******/
- WINDOW *window; /* where to read/write */
- ! register ENT_DEF *ent; /* entry for file to be deleted */
- u_short command; /* either RENAME or COPY */
- char *prev_str; /* string to use from mark_repeat() */
- --- 230,234 ----
- /******* FORMAL PARAMETERS *******/
- WINDOW *window; /* where to read/write */
- ! register ENT_DEF *ent; /* entry for file to be copy/renamed */
- u_short command; /* either RENAME or COPY */
- char *prev_str; /* string to use from mark_repeat() */
- ***************
- *** 267,272 ****
- strcpy(buf,prev_str); /* use string from mark_repeat() */
-
- ! length = strlen(buf);
-
- /* ok, we have a filename; now determine if we need to allocate a command
- * structure for this file or if one already exists from a previous command
- --- 267,276 ----
- strcpy(buf,prev_str); /* use string from mark_repeat() */
-
- ! /* the new name could be a directory, and then we will need room for
- ! * the original file name, a slash, and a NUL
- ! */
-
- + length = strlen(buf) + strlen(ent->filename) + 2;
- +
- /* ok, we have a filename; now determine if we need to allocate a command
- * structure for this file or if one already exists from a previous command
- ***************
- *** 305,313 ****
- free(tptr->copy_name);
-
- ! /* now allocate some new memory to hold the longer filename
- ! * AND the nul character
- ! */
-
- ! tptr->copy_name = (char *) malloc((u_int) (length + 1));
-
- if(tptr->copy_name == NULL)
- --- 309,315 ----
- free(tptr->copy_name);
-
- ! /* now allocate some new memory to hold the longer filename */
-
- ! tptr->copy_name = (char *) malloc((u_int) length);
-
- if(tptr->copy_name == NULL)
- ***************
- *** 333,341 ****
- free(tptr->ren_name);
-
- ! /* now allocate some new memory to hold the longer filename
- ! * AND the nul character
- ! */
-
- ! tptr->ren_name = (char *) malloc((u_int) (length + 1));
-
- if(tptr->ren_name == NULL)
- --- 335,341 ----
- free(tptr->ren_name);
-
- ! /* now allocate some new memory to hold the longer filename */
-
- ! tptr->ren_name = (char *) malloc((u_int) length);
-
- if(tptr->ren_name == NULL)
- *** ../D.maint.1.0/mem.c Wed Oct 7 13:52:52 1992
- --- mem.c Wed Oct 7 13:40:21 1992
- ***************
- *** 42,45 ****
- --- 42,46 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <malloc.h>
- #if defined(SYSV) || !defined(sun)
- ***************
- *** 46,50 ****
- #include <stdio.h>
- #endif
- - #include "maint.h"
-
- /******************************************************************************/
- --- 47,50 ----
- *** ../D.maint.1.0/misc.c Wed Oct 7 13:53:07 1992
- --- misc.c Wed Oct 7 13:40:25 1992
- ***************
- *** 51,54 ****
- --- 51,55 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 66,70 ****
- #include <ctype.h>
- #include <varargs.h>
- - #include "maint.h"
- #include <sys/stat.h>
-
- --- 67,70 ----
- ***************
- *** 128,132 ****
- make_ent(),
-
- ! #if defined(SYSV) && !defined(sun)
- rename(),
- #endif
- --- 128,132 ----
- make_ent(),
-
- ! #if defined(SYSV) && !defined(sun) && !defined(SCO)
- rename(),
- #endif
- ***************
- *** 774,778 ****
- { /*** get_dir ***/
- /******** LOCAL VARIABLES ********/
- ! #if !defined(SYSV)
- register struct direct *dir_ent; /* pointer to directory file entry */
- #else
- --- 774,778 ----
- { /*** get_dir ***/
- /******** LOCAL VARIABLES ********/
- ! #if !defined(SYSV) && !defined(hpux) && !defined(AIX)
- register struct direct *dir_ent; /* pointer to directory file entry */
- #else
- ***************
- *** 866,870 ****
- register DIR *dptr; /* pointer to directory file entry */
- register short count; /* number of files in directory */
- ! #if !defined(SYSV)
- register struct direct *dir_ent; /* pointer to directory file entry */
- #else
- --- 866,870 ----
- register DIR *dptr; /* pointer to directory file entry */
- register short count; /* number of files in directory */
- ! #if !defined(SYSV) && !defined(hpux) && !defined(AIX)
- register struct direct *dir_ent; /* pointer to directory file entry */
- #else
- ***************
- *** 1035,1039 ****
- *str = 'b'; /* block special file */
- break;
- ! #if !defined(SYSV) || defined(sun)
- case(S_IFLNK):
- *str = 'l'; /* symbolic link */
- --- 1035,1039 ----
- *str = 'b'; /* block special file */
- break;
- ! #if defined(S_IFLNK)
- case(S_IFLNK):
- *str = 'l'; /* symbolic link */
- ***************
- *** 1040,1043 ****
- --- 1040,1047 ----
- break;
- #endif
- + #if defined(S_IFSOCK)
- + case(S_IFSOCK):
- + *str = 's'; /* symbolick link */ break;
- + #endif
- default:
- *str = '-';
- ***************
- *** 1473,1477 ****
- switch(mode & S_IFMT)
- {
- ! #if !defined(SYSV) || defined(sun)
- case(S_IFLNK):
- return(LINK);
- --- 1477,1481 ----
- switch(mode & S_IFMT)
- {
- ! #if defined(S_IFLNK)
- case(S_IFLNK):
- return(LINK);
- ***************
- *** 1485,1489 ****
- case(S_IFBLK):
- return(BLOCK);
- ! #if !defined(SYSV) || defined(sun)
- case(S_IFSOCK):
- return(SOCKET);
- --- 1489,1493 ----
- case(S_IFBLK):
- return(BLOCK);
- ! #if defined(S_IFSOCK)
- case(S_IFSOCK):
- return(SOCKET);
- ***************
- *** 1637,1644 ****
- prot |= S_IFIFO;
- break;
- ! #if !defined(SYSV) || defined(sun)
- case(SOCKET):
- prot |= S_IFSOCK;
- break;
- case(LINK):
- prot |= S_IFLNK;
- --- 1641,1650 ----
- prot |= S_IFIFO;
- break;
- ! #if defined(S_IFSOCK)
- case(SOCKET):
- prot |= S_IFSOCK;
- break;
- + #endif
- + #if defined(S_IFLNK)
- case(LINK):
- prot |= S_IFLNK;
- ***************
- *** 1685,1689 ****
- int child, /* pid of child process */
- i; /* loop and return value */
- ! #if !defined(SYSV) || defined(sun)
- union wait status;
- #else
- --- 1691,1695 ----
- int child, /* pid of child process */
- i; /* loop and return value */
- ! #if (!defined(SYSV) || defined(sun)) && !defined(SCO) && !defined(AIX)
- union wait status;
- #else
- ***************
- *** 1704,1707 ****
- --- 1710,1714 ----
- tptr++;
-
- + endwin(); /* make sure tty is reset */
- if((child = vfork()) == 0)
- {
- ***************
- *** 1708,1712 ****
- /* we're in the child */
-
- - endwin(); /* make sure tty is reset */
- execlp(shell,tptr,NULL); /* no return from this */
- return(FAILURE); /* failure if we get here */
- --- 1715,1718 ----
- ***************
- *** 1722,1725 ****
- --- 1728,1732 ----
- return(FAILURE); /* can't fork */
-
- + doupdate();
- return(SUCCESS);
-
- ***************
- *** 1864,1868 ****
- while(num_file-- > 0)
- {
- ! strcpy(dirptr->scr_name,get_name(dirptr->filename,&dirptr->name_len));
- dirptr++;
- }
- --- 1871,1876 ----
- while(num_file-- > 0)
- {
- ! strcpy(dirptr->scr_name,get_name(dirptr->filename,&dirptr->name_len,
- ! dirptr->prot,dirptr->type));
- dirptr++;
- }
- ***************
- *** 2123,2129 ****
- case(S_IFBLK):
- return(BLOCK);
- ! #if !defined(SYSV) || defined(sun)
- case(S_IFLNK):
- return(LINK);
- case(S_IFSOCK):
- return(SOCKET);
- --- 2131,2139 ----
- case(S_IFBLK):
- return(BLOCK);
- ! #if defined(S_IFLNK)
- case(S_IFLNK):
- return(LINK);
- + #endif
- + #if defined(S_IFSOCK)
- case(S_IFSOCK):
- return(SOCKET);
- ***************
- *** 2412,2416 ****
- *******************************************************************************/
-
- ! #if defined(SYSV) && !defined(sun)
-
- int rename(source,dest)
- --- 2422,2426 ----
- *******************************************************************************/
-
- ! #if defined(SYSV) && !defined(sun) && !defined(SCO)
-
- int rename(source,dest)
- *** ../D.maint.1.0/options.c Wed Oct 7 13:52:56 1992
- --- options.c Wed Oct 7 13:40:29 1992
- ***************
- *** 41,44 ****
- --- 41,45 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 46,50 ****
- #include <curses.h>
- #endif
- - #include "maint.h"
-
- /******************************************************************************/
- --- 47,50 ----
- ***************
- *** 265,269 ****
- break;
-
- ! case('f'):
- term_code = ' ';
- curr_row = FILEMARKS_OPT;
- --- 265,269 ----
- break;
-
- ! case('F'):
- term_code = ' ';
- curr_row = FILEMARKS_OPT;
- ***************
- *** 284,287 ****
- --- 284,288 ----
- case('J'):
- case(CARRIAGE_RETURN):
- + case(KEY_ENTER):
- case(KEY_DOWN):
- case(LINEFEED):
- *** ../D.maint.1.0/patchlevel.h Wed Oct 7 13:53:39 1992
- --- patchlevel.h Wed Oct 7 13:43:41 1992
- ***************
- *** 0 ****
- --- 1 ----
- + #define PATCHLEVEL 1
- *** ../D.maint.1.0/pool.c Wed Oct 7 13:52:57 1992
- --- pool.c Wed Oct 7 13:40:32 1992
- ***************
- *** 42,48 ****
- /******************************************************************************/
-
- #include <stdio.h>
- #include <malloc.h>
- - #include "maint.h"
- #include <string.h>
-
- --- 42,48 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <stdio.h>
- #include <malloc.h>
- #include <string.h>
-
- *** ../D.maint.1.0/screen.c Wed Oct 7 13:53:04 1992
- --- screen.c Wed Oct 7 13:40:35 1992
- ***************
- *** 21,26 ****
- initialize, prompt_getstr, put_buf, put_options,
- put_pagnum, put_slot, put_spec, put_stat,
- ! resize_screen, screen_reset, tag_file, write_mess,
- ! xmess
-
- Called: file_search, get_scr_num, make_slot, set_nodes
- --- 21,26 ----
- initialize, prompt_getstr, put_buf, put_options,
- put_pagnum, put_slot, put_spec, put_stat,
- ! resize_screen, screen_reset, stop_start, tag_file,
- ! write_mess, xmess
-
- Called: file_search, get_scr_num, make_slot, set_nodes
- ***************
- *** 45,48 ****
- --- 45,49 ----
- /******************************************************************************/
-
- + #include "maint.h" /* our very own header file */
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 59,63 ****
- #endif
- #include <memory.h>
- - #include "maint.h" /* our very own header file */
-
- /******************************************************************************/
- --- 60,63 ----
- ***************
- *** 88,91 ****
- --- 88,93 ----
- file_search();
-
- + extern u_short was_stopped;
- +
- extern short get_scr_num();
-
- ***************
- *** 109,113 ****
- erase_tag(),
- clean_up(),
- ! resize_screen();
-
- /******************************************************************************/
- --- 111,116 ----
- erase_tag(),
- clean_up(),
- ! resize_screen(),
- ! stop_start();
-
- /******************************************************************************/
- ***************
- *** 171,175 ****
- signal(SIGALRM,clean_up); /* catch interrupt and clean up */
- signal(SIGTERM,clean_up); /* catch interrupt and clean up */
- ! /* signal(SIGCONT,resize_screen); /* resize and repaint screen */
- signal(SIGWINCH,resize_screen); /* resize and repaint screen */
-
- --- 174,179 ----
- signal(SIGALRM,clean_up); /* catch interrupt and clean up */
- signal(SIGTERM,clean_up); /* catch interrupt and clean up */
- ! signal(SIGTSTP,stop_start); /* so we can do an endwin() */
- ! signal(SIGCONT,stop_start);
- signal(SIGWINCH,resize_screen); /* resize and repaint screen */
-
- ***************
- *** 251,254 ****
- --- 255,313 ----
- ********************************************************************************
-
- + Function: user_stop
- +
- + Purpose: Called when a user enters ^Z. We catch this so we can do
- + an endwin() so that the screen will repaint when the
- + users resumes execution.
- +
- + Global variables:
- +
- + Name Examine/Modify/Use/Read/Write
- + ---- -----------------------------
- + was_stopped X
- +
- + Return Codes:
- +
- + Code Reason
- + ---- ------
- + none
- +
- + ********************************************************************************
- + *******************************************************************************/
- +
- + void stop_start(sig)
- + /******* FORMAL PARAMETERS *******/
- + int sig; /* why we were called */
- +
- + { /*** stop_start ***/
- +
- + if(sig == SIGCONT)
- + {
- + (void) signal(SIGTSTP,stop_start);
- + (void) signal(SIGCONT,stop_start);
- + #if !defined(sun) && !defined(AIX)
- + printf("\nPress any key to return to maint> ");
- + fflush(stdout);
- + #endif
- + keypad(main_win,TRUE);
- + was_stopped = 1;
- + resetty();
- + }
- + else
- + {
- + savetty();
- + echo();
- + nocbreak();
- + endwin();
- + (void) signal(SIGTSTP,SIG_DFL);
- + (void) signal(SIGCONT,stop_start);
- + (void) kill(getpid(),sig);
- + }
- +
- + } /*** stop_start **/
- +
- + /*******************************************************************************
- + ********************************************************************************
- +
- Function: resize_screen
-
- ***************
- *** 259,263 ****
- Name Examine/Modify/Use/Read/Write
- ---- -----------------------------
- ! global_row
-
- Return Codes:
- --- 318,324 ----
- Name Examine/Modify/Use/Read/Write
- ---- -----------------------------
- ! spec_win X
- ! main_win X
- ! stat_win X
-
- Return Codes:
- ***************
- *** 274,277 ****
- --- 335,347 ----
- { /*** resize_screen ***/
-
- + nonl();
- + cbreak();
- + noecho();
- + touchwin(spec_win);
- + touchwin(main_win);
- + touchwin(stat_win);
- + wnoutrefresh(spec_win);
- + wnoutrefresh(main_win);
- + wnoutrefresh(stat_win);
- return;
-
- ***************
- *** 318,327 ****
- #if !defined(SYSV) || defined(sun)
-
- ! sprintf(buf2," %d files %d blocks Press ? for help",
- num_file,kbytes(dbtob(num_block)));
- #else
-
- ! sprintf(buf2," %d files %d blocks Press ? for help",
- ! num_file,kbytes(num_block));
-
- #endif
- --- 388,397 ----
- #if !defined(SYSV) || defined(sun)
-
- ! sprintf(buf2," %d files %d Kbytes Press ? for help",
- num_file,kbytes(dbtob(num_block)));
- #else
-
- ! sprintf(buf2," %d files %d Kbytes Press ? for help",
- ! num_file,num_block);
-
- #endif
- ***************
- *** 1298,1301 ****
- --- 1368,1372 ----
- {
- case(CARRIAGE_RETURN):
- + case(KEY_ENTER):
- case(LINEFEED):
-
- *** ../D.maint.1.0/select.c Wed Oct 7 13:52:53 1992
- --- select.c Wed Oct 7 13:40:38 1992
- ***************
- *** 22,26 ****
- Defined: file_select
-
- ! Called: none
-
- Files accessed: filename file to be browsed
- --- 22,26 ----
- Defined: file_select
-
- ! Called: stop_start
-
- Files accessed: filename file to be browsed
- ***************
- *** 57,60 ****
- --- 57,62 ----
- #endif
- #include <sys/stat.h>
- + #include <ctype.h>
- + #include <signal.h>
-
- /******************************************************************************/
- ***************
- *** 64,67 ****
- --- 66,71 ----
- /******************************************************************************/
-
- + #define MAX_ARGS 20
- +
- /******************************************************************************/
- /* */
- ***************
- *** 85,88 ****
- --- 89,98 ----
- int file_select();
-
- + extern WINDOW *spec_win,
- + *main_win,
- + *stat_win;
- +
- + extern void stop_start();
- +
- /******************************************************************************/
- /* */
- ***************
- *** 124,130 ****
- char *pager, /* pager for looking at a file */
- *tptr; /* pointer to last level of command */
- int child, /* pid of child process */
- i; /* loop and return value */
- ! #if !defined(SYSV) || defined(sun)
- union wait status; /* exit status for child process */
- #else
- --- 134,142 ----
- char *pager, /* pager for looking at a file */
- *tptr; /* pointer to last level of command */
- + static char *args[MAX_ARGS]; /* pager arguments */
- int child, /* pid of child process */
- + retval, /* return value holder */
- i; /* loop and return value */
- ! #if (!defined(SYSV) || defined(sun)) && !defined(SCO) && !defined(AIX)
- union wait status; /* exit status for child process */
- #else
- ***************
- *** 131,135 ****
- --- 143,150 ----
- int status;
- #endif
- + short use_execvp, /* TRUE if PAGER is not fully-qual. */
- + num_args; /* number of PAGER arguments */
-
- +
- /* see if the user has a PAGER */
-
- ***************
- *** 139,149 ****
- pager = DEFAULT_PAGER; /* user doesn't have a PAGER */
-
- ! tptr = strrchr(pager,'/'); /* get last level to pass to execlp */
-
- if(tptr == NULL)
- ! tptr = pager;
- else
- ! tptr++;
-
- if((child = vfork()) == 0)
- {
- --- 154,225 ----
- pager = DEFAULT_PAGER; /* user doesn't have a PAGER */
-
- ! tptr = strrchr(pager,'/'); /* see if it's a full path name */
-
- if(tptr == NULL)
- ! {
- ! tptr = pager; /* nope, find it from the PATH */
- ! use_execvp = TRUE;
- ! }
- else
- ! {
- ! use_execvp = FALSE;
- ! }
-
- + args[0] = pager;
- + num_args = 1;
- +
- + while(*tptr != '\0' && !isspace(*tptr))
- + ++tptr;
- +
- + if(*tptr != '\0')
- + {
- + /* might be some arguments; save them and put pointers to them in
- + * the args array
- + */
- +
- + *tptr = '\0';
- + ++tptr;
- +
- + while(*tptr != '\0')
- + {
- + while(*tptr != '\0' && isspace(*tptr))
- + ++tptr; /* skip white spaces */
- +
- + if(*tptr != '\0')
- + {
- + /* found one */
- +
- + args[num_args++] = tptr++;
- +
- + while(*tptr != '\0' && !isspace(*tptr))
- + ++tptr;
- +
- + if(*tptr != '\0')
- + {
- + *tptr = '\0'; /* make the option a string */
- + ++tptr;
- + }
- + }
- + }
- +
- + args[num_args++] = filename;
- + args[num_args] = (char *) NULL;
- + }
- + else
- + {
- + args[1] = filename;
- + args[2] = (char *) NULL;
- + }
- +
- + /* let's be nice... */
- +
- + (void) signal(SIGTSTP,SIG_DFL);
- + (void) signal(SIGCONT,SIG_DFL);
- + echo();
- + nocbreak();
- + endwin();
- +
- + retval = SUCCESS;
- +
- if((child = vfork()) == 0)
- {
- ***************
- *** 150,156 ****
- /* we're in the child */
-
- ! endwin();
- ! execlp(pager,tptr,filename,NULL);
- ! return(FAILURE); /* execlp failed if we get here */
- }
- else if(child > 0)
- --- 226,235 ----
- /* we're in the child */
-
- ! if(use_execvp == TRUE)
- ! execvp(pager,args);
- ! else
- ! execv(pager,args);
- !
- ! retval = FAILURE; /* execlp failed if we get here */
- }
- else if(child > 0)
- ***************
- *** 162,168 ****
- }
- else
- ! return(FAILURE);
-
- ! return(SUCCESS);
-
- } /*** file_select ***/
- --- 241,267 ----
- }
- else
- ! retval = FAILURE;
-
- ! nonl();
- ! cbreak();
- ! noecho();
- !
- ! if(retval == SUCCESS)
- ! {
- ! printf("\nPress any key to return to maint> ");
- ! fflush(stdout);
- ! i = wgetch(main_win);
- ! }
- !
- ! touchwin(spec_win);
- ! touchwin(main_win);
- ! touchwin(stat_win);
- ! wnoutrefresh(spec_win);
- ! wnoutrefresh(main_win);
- ! wnoutrefresh(stat_win);
- ! (void) signal(SIGTSTP,stop_start);
- ! (void) signal(SIGCONT,stop_start);
- !
- ! return(retval);
-
- } /*** file_select ***/
- *** ../D.maint.1.0/slot.c Wed Oct 7 13:52:58 1992
- --- slot.c Wed Oct 7 13:40:41 1992
- ***************
- *** 43,46 ****
- --- 43,47 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #ifdef ultrix
- #include <cursesX.h>
- ***************
- *** 53,57 ****
- #include <pwd.h>
- #include <grp.h>
- - #include "maint.h"
-
- /******************************************************************************/
- --- 54,57 ----
- ***************
- *** 79,83 ****
- *set_date();
-
- ! #if defined(SYSV) || defined(sun)
- extern void setpwent(),
- setgrent();
- --- 79,83 ----
- *set_date();
-
- ! #if defined(SYSV) || defined(sun) || defined(hpux)
- extern void setpwent(),
- setgrent();
- *** ../D.maint.1.0/sort.c Wed Oct 7 13:52:54 1992
- --- sort.c Wed Oct 7 13:40:44 1992
- ***************
- *** 41,46 ****
- /******************************************************************************/
-
- - #include <string.h>
- #include "maint.h"
-
- /******************************************************************************/
- --- 41,46 ----
- /******************************************************************************/
-
- #include "maint.h"
- + #include <string.h>
-
- /******************************************************************************/
- *** ../D.maint.1.0/text.c Wed Oct 7 13:53:01 1992
- --- text.c Wed Oct 7 13:40:47 1992
- ***************
- *** 43,46 ****
- --- 43,47 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <stdio.h>
- #ifdef ultrix
- ***************
- *** 50,54 ****
- #endif
- #include <string.h>
- - #include "maint.h"
-
- /******************************************************************************/
- --- 51,54 ----
- *** ../D.maint.1.0/xecute.c Wed Oct 7 13:53:02 1992
- --- xecute.c Wed Oct 7 13:40:50 1992
- ***************
- *** 42,45 ****
- --- 42,46 ----
- /******************************************************************************/
-
- + #include "maint.h"
- #include <fcntl.h>
- #include <errno.h>
- ***************
- *** 51,55 ****
- #include <curses.h>
- #endif
- - #include "maint.h"
- #include <sys/stat.h>
-
- --- 52,55 ----
- ***************
- *** 81,85 ****
- read(),
- write(),
- - open(),
- close(),
- errno;
- --- 81,84 ----
- ***************
- *** 239,243 ****
- }
-
- ! if(comm_ptr->comm_text != NULL && text_write == SUCCESS)
- {
- /* yes, write a text descriptor */
- --- 238,242 ----
- }
-
- ! if(comm_ptr->comm_text != '\0' && text_write == SUCCESS)
- {
- /* yes, write a text descriptor */
- ***************
- *** 743,746 ****
- --- 742,746 ----
- retptr = " Too many symbolic links in filename";
- break;
- + #ifdef EDQUOT
- case(EDQUOT):
- retptr = " Disk quota exhausted";
- ***************
- *** 747,750 ****
- --- 747,751 ----
- break;
- #endif
- + #endif
- case(ENOSPC):
- retptr = " File system is full";
- ***************
- *** 770,776 ****
- --- 771,779 ----
- retptr = " Too many symbolic links in filename";
- break;
- + #ifdef EDQUOT
- case(EDQUOT):
- retptr = " Disk quota exhausted";
- break;
- + #endif
- #endif
- case(ENOENT):
-