debug
authormirabilos <m@mirbsd.org>
Wed, 6 Dec 2017 23:09:58 +0000 (00:09 +0100)
committermirabilos <m@mirbsd.org>
Wed, 6 Dec 2017 23:09:58 +0000 (00:09 +0100)
89 files changed:
HINTS
Make-w32.sh
Makefile.bsd-wrapper
b.c
b.h
blocks.h
builtin.c
builtin.h
bw.c
bw.h
charmap.c
charmap.h
cmd.c
cmd.h
config.h
configure.ac
hash.c
hash.h
help.c
help.h
i18n.c
i18n.h
jupprc
kbd.c
kbd.h
macro.c
macro.h
main.c
main.h
menu.c
menu.h
path.c
path.h
poshist.c
poshist.h
pw.c
pw.h
queue.h
qw.c
qw.h
rc.c
rc.h
regex.c
regex.h
scrn.c
scrn.h
selinux.c
tab.c
tab.h
termcap.c
termcap.h
tty.c
tty.h
tw.c
tw.h
types.h
ublock.c
ublock.h
uedit.c
uedit.h
uerror.c
uerror.h
ufile.c
ufile.h
uformat.c
uformat.h
uisrch.c
uisrch.h
umath.c
umath.h
undo.c
undo.h
usearch.c
usearch.h
ushell.c
ushell.h
utag.c
utag.h
utf8.c
utf8.h
utils.c
utils.h
va.c
va.h
vfile.c
vfile.h
vs.h
w.c
w.h

diff --git a/HINTS b/HINTS
index 8776e09..cd72603 100644 (file)
--- a/HINTS
+++ b/HINTS
@@ -5,18 +5,14 @@ GCC
 ---
 
 Disable the following warnings; the code doesn't cope with it:
--Wno-pointer-sign
--Wno-old-style-definition
--Wno-unused-parameter -Wno-strict-prototypes
--Wno-cast-qual
--Wno-missing-prototypes -Wno-missing-declarations
+-Wno-pointer-sign -Wno-unused-parameter -Wno-cast-qual
 
 UTF-8
 -----
 
-Do note that the joerc files must be written using the 8-bit encoding
-(probably ISO-8859-1), not UTF-8. Syntax files, on the other hand,
-absolutely must be written in UTF-8 since jupp29.
+Do note that the joerc files must be written using the 8-bit encoding,
+not in UTF-8. Syntax files, on the other hand, absolutely must be
+written in UTF-8 since jupp29.
 
 JOE now handles two classes of character sets: UTF-8 and byte coded (like
 ISO-8859-1).  It can not yet handle other major classes such as UTF-16 or
@@ -34,7 +30,7 @@ work.
 
 The character set for the terminal and the default character set assumed for
 files is determined by the 'LC_ALL' environment variable (and if that's not
-set, LC_CTYPE and LANG are also checked).
+set, LC_CTYPE and LANG are also checked). 'JOECHARMAP' overrides this value.
 
 For example, if LC_ALL is set to:
 
@@ -128,4 +124,4 @@ will not insert.
 - Search, incremental search, and search & replace all operate as usual.
 
 ___________________________________________________________________
-$MirOS: contrib/code/jupp/HINTS,v 1.12 2017/12/03 01:43:49 tg Exp $
+$MirOS: contrib/code/jupp/HINTS,v 1.14 2017/12/06 21:48:48 tg Exp $
index 48ce49e..d9b9470 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/mksh
-# $MirOS: contrib/code/jupp/Make-w32.sh,v 1.19 2017/12/03 01:43:50 tg Exp $
+# $MirOS: contrib/code/jupp/Make-w32.sh,v 1.20 2017/12/06 21:46:54 tg Exp $
 
 usage() {
        print -ru2 "Usage: $0 [-bCgn]"
@@ -24,10 +24,7 @@ done
 
 extrawarnings="-Wall -Wextra"
 (( debug )) && extrawarnings="$extrawarnings -g3"
-extrawarnings="$extrawarnings -Wno-old-style-definition"
-extrawarnings="$extrawarnings -Wno-unused-parameter -Wno-strict-prototypes"
-extrawarnings="$extrawarnings -Wno-cast-qual"
-extrawarnings="$extrawarnings -Wno-missing-prototypes -Wno-missing-declarations"
+extrawarnings="$extrawarnings -Wno-unused-parameter -Wno-cast-qual"
 
 export LC_ALL=C
 set -ex
index 69147b4..055652d 100644 (file)
@@ -1,4 +1,4 @@
-# $MirOS: contrib/code/jupp/Makefile.bsd-wrapper,v 1.14 2017/12/03 01:49:12 tg Exp $
+# $MirOS: contrib/code/jupp/Makefile.bsd-wrapper,v 1.15 2017/12/06 21:46:54 tg Exp $
 #-
 # make -f Makefile.bsd-wrapper CFPREFIX=/usr/mpkg sysconfjoesubdir=/joe
 
@@ -30,10 +30,7 @@ CFARGS+=     --enable-win32reloc
 FSFISLIB=      No
 
 .ifdef __CRAZY
-COPTS+=                -Wno-old-style-definition \
-               -Wno-unused-parameter -Wno-strict-prototypes \
-               -Wno-cast-qual \
-               -Wno-missing-prototypes -Wno-missing-declarations
+COPTS+=                -Wno-unused-parameter -Wno-cast-qual
 .endif
 
 joe.1: config.status
diff --git a/b.c b/b.c
index 896775f..20f0122 100644 (file)
--- a/b.c
+++ b/b.c
@@ -9,15 +9,13 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/b.c,v 1.23 2017/12/06 16:37:40 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/b.c,v 1.24 2017/12/06 21:16:54 tg Exp $");
 
 #include <unistd.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <limits.h>
-#ifdef HAVE_PWD_H
 #include <pwd.h>
-#endif
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/b.h b/b.h
index 2d20b58..21fad43 100644 (file)
--- a/b.h
+++ b/b.h
@@ -9,7 +9,7 @@
 #define _JOE_B_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_b_h, "$MirOS: contrib/code/jupp/b.h,v 1.6 2017/12/02 17:00:47 tg Exp $");
+__IDSTRING(rcsid_b_h, "$MirOS: contrib/code/jupp/b.h,v 1.7 2017/12/06 21:16:54 tg Exp $");
 #endif
 
 /* 31744 */
@@ -22,97 +22,97 @@ extern VFILE *vmem;         /* Virtual memory file used for buffer system */
 
 extern const unsigned char *msgs[];
 
-B *bmk PARAMS((B *prop));
-void brm PARAMS((B *b));
+B *bmk(B *prop);
+void brm(B *b);
 
-B *bfind PARAMS((unsigned char *s));
-B *bfind_scratch PARAMS((unsigned char *s));
-B *bcheck_loaded PARAMS((unsigned char *s));
-B *bfind_reload PARAMS((unsigned char *s));
+B *bfind(unsigned char *s);
+B *bfind_scratch(unsigned char *s);
+B *bcheck_loaded(unsigned char *s);
+B *bfind_reload(unsigned char *s);
 
-P *pdup PARAMS((P *p));
-P *pdupown PARAMS((P *p, P **o));
-P *poffline PARAMS((P *p));
-P *ponline PARAMS((P *p));
-B *bonline PARAMS((B *b));
-B *boffline PARAMS((B *b));
+P *pdup(P *p);
+P *pdupown(P *p, P **o);
+P *poffline(P *p);
+P *ponline(P *p);
+B *bonline(B *b);
+B *boffline(B *b);
 
-void prm PARAMS((P *p));
-P *pset PARAMS((P *n, P *p));
+void prm(P *p);
+P *pset(P *n, P *p);
 
-P *p_goto_bof PARAMS((P *p));          /* move cursor to begging of file */
-P *p_goto_eof PARAMS((P *p));          /* move cursor to end of file */
-P *p_goto_bol PARAMS((P *p));          /* move cursor to begging of line */
-P *p_goto_eol PARAMS((P *p));          /* move cursor to end of line */
+P *p_goto_bof(P *p);           /* move cursor to begging of file */
+P *p_goto_eof(P *p);           /* move cursor to end of file */
+P *p_goto_bol(P *p);           /* move cursor to begging of line */
+P *p_goto_eol(P *p);           /* move cursor to end of line */
 
-P *p_goto_indent PARAMS((P *p,int c)); /* move cursor to indentation point */
+P *p_goto_indent(P *p,int c);  /* move cursor to indentation point */
 
-int pisbof PARAMS((P *p));
-int piseof PARAMS((P *p));
-int piseol PARAMS((P *p));
-int pisbol PARAMS((P *p));
-int pisbow PARAMS((P *p));
-int piseow PARAMS((P *p));
+int pisbof(P *p);
+int piseof(P *p);
+int piseol(P *p);
+int pisbol(P *p);
+int pisbow(P *p);
+int piseow(P *p);
 
 #define piscol(p) ((p)->valcol ? (p)->col : (pfcol(p), (p)->col))
 
-int pisblank PARAMS((P *p));
-int piseolblank PARAMS((P *p));
+int pisblank(P *p);
+int piseolblank(P *p);
 
-long pisindent PARAMS((P *p));
-int pispure PARAMS((P *p,int c));
+long pisindent(P *p);
+int pispure(P *p,int c);
 
-int pnext PARAMS((P *p));
-int pprev PARAMS((P *p));
+int pnext(P *p);
+int pprev(P *p);
 
-int pgetb PARAMS((P *p));
-int prgetb PARAMS((P *p));
+int pgetb(P *p);
+int prgetb(P *p);
 
-int pgetc PARAMS((P *p));
-int prgetc PARAMS((P *p));
+int pgetc(P *p);
+int prgetc(P *p);
 
-P *pgoto PARAMS((P *p, long int loc));
-P *pfwrd PARAMS((P *p, long int n));
-P *pbkwd PARAMS((P *p, long int n));
+P *pgoto(P *p, long int loc);
+P *pfwrd(P *p, long int n);
+P *pbkwd(P *p, long int n);
 
-P *pfcol PARAMS((P *p));
+P *pfcol(P *p);
 
-P *pnextl PARAMS((P *p));
-P *pprevl PARAMS((P *p));
+P *pnextl(P *p);
+P *pprevl(P *p);
 
-P *pline PARAMS((P *p, long int line));
+P *pline(P *p, long int line);
 
-P *pcolwse PARAMS((P *p, long int goalcol));
-P *pcol PARAMS((P *p, long int goalcol));
-P *pcoli PARAMS((P *p, long int goalcol));
-void pbackws PARAMS((P *p));
-void pfill PARAMS((P *p, long int to, int usetabs));
+P *pcolwse(P *p, long int goalcol);
+P *pcol(P *p, long int goalcol);
+P *pcoli(P *p, long int goalcol);
+void pbackws(P *p);
+void pfill(P *p, long int to, int usetabs);
 
-P *pfind PARAMS((P *p, unsigned char *s, int len));
-P *pifind PARAMS((P *p, unsigned char *s, int len));
-P *prfind PARAMS((P *p, unsigned char *s, int len));
-P *prifind PARAMS((P *p, unsigned char *s, int len));
+P *pfind(P *p, unsigned char *s, int len);
+P *pifind(P *p, unsigned char *s, int len);
+P *prfind(P *p, unsigned char *s, int len);
+P *prifind(P *p, unsigned char *s, int len);
 
 /* copy text between 'from' and 'to' into new buffer */
-B *bcpy PARAMS((P *from, P *to));      
+B *bcpy(P *from, P *to);       
 
-void pcoalesce PARAMS((P *p));
+void pcoalesce(P *p);
 
-void bdel PARAMS((P *from, P *to));
+void bdel(P *from, P *to);
 
 /* insert buffer 'b' into another at 'p' */
-P *binsb PARAMS((P *p, B *b));
+P *binsb(P *p, B *b);
 /* insert a block 'blk' of size 'amnt' into buffer at 'p' */
-P *binsm PARAMS((P *p, unsigned char *blk, int amnt)); 
+P *binsm(P *p, unsigned char *blk, int amnt); 
 
 /* insert character 'c' into buffer at 'p' */
-P *binsc PARAMS((P *p, int c));
+P *binsc(P *p, int c);
 
 /* insert byte 'c' into buffer at at 'p' */
-P *binsbyte PARAMS((P *p, unsigned char c));
+P *binsbyte(P *p, unsigned char c);
 
 /* insert zero term. string 's' into buffer at 'p' */
-P *binss PARAMS((P *p, unsigned char *s));
+P *binss(P *p, unsigned char *s);
 
 /* B *bload(char *s);
  * Load a file into a new buffer
@@ -123,43 +123,43 @@ P *binss PARAMS((P *p, unsigned char *s));
  * -3 for seek error
  * -4 for open error
  */
-B *bload PARAMS((unsigned char *s));
-B *bread PARAMS((int fi, long int max));
-B *borphan PARAMS((void));
+B *bload(unsigned char *s);
+B *bread(int fi, long int max);
+B *borphan(void);
 
 /* Save 'size' bytes beginning at 'p' into file with name in 's' */
-int bsave PARAMS((P *p, unsigned char *s, long int size,int flag));
-int bsavefd PARAMS((P *p, int fd, long int size));
+int bsave(P *p, unsigned char *s, long int size,int flag);
+int bsavefd(P *p, int fd, long int size);
 
-unsigned char *parsens PARAMS((unsigned char *s, long int *skip, long int *amnt));
+unsigned char *parsens(unsigned char *s, long int *skip, long int *amnt);
 
 /* Get byte at pointer or return NO_MORE_DATA if pointer is at end of buffer */
-int brc PARAMS((P *p));
+int brc(P *p);
 
 /* Get character at pointer or return NO_MORE_DATA if pointer is at end of buffer */
-int brch PARAMS((P *p));
+int brch(P *p);
 
 /* Copy 'size' bytes from a buffer beginning at p into block 'blk' */
-unsigned char *brmem PARAMS((P *p, unsigned char *blk, int size));
+unsigned char *brmem(P *p, unsigned char *blk, int size);
 
 /* Copy 'size' bytes from a buffer beginning at p into a zero-terminated
  * C-string in an malloc block.
  */
-unsigned char *brs PARAMS((P *p, int size));
+unsigned char *brs(P *p, int size);
 
 /* Copy 'size' bytes from a buffer beginning at p into a variable length string. */
-unsigned char *brvs PARAMS((P *p, int size));
+unsigned char *brvs(P *p, int size);
 
 /* Copy line into buffer.  Maximum of size bytes will be copied.  Buffer needs
    to be one bigger for NIL */
-unsigned char *brzs PARAMS((P *p, unsigned char *buf, int size));
+unsigned char *brzs(P *p, unsigned char *buf, int size);
 
-B *bnext PARAMS((void));
-B *bprev PARAMS((void));
+B *bnext(void);
+B *bprev(void);
 
 #define error berror
 extern int berror;
 
-unsigned char **getbufs PARAMS((void));
+unsigned char **getbufs(void);
 
 #endif
index 3e81d5c..baf3a12 100644 (file)
--- a/blocks.h
+++ b/blocks.h
@@ -9,36 +9,36 @@
 #define _JOE_BLOCKS_H 1
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_blocks_h, "$MirOS: contrib/code/jupp/blocks.h,v 1.6 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_blocks_h, "$MirOS: contrib/code/jupp/blocks.h,v 1.7 2017/12/06 21:16:54 tg Exp $");
 #endif
 
 /* char *mmove(char *d,char *s,int sz); Copy 'sz' bytes from 's' to 'd'.
  * Chooses either mbkwd or mfwrd to do this such that the data won't get
  * clobbered.
  */
-void *mmove PARAMS((void *d, const void *s, int sz));
+void *mmove(void *d, const void *s, int sz);
 
 /* char *mset(char *d,char c,int sz); Set 'sz' bytes at 'd' to 'c'.
  * If 'sz'==0 nothing happens
  * Return original value of 'd'
  */
-unsigned char *mset PARAMS((void *dest, unsigned char c, int sz));
+unsigned char *mset(void *dest, unsigned char c, int sz);
 
 /* int *msetI(int *d,int c,int sz); Set 'sz' ints at 'd' to 'c'.
  * If 'sz'==0 nothing happens
  * Returns orininal value of 'd'
  */
-int *msetI PARAMS((void *dest, int c, int sz));
+int *msetI(void *dest, int c, int sz);
 
 /* void **msetP(void **d,void *c,int sz); Set 'sz' pointers at 'd' to 'c'.
  * If 'sz'==0 nothing happens
  * Returns orininal value of 'd'
  */
-void **msetP PARAMS((void **dest, void *c, int sz));
+void **msetP(void **dest, void *c, int sz);
 
 /* int mcnt(char *blk,char c,int size);
  *
  * Count the number of occurances a character appears in a block
  */
-int mcnt PARAMS((unsigned char *blk, unsigned char c, int size));
+int mcnt(unsigned char *blk, unsigned char c, int size);
 #endif
index 2d68330..889fc84 100644 (file)
--- a/builtin.c
+++ b/builtin.c
@@ -8,7 +8,7 @@
 
 #include "config.h"
 
-__RCSID("$MirOS: contrib/code/jupp/builtin.c,v 1.6 2017/12/02 02:07:23 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/builtin.c,v 1.7 2017/12/06 23:02:01 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -19,17 +19,18 @@ __RCSID("$MirOS: contrib/code/jupp/builtin.c,v 1.6 2017/12/02 02:07:23 tg Exp $"
 
 #define zcmp(a,b) strcmp((char *)(a), (char *)(b))
 
-JFILE *jfopen(unsigned char *name, const char *mode)
+JFILE *
+jfopen(const unsigned char *name, const char *mode)
 {
        if (name[0] == '*') {
                int x;
-               char *xname;
+               char *xname, *cp;
 
-               xname = strdup((char *)name + 1);
-               name = (void *)xname;
-               while ((x = *name++)) {
+               xname = strdup((const char *)name + 1);
+               cp = xname;
+               while ((x = *cp++)) {
                        if (x >= 'A' && x <= 'Z')
-                               name[-1] = x - 'A' + 'a';
+                               cp[-1] = x - 'A' + 'a';
                }
 
                for (x = 0; builtins[x]; x += 2) {
@@ -44,7 +45,7 @@ JFILE *jfopen(unsigned char *name, const char *mode)
                joe_free(xname);
                return 0;
        } else {
-               FILE *f = fopen((char *)name, (char *)mode);
+               FILE *f = fopen((const char *)name, (const char *)mode);
                if (f) {
                        JFILE *j = (JFILE *)joe_malloc(sizeof(JFILE));
                        j->f = f;
index 5a83d7c..78cf864 100644 (file)
--- a/builtin.h
+++ b/builtin.h
@@ -1,5 +1,5 @@
 #ifdef EXTERN_RC_C
-__IDSTRING(rcsid_builtin_h, "$MirOS: contrib/code/jupp/builtin.h,v 1.4 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_builtin_h, "$MirOS: contrib/code/jupp/builtin.h,v 1.5 2017/12/06 23:02:01 tg Exp $");
 #endif
 
 /* Support for built-in config files */
@@ -9,7 +9,7 @@ typedef struct jfile {
        unsigned char *p;       /* Built-in file pointer */
 } JFILE;
 
-JFILE *jfopen(unsigned char *name, const char *mode);
+JFILE *jfopen(const unsigned char *name, const char *mode);
 unsigned char *jfgets(unsigned char *buf,int len,JFILE *f);
 int jfclose(JFILE *f);
 
diff --git a/bw.c b/bw.c
index 8b6aedb..ef2b50f 100644 (file)
--- a/bw.c
+++ b/bw.c
@@ -8,12 +8,10 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/bw.c,v 1.26 2017/12/04 22:15:38 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/bw.c,v 1.28 2017/12/06 23:02:01 tg Exp $");
 
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <limits.h>
 
 #ifdef HAVE_BSD_STRING_H
@@ -186,7 +184,8 @@ void bwfllw(BW *w)
    If the state is not known, it is computed and the state for all
    of the remaining lines of the window are also recalculated. */
 
-int get_highlight_state(BW *w,int line)
+static int
+get_highlight_state(BW *w, int line)
 {
        P *tmp = 0;
        int state;
@@ -945,7 +944,7 @@ void bwrm(BW *w)
        joe_free(w);
 }
 
-int ustat(BW *bw)
+int ustat_j(BW *bw)
 {
        static unsigned char buf[80];
        int c = brch(bw->cursor);
diff --git a/bw.h b/bw.h
index 78bc672..8d3efa7 100644 (file)
--- a/bw.h
+++ b/bw.h
@@ -9,26 +9,24 @@
 #define _JOE_BW_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_bw_h, "$MirOS: contrib/code/jupp/bw.h,v 1.6 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_bw_h, "$MirOS: contrib/code/jupp/bw.h,v 1.7 2017/12/06 21:16:55 tg Exp $");
 #endif
 
 extern int dspasis;
 extern int mid;
 
-void bwfllw PARAMS((BW *w));
-void bwins PARAMS((BW *w, long int l, long int n, int flg));
-void bwdel PARAMS((BW *w, long int l, long int n, int flg));
-void bwgen PARAMS((BW *w, int linums));
-void bwgenh PARAMS((BW *w));
-BW *bwmk PARAMS((W *window, B *b, int prompt));
-void bwmove PARAMS((BW *w, int x, int y));
-void bwresz PARAMS((BW *w, int wi, int he));
-void bwrm PARAMS((BW *w));
-#undef ustat
-#define ustat ustat_j /* to avoid Linux libc4 conflict */
-int ustat PARAMS((BW *bw));
-int ucrawll PARAMS((BW *bw));
-int ucrawlr PARAMS((BW *bw));
-void orphit PARAMS((BW *bw));
+void bwfllw(BW *w);
+void bwins(BW *w, long int l, long int n, int flg);
+void bwdel(BW *w, long int l, long int n, int flg);
+void bwgen(BW *w, int linums);
+void bwgenh(BW *w);
+BW *bwmk(W *window, B *b, int prompt);
+void bwmove(BW *w, int x, int y);
+void bwresz(BW *w, int wi, int he);
+void bwrm(BW *w);
+int ustat_j(BW *bw);
+int ucrawll(BW *bw);
+int ucrawlr(BW *bw);
+void orphit(BW *bw);
 
 #endif
index ab9d833..3f03053 100644 (file)
--- a/charmap.c
+++ b/charmap.c
@@ -12,7 +12,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/charmap.c,v 1.24 2017/12/04 21:53:33 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/charmap.c,v 1.26 2017/12/06 23:02:01 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -1062,7 +1062,7 @@ pair_cmp(struct pair *a, struct pair *b)
 
 /* Predicate and conversion functions for byte-oriented charmaps */
 
-int
+static int
 byte_ispunct(struct charmap *map, int c)
 {
        int ofst = (c >> 3);
@@ -1074,7 +1074,7 @@ byte_ispunct(struct charmap *map, int c)
            ((map->alnux_map[ofst] & bitn) == 0));
 }
 
-int
+static int
 byte_isprint(struct charmap *map, int c)
 {
        int ofst = (c >> 3);
@@ -1085,13 +1085,13 @@ byte_isprint(struct charmap *map, int c)
        return ((map->print_map[ofst] & bitn) != 0);
 }
 
-int
+static int
 byte_isspace(struct charmap *map, int c)
 {
        return (c == 32 || (c >= 9 && c <= 13));
 }
 
-int
+static int
 byte_isalphx(struct charmap *map, int c)
 {
        int ofst = (c >> 3);
@@ -1102,7 +1102,7 @@ byte_isalphx(struct charmap *map, int c)
        return ((map->alphx_map[ofst] & bitn) != 0);
 }
 
-int
+static int
 byte_isalnux(struct charmap *map, int c)
 {
        int ofst = (c >> 3);
@@ -1113,13 +1113,13 @@ byte_isalnux(struct charmap *map, int c)
        return ((map->alnux_map[ofst] & bitn) != 0);
 }
 
-int
+static int
 byte_tolower(struct charmap *map, int c)
 {
        return ((c < 0 || c > 255) ? c : map->lower_map[c]);
 }
 
-int
+static int
 byte_toupper(struct charmap *map, int c)
 {
        return ((c < 0 || c > 255) ? c : map->upper_map[c]);
@@ -1332,7 +1332,7 @@ map_up(int c)
        return ((c >= 'a' && c <= 'z') ? (c + 'A' - 'a') : c);
 }
 
-int
+static int
 map_name_cmp(const unsigned char *a, const unsigned char *b)
 {
        unsigned char ca, cb;
@@ -1537,10 +1537,7 @@ CPPFLAGS+=       -DJUPP_WIN32RELOC=0 -D'JOERC="/etc/joe"'
 .include <bsd.own.mk>
 
 .ifdef __CRAZY
-COPTS+=                -Wno-old-style-definition \
-               -Wno-unused-parameter -Wno-strict-prototypes \
-               -Wno-cast-qual \
-               -Wno-missing-prototypes -Wno-missing-declarations
+COPTS+=                -Wno-unused-parameter -Wno-cast-qual
 .endif
 
 .include <bsd.prog.mk>
index 6325e33..683940d 100644 (file)
--- a/charmap.h
+++ b/charmap.h
@@ -10,7 +10,7 @@
 #define _Icharmap 1
 
 #ifdef EXTERN
-__RCSID("$MirOS: contrib/code/jupp/charmap.h,v 1.10 2017/12/04 21:53:34 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/charmap.h,v 1.11 2017/12/06 21:16:55 tg Exp $");
 #endif
 
 /* For sorted from_map entries */
@@ -66,8 +66,8 @@ struct charmap {
 #define joe_isspace(map,c) ((map)->is_space((map),(c)))
 #define joe_isalphx(map,c) ((map)->is_alphx((map),(c)))
 #define joe_isalnux(map,c) ((map)->is_alnux((map),(c)))
-int joe_isblank PARAMS((struct charmap *map,int c));
-int joe_isspace_eof PARAMS((struct charmap *map,int c));
+int joe_isblank(struct charmap *map,int c);
+int joe_isspace_eof(struct charmap *map,int c);
 
 /* Conversion functions */
 
@@ -75,16 +75,16 @@ int joe_isspace_eof PARAMS((struct charmap *map,int c));
 #define joe_toupper(map,c) ((map)->to_upper((map),(c)))
 #define joe_to_uni(map,c) ((map)->to_uni((map),(c)))
 #define joe_from_uni(map,c) ((map)->from_uni((map),(c)))
-unsigned char *joe_strtolower PARAMS((unsigned char *s));
+unsigned char *joe_strtolower(unsigned char *s);
 
 /* Find (load if necessary) a character set */
-struct charmap *find_charmap PARAMS((const unsigned char *name));
+struct charmap *find_charmap(const unsigned char *name);
 
 /* Get available encodings */
-unsigned char **get_encodings PARAMS((void));
+unsigned char **get_encodings(void);
 
-int to_uni PARAMS((struct charmap *cset, int c));
-int from_uni PARAMS((struct charmap *cset, int c));
+int to_uni(struct charmap *cset, int c);
+int from_uni(struct charmap *cset, int c);
 
 #include "utf8.h"
 
diff --git a/cmd.c b/cmd.c
index 67bcc6c..b6f19de 100644 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -9,11 +9,9 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/cmd.c,v 1.19 2017/12/02 02:07:25 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/cmd.c,v 1.22 2017/12/06 23:02:02 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <string.h>
 
 #include "b.h"
@@ -55,7 +53,8 @@ int uexecmd(BW *bw);
 
 /* Command table */
 
-int ubeep(BW *bw, int k)
+static int
+ubeep(void)
 {
        ttputc(7);
        return 0;
@@ -97,7 +96,7 @@ static int unop(void)
 #if !WANT_FORK
 static int
 unommu(BW *bw) {
-       msgnw(bw->parent, US "Sorry, not supported without MMU");
+       msgnw(bw->parent, UC "Sorry, not supported without MMU");
        return (-1);
 }
 #define ubknd  unommu
@@ -105,167 +104,168 @@ unommu(BW *bw) {
 #define urun   unommu
 #endif
 
+#define C(name,flag,func,m,arg,negarg) { UC name, UC negarg, func, m, flag, arg }
 CMD cmds[] = {
-       {US "abendjoe", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uabendjoe, NULL, 0, NULL},
-       {US "abort", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uabort, NULL, 0, NULL},
-       {US "abortbuf", TYPETW, uabortbuf, NULL, 0, NULL},
-       {US "arg", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uarg, NULL, 0, NULL},
-       {US "ask", TYPETW + TYPEPW, uask, NULL, 0, NULL},
-       {US "backs", TYPETW + TYPEPW + ECHKXCOL + EFIXXCOL + EMINOR + EKILL + EMOD, ubacks, NULL, 1, US "delch"},
-       {US "backsmenu", TYPEMENU, umbacks, NULL, 1, NULL},
-       {US "backw", TYPETW + TYPEPW + ECHKXCOL + EFIXXCOL + EKILL + EMOD, ubackw, NULL, 1, US "delw"},
-       {US "beep", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ubeep, NULL, 0, NULL},
-       {US "begin_marking", TYPETW + TYPEPW, ubegin_marking, NULL, 0, NULL},
-       {US "bknd", TYPETW + TYPEPW, ubknd, NULL, 0, NULL},
-       {US "bkwdc", TYPETW + TYPEPW, ubkwdc, NULL, 1, US "fwrdc"},
-       {US "blkcpy", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, ublkcpy, NULL, 1, NULL},
-       {US "blkdel", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD + EBLOCK, ublkdel, NULL, 0, NULL},
-       {US "blkmove", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, ublkmove, NULL, 0, NULL},
-       {US "blksave", TYPETW + TYPEPW + EBLOCK, ublksave, NULL, 0, NULL},
-       {US "bof", TYPETW + TYPEPW + EMOVE + EFIXXCOL, u_goto_bof, NULL, 0, NULL},
-       {US "bofmenu", TYPEMENU, umbof, NULL, 0, NULL},
-       {US "bol", TYPETW + TYPEPW + EFIXXCOL, u_goto_bol, NULL, 0, NULL},
-       {US "bolmenu", TYPEMENU, umbol, NULL, 0, NULL},
-       {US "bop", TYPETW + TYPEPW + EFIXXCOL, ubop, NULL, 1, US "eop"},
-       {US "bos", TYPETW + TYPEPW + EMOVE, ubos, NULL, 0, NULL},
-       {US "bufed", TYPETW, ubufed, NULL, 0, NULL},
-       {US "build", TYPETW + TYPEPW, ubuild, NULL, 0, NULL},
-       {US "byte", TYPETW + TYPEPW, ubyte, NULL, 0, NULL},
-       {US "cancel", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ucancel, NULL, 0, NULL},
-       {US "center", TYPETW + TYPEPW + EFIXXCOL + EMOD, ucenter, NULL, 1, NULL},
-       {US "col", TYPETW + TYPEPW, ucol, NULL, 0, NULL},
-       {US "complete", TYPEPW + EMINOR + EMOD, ucmplt, NULL, 0, NULL},
-       {US "copy", TYPETW + TYPEPW, ucopy, NULL, 0, NULL},
-       {US "crawll", TYPETW + TYPEPW, ucrawll, NULL, 1, US "crawlr"},
-       {US "crawlr", TYPETW + TYPEPW, ucrawlr, NULL, 1, US "crawll"},
-       {US "ctrl", TYPETW + TYPEPW + EMOD, uctrl, NULL, 0, NULL},
-       {US "delbol", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD, udelbl, NULL, 1, US "deleol"},
-       {US "delch", TYPETW + TYPEPW + ECHKXCOL + EFIXXCOL + EMINOR + EKILL + EMOD, udelch, NULL, 1, US "backs"},
-       {US "deleol", TYPETW + TYPEPW + EKILL + EMOD, udelel, NULL, 1, US "delbol"},
-       {US "dellin", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD, udelln, NULL, 1, NULL},
-       {US "delw", TYPETW + TYPEPW + EFIXXCOL + ECHKXCOL + EKILL + EMOD, u_word_delete, NULL, 1, US "backw"},
-       {US "dnarw", TYPETW + TYPEPW + EMOVE, udnarw, NULL, 1, US "uparw"},
-       {US "dnarwmenu", TYPEMENU, umdnarw, NULL, 1, US "uparwmenu"},
-       {US "dnslide", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, udnslide, NULL, 1, US "upslide"},
-       {US "drop", TYPETW + TYPEPW, udrop, NULL, 0, NULL},
-       {US "dupw", TYPETW, uduptw, NULL, 0, NULL},
-       {US "edit", TYPETW, uedit, NULL, 0, NULL},
-       {US "eof", TYPETW + TYPEPW + EFIXXCOL + EMOVE, u_goto_eof, NULL, 0, NULL},
-       {US "eofmenu", TYPEMENU, umeof, NULL, 0, NULL},
-       {US "eol", TYPETW + TYPEPW + EFIXXCOL, u_goto_eol, NULL, 0, NULL},
-       {US "eolmenu", TYPEMENU, umeol, NULL, 0, NULL},
-       {US "eop", TYPETW + TYPEPW + EFIXXCOL, ueop, NULL, 1, US "bop"},
-       {US "execmd", TYPETW + TYPEPW, uexecmd, NULL, 0, NULL},
-       {US "explode", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uexpld, NULL, 0, NULL},
-       {US "exsave", TYPETW + TYPEPW, uexsve, NULL, 0, NULL},
-       {US "ffirst", TYPETW + TYPEPW, pffirst, NULL, 0, NULL},
-       {US "filt", TYPETW + TYPEPW + EMOD + EBLOCK, ufilt, NULL, 0, NULL},
-       {US "finish", TYPETW + TYPEPW + EMOD, ufinish, NULL, 1, NULL},
-       {US "fmtblk", TYPETW + EMOD + EFIXXCOL + EBLOCK, ufmtblk, NULL, 1, NULL},
-       {US "fnext", TYPETW + TYPEPW, pfnext, NULL, 1, NULL},
-       {US "format", TYPETW + TYPEPW + EFIXXCOL + EMOD, uformat, NULL, 1, NULL},
-       {US "fwrdc", TYPETW + TYPEPW, ufwrdc, NULL, 1, US "bkwdc"},
-       {US "gomark", TYPETW + TYPEPW + EMOVE, ugomark, NULL, 0, NULL},
-       {US "groww", TYPETW, ugroww, NULL, 1, US "shrinkw"},
-       {US "help", TYPETW + TYPEPW + TYPEQW, u_help, NULL, 0, NULL},
-       {US "helpcard", TYPETW + TYPEPW + TYPEQW, u_helpcard, NULL, 0, NULL},
-       {US "hnext", TYPETW + TYPEPW + TYPEQW, u_help_next, NULL, 0, NULL},
-       {US "home", TYPETW + TYPEPW + EFIXXCOL, uhome, NULL, 0, NULL},
-       {US "hprev", TYPETW + TYPEPW + TYPEQW, u_help_prev, NULL, 0, NULL},
-       {US "insc", TYPETW + TYPEPW + EFIXXCOL + EMOD, uinsc, NULL, 1, US "delch"},
-       {US "insf", TYPETW + TYPEPW + EMOD, uinsf, NULL, 0, NULL},
-       {US "isrch", TYPETW + TYPEPW, uisrch, NULL, 0, NULL},
-       {US "keymap", TYPETW + TYPEPW, ukeymap, NULL, 0, NULL},
-       {US "killjoe", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ukilljoe, NULL, 0, NULL},
-       {US "killproc", TYPETW + TYPEPW, ukillpid, NULL, 0, NULL},
-       {US "lindent", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, ulindent, NULL, 1, US "rindent"},
-       {US "line", TYPETW + TYPEPW, uline, NULL, 0, NULL},
-       {US "lose", TYPETW + TYPEPW, ulose, NULL, 0, NULL},
-       {US "lower", TYPETW + TYPEPW + EMOD + EBLOCK, ulower, NULL, 0, NULL},
-       {US "ltarw", TYPETW + TYPEPW /* + EFIXXCOL + ECHKXCOL */, u_goto_left, NULL, 1, US "rtarw"},
-       {US "ltarwmenu", TYPEMENU, umltarw, NULL, 1, US "rtarwmenu"},
-       {US "macros", TYPETW + EFIXXCOL, umacros, NULL, 0, NULL},
-       {US "markb", TYPETW + TYPEPW, umarkb, NULL, 0, NULL},
-       {US "markk", TYPETW + TYPEPW, umarkk, NULL, 0, NULL},
-       {US "markl", TYPETW + TYPEPW, umarkl, NULL, 0, NULL},
-       {US "math", TYPETW + TYPEPW, umath, NULL, 0, NULL},
-       {US "mathins", TYPETW + TYPEPW, umathins, NULL, 0, NULL},
-       {US "mathres", TYPETW + TYPEPW, umathres, NULL, 0, NULL},
-       {US "mode", TYPETW + TYPEPW + TYPEQW, umode, NULL, 0, NULL},
-       {US "msg", TYPETW + TYPEPW + TYPEQW + TYPEMENU, umsg, NULL, 0, NULL},
-       {US "nbuf", TYPETW, unbuf, NULL, 1, US "pbuf"},
-       {US "nedge", TYPETW + TYPEPW + EFIXXCOL, unedge, NULL, 1, US "pedge"},
-       {US "nextpos", TYPETW + TYPEPW + EFIXXCOL + EMID + EPOS, unextpos, NULL, 1, US "prevpos"},
-       {US "nextw", TYPETW + TYPEPW + TYPEMENU + TYPEQW, unextw, NULL, 1, US "prevw"},
-       {US "nextword", TYPETW + TYPEPW + EFIXXCOL, u_goto_next, NULL, 1, US "prevword"},
-       {US "nmark", TYPETW + TYPEPW, unmark, NULL, 0, NULL},
-       {US "nop", TYPETW + TYPEPW + TYPEMENU + TYPEQW, unop, NULL, 0, NULL},
-       {US "notmod", TYPETW, unotmod, NULL, 0, NULL},
-       {US "nxterr", TYPETW, unxterr, NULL, 1, US "prverr"},
-       {US "open", TYPETW + TYPEPW + EFIXXCOL + EMOD, uopen, NULL, 1, US "deleol"},
-       {US "parserr", TYPETW, uparserr, NULL, 0, NULL},
-       {US "pbuf", TYPETW, upbuf, NULL, 1, US "nbuf"},
-       {US "pedge", TYPETW + TYPEPW + EFIXXCOL, upedge, NULL, 1, US "nedge"},
-       {US "pgdn", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, upgdn, NULL, 1, US "pgup"},
-       {US "pgdnmenu", TYPEMENU, umpgdn, NULL, 1, US "pgupmenu"},
-       {US "pgup", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, upgup, NULL, 1, US "pgdn"},
-       {US "pgupmenu", TYPEMENU, umpgup, NULL, 1, US "pgdnmenu"},
-       {US "picokill", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD, upicokill, NULL, 1, NULL},
-       {US "play", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uplay, NULL, 1, NULL}, /* EFIXX? */
-       {US "pop", TYPETW + TYPEPW + TYPEMENU + TYPEQW, upop, NULL, 0, NULL},
-       {US "prevpos", TYPETW + TYPEPW + EPOS + EMID + EFIXXCOL, uprevpos, NULL, 1, US "nextpos"},
-       {US "prevw", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uprevw, NULL, 1, US "nextw"},
-       {US "prevword", TYPETW + TYPEPW + EFIXXCOL + ECHKXCOL, u_goto_prev, NULL, 1, US "nextword"},
-       {US "prverr", TYPETW, uprverr, NULL, 1, US "nxterr"},
-       {US "psh", TYPETW + TYPEPW + TYPEMENU + TYPEQW, upsh, NULL, 0, NULL},
-       {US "qrepl", TYPETW + TYPEPW + EMOD, pqrepl, NULL, 0, NULL},
-       {US "query", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uquery, NULL, 0, NULL},
-       {US "querysave", TYPETW, uquerysave, NULL, 0, NULL},
-       {US "quote", TYPETW + TYPEPW + EMOD, uquote, NULL, 0, NULL},
-       {US "quote8", TYPETW + TYPEPW + EMOD, uquote8, NULL, 0, NULL},
-       {US "record", TYPETW + TYPEPW + TYPEMENU + TYPEQW, urecord, NULL, 0, NULL},
-       {US "redo", TYPETW + TYPEPW + EFIXXCOL, uredo, NULL, 1, US "undo"},
-       {US "retype", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uretyp, NULL, 0, NULL},
-       {US "rfirst", TYPETW + TYPEPW, prfirst, NULL, 0, NULL},
-       {US "rindent", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, urindent, NULL, 1, US "lindent"},
-       {US "rsrch", TYPETW + TYPEPW, ursrch, NULL, 0, NULL},
-       {US "rtarw", TYPETW + TYPEPW /* + EFIXXCOL */, u_goto_right, NULL, 1, US "ltarw"}, /* EFIX removed for picture mode */
-       {US "rtarwmenu", TYPEMENU, umrtarw, NULL, 1, US "ltarwmenu"},
-       {US "rtn", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOD, urtn, NULL, 1, NULL},
-       {US "run", TYPETW + TYPEPW, urun, NULL, 0, NULL},
-       {US "rvmatch", TYPETW + TYPEPW + EFIXXCOL, urvmatch, NULL, 0, NULL},
-       {US "save", TYPETW, usave, NULL, 0, NULL},
-       {US "scratch", TYPETW + TYPEPW, uscratch, NULL, 0, NULL},
-       {US "select", TYPETW + TYPEPW, uselect, NULL, 0, NULL},
-       {US "setmark", TYPETW + TYPEPW, usetmark, NULL, 0, NULL},
-       {US "shell", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ushell, NULL, 0, NULL},
-       {US "shrinkw", TYPETW, ushrnk, NULL, 1, US "groww"},
-       {US "splitw", TYPETW, usplitw, NULL, 0, NULL},
-       {US "stat", TYPETW + TYPEPW, ustat, NULL, 0, NULL},
-       {US "stop", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ustop, NULL, 0, NULL},
-       {US "swap", TYPETW + TYPEPW + EFIXXCOL, uswap, NULL, 0, NULL},
-       {US "switch", TYPETW + TYPEPW, uswitch, NULL, 0, NULL},
-       {US "tabmenu", TYPEMENU, umtab, NULL, 1, US "ltarwmenu"},
-       {US "tag", TYPETW + TYPEPW, utag, NULL, 0, NULL},
-       {US "toggle_marking", TYPETW + TYPEPW, utoggle_marking, NULL, 0, NULL},
-       {US "tomarkb", TYPETW + TYPEPW + EFIXXCOL + EBLOCK, utomarkb, NULL, 0, NULL},
-       {US "tomarkbk", TYPETW + TYPEPW + EFIXXCOL + EBLOCK, utomarkbk, NULL, 0, NULL},
-       {US "tomarkk", TYPETW + TYPEPW + EFIXXCOL + EBLOCK, utomarkk, NULL, 0, NULL},
-       {US "tomatch", TYPETW + TYPEPW + EFIXXCOL, utomatch, NULL, 0, NULL},
-       {US "tos", TYPETW + TYPEPW + EMOVE, utos, NULL, 0, NULL},
-       {US "tw0", TYPETW + TYPEPW + TYPEQW + TYPEMENU, utw0, NULL, 0, NULL},
-       {US "tw1", TYPETW + TYPEPW + TYPEQW + TYPEMENU, utw1, NULL, 0, NULL},
-       {US "txt", TYPETW + TYPEPW, utxt, NULL, 0, NULL},
-       {US "type", TYPETW + TYPEPW + TYPEQW + TYPEMENU + EMINOR + EMOD, utype, NULL, 1, US "backs"},
-       {US "uarg", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uuarg, NULL, 0, NULL},
-       {US "undo", TYPETW + TYPEPW + EFIXXCOL, uundo, NULL, 1, US "redo"},
-       {US "uparw", TYPETW + TYPEPW + EMOVE, uuparw, NULL, 1, US "dnarw"},
-       {US "uparwmenu", TYPEMENU, umuparw, NULL, 1, US "dnarwmenu"},
-       {US "upper", TYPETW + TYPEPW + EMOD + EBLOCK, uupper, NULL, 0, NULL},
-       {US "upslide", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, uupslide, NULL, 1, US "dnslide"},
-       {US "yank", TYPETW + TYPEPW + EFIXXCOL + EMOD, uyank, NULL, 1, NULL},
-       {US "yankpop", TYPETW + TYPEPW + EFIXXCOL + EMOD, uyankpop, NULL, 1, NULL},
-       {US "yapp", TYPETW + TYPEPW + EKILL, uyapp, NULL, 0, NULL}
+C("abendjoe", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uabendjoe, NULL, 0, NULL),
+C("abort", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uabort, NULL, 0, NULL),
+C("abortbuf", TYPETW, uabortbuf, NULL, 0, NULL),
+C("arg", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uarg, NULL, 0, NULL),
+C("ask", TYPETW + TYPEPW, uask, NULL, 0, NULL),
+C("backs", TYPETW + TYPEPW + ECHKXCOL + EFIXXCOL + EMINOR + EKILL + EMOD, ubacks, NULL, 1, "delch"),
+C("backsmenu", TYPEMENU, umbacks, NULL, 1, NULL),
+C("backw", TYPETW + TYPEPW + ECHKXCOL + EFIXXCOL + EKILL + EMOD, ubackw, NULL, 1, "delw"),
+C("beep", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ubeep, NULL, 0, NULL),
+C("begin_marking", TYPETW + TYPEPW, ubegin_marking, NULL, 0, NULL),
+C("bknd", TYPETW + TYPEPW, ubknd, NULL, 0, NULL),
+C("bkwdc", TYPETW + TYPEPW, ubkwdc, NULL, 1, "fwrdc"),
+C("blkcpy", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, ublkcpy, NULL, 1, NULL),
+C("blkdel", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD + EBLOCK, ublkdel, NULL, 0, NULL),
+C("blkmove", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, ublkmove, NULL, 0, NULL),
+C("blksave", TYPETW + TYPEPW + EBLOCK, ublksave, NULL, 0, NULL),
+C("bof", TYPETW + TYPEPW + EMOVE + EFIXXCOL, u_goto_bof, NULL, 0, NULL),
+C("bofmenu", TYPEMENU, umbof, NULL, 0, NULL),
+C("bol", TYPETW + TYPEPW + EFIXXCOL, u_goto_bol, NULL, 0, NULL),
+C("bolmenu", TYPEMENU, umbol, NULL, 0, NULL),
+C("bop", TYPETW + TYPEPW + EFIXXCOL, ubop, NULL, 1, "eop"),
+C("bos", TYPETW + TYPEPW + EMOVE, ubos, NULL, 0, NULL),
+C("bufed", TYPETW, ubufed, NULL, 0, NULL),
+C("build", TYPETW + TYPEPW, ubuild, NULL, 0, NULL),
+C("byte", TYPETW + TYPEPW, ubyte, NULL, 0, NULL),
+C("cancel", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ucancel, NULL, 0, NULL),
+C("center", TYPETW + TYPEPW + EFIXXCOL + EMOD, ucenter, NULL, 1, NULL),
+C("col", TYPETW + TYPEPW, ucol, NULL, 0, NULL),
+C("complete", TYPEPW + EMINOR + EMOD, ucmplt, NULL, 0, NULL),
+C("copy", TYPETW + TYPEPW, ucopy, NULL, 0, NULL),
+C("crawll", TYPETW + TYPEPW, ucrawll, NULL, 1, "crawlr"),
+C("crawlr", TYPETW + TYPEPW, ucrawlr, NULL, 1, "crawll"),
+C("ctrl", TYPETW + TYPEPW + EMOD, uctrl, NULL, 0, NULL),
+C("delbol", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD, udelbl, NULL, 1, "deleol"),
+C("delch", TYPETW + TYPEPW + ECHKXCOL + EFIXXCOL + EMINOR + EKILL + EMOD, udelch, NULL, 1, "backs"),
+C("deleol", TYPETW + TYPEPW + EKILL + EMOD, udelel, NULL, 1, "delbol"),
+C("dellin", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD, udelln, NULL, 1, NULL),
+C("delw", TYPETW + TYPEPW + EFIXXCOL + ECHKXCOL + EKILL + EMOD, u_word_delete, NULL, 1, "backw"),
+C("dnarw", TYPETW + TYPEPW + EMOVE, udnarw, NULL, 1, "uparw"),
+C("dnarwmenu", TYPEMENU, umdnarw, NULL, 1, "uparwmenu"),
+C("dnslide", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, udnslide, NULL, 1, "upslide"),
+C("drop", TYPETW + TYPEPW, udrop, NULL, 0, NULL),
+C("dupw", TYPETW, uduptw, NULL, 0, NULL),
+C("edit", TYPETW, uedit, NULL, 0, NULL),
+C("eof", TYPETW + TYPEPW + EFIXXCOL + EMOVE, u_goto_eof, NULL, 0, NULL),
+C("eofmenu", TYPEMENU, umeof, NULL, 0, NULL),
+C("eol", TYPETW + TYPEPW + EFIXXCOL, u_goto_eol, NULL, 0, NULL),
+C("eolmenu", TYPEMENU, umeol, NULL, 0, NULL),
+C("eop", TYPETW + TYPEPW + EFIXXCOL, ueop, NULL, 1, "bop"),
+C("execmd", TYPETW + TYPEPW, uexecmd, NULL, 0, NULL),
+C("explode", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uexpld, NULL, 0, NULL),
+C("exsave", TYPETW + TYPEPW, uexsve, NULL, 0, NULL),
+C("ffirst", TYPETW + TYPEPW, pffirst, NULL, 0, NULL),
+C("filt", TYPETW + TYPEPW + EMOD + EBLOCK, ufilt, NULL, 0, NULL),
+C("finish", TYPETW + TYPEPW + EMOD, ufinish, NULL, 1, NULL),
+C("fmtblk", TYPETW + EMOD + EFIXXCOL + EBLOCK, ufmtblk, NULL, 1, NULL),
+C("fnext", TYPETW + TYPEPW, pfnext, NULL, 1, NULL),
+C("format", TYPETW + TYPEPW + EFIXXCOL + EMOD, uformat, NULL, 1, NULL),
+C("fwrdc", TYPETW + TYPEPW, ufwrdc, NULL, 1, "bkwdc"),
+C("gomark", TYPETW + TYPEPW + EMOVE, ugomark, NULL, 0, NULL),
+C("groww", TYPETW, ugroww, NULL, 1, "shrinkw"),
+C("help", TYPETW + TYPEPW + TYPEQW, u_help, NULL, 0, NULL),
+C("helpcard", TYPETW + TYPEPW + TYPEQW, u_helpcard, NULL, 0, NULL),
+C("hnext", TYPETW + TYPEPW + TYPEQW, u_help_next, NULL, 0, NULL),
+C("home", TYPETW + TYPEPW + EFIXXCOL, uhome, NULL, 0, NULL),
+C("hprev", TYPETW + TYPEPW + TYPEQW, u_help_prev, NULL, 0, NULL),
+C("insc", TYPETW + TYPEPW + EFIXXCOL + EMOD, uinsc, NULL, 1, "delch"),
+C("insf", TYPETW + TYPEPW + EMOD, uinsf, NULL, 0, NULL),
+C("isrch", TYPETW + TYPEPW, uisrch, NULL, 0, NULL),
+C("keymap", TYPETW + TYPEPW, ukeymap, NULL, 0, NULL),
+C("killjoe", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ukilljoe, NULL, 0, NULL),
+C("killproc", TYPETW + TYPEPW, ukillpid, NULL, 0, NULL),
+C("lindent", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, ulindent, NULL, 1, "rindent"),
+C("line", TYPETW + TYPEPW, uline, NULL, 0, NULL),
+C("lose", TYPETW + TYPEPW, ulose, NULL, 0, NULL),
+C("lower", TYPETW + TYPEPW + EMOD + EBLOCK, ulower, NULL, 0, NULL),
+C("ltarw", TYPETW + TYPEPW /* + EFIXXCOL + ECHKXCOL */, u_goto_left, NULL, 1, "rtarw"),
+C("ltarwmenu", TYPEMENU, umltarw, NULL, 1, "rtarwmenu"),
+C("macros", TYPETW + EFIXXCOL, umacros, NULL, 0, NULL),
+C("markb", TYPETW + TYPEPW, umarkb, NULL, 0, NULL),
+C("markk", TYPETW + TYPEPW, umarkk, NULL, 0, NULL),
+C("markl", TYPETW + TYPEPW, umarkl, NULL, 0, NULL),
+C("math", TYPETW + TYPEPW, umath, NULL, 0, NULL),
+C("mathins", TYPETW + TYPEPW, umathins, NULL, 0, NULL),
+C("mathres", TYPETW + TYPEPW, umathres, NULL, 0, NULL),
+C("mode", TYPETW + TYPEPW + TYPEQW, umode, NULL, 0, NULL),
+C("msg", TYPETW + TYPEPW + TYPEQW + TYPEMENU, umsg, NULL, 0, NULL),
+C("nbuf", TYPETW, unbuf, NULL, 1, "pbuf"),
+C("nedge", TYPETW + TYPEPW + EFIXXCOL, unedge, NULL, 1, "pedge"),
+C("nextpos", TYPETW + TYPEPW + EFIXXCOL + EMID + EPOS, unextpos, NULL, 1, "prevpos"),
+C("nextw", TYPETW + TYPEPW + TYPEMENU + TYPEQW, unextw, NULL, 1, "prevw"),
+C("nextword", TYPETW + TYPEPW + EFIXXCOL, u_goto_next, NULL, 1, "prevword"),
+C("nmark", TYPETW + TYPEPW, unmark, NULL, 0, NULL),
+C("nop", TYPETW + TYPEPW + TYPEMENU + TYPEQW, unop, NULL, 0, NULL),
+C("notmod", TYPETW, unotmod, NULL, 0, NULL),
+C("nxterr", TYPETW, unxterr, NULL, 1, "prverr"),
+C("open", TYPETW + TYPEPW + EFIXXCOL + EMOD, uopen, NULL, 1, "deleol"),
+C("parserr", TYPETW, uparserr, NULL, 0, NULL),
+C("pbuf", TYPETW, upbuf, NULL, 1, "nbuf"),
+C("pedge", TYPETW + TYPEPW + EFIXXCOL, upedge, NULL, 1, "nedge"),
+C("pgdn", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, upgdn, NULL, 1, "pgup"),
+C("pgdnmenu", TYPEMENU, umpgdn, NULL, 1, "pgupmenu"),
+C("pgup", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, upgup, NULL, 1, "pgdn"),
+C("pgupmenu", TYPEMENU, umpgup, NULL, 1, "pgdnmenu"),
+C("picokill", TYPETW + TYPEPW + EFIXXCOL + EKILL + EMOD, upicokill, NULL, 1, NULL),
+C("play", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uplay, NULL, 1, NULL),  /* EFIXX? */
+C("pop", TYPETW + TYPEPW + TYPEMENU + TYPEQW, upop, NULL, 0, NULL),
+C("prevpos", TYPETW + TYPEPW + EPOS + EMID + EFIXXCOL, uprevpos, NULL, 1, "nextpos"),
+C("prevw", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uprevw, NULL, 1, "nextw"),
+C("prevword", TYPETW + TYPEPW + EFIXXCOL + ECHKXCOL, u_goto_prev, NULL, 1, "nextword"),
+C("prverr", TYPETW, uprverr, NULL, 1, "nxterr"),
+C("psh", TYPETW + TYPEPW + TYPEMENU + TYPEQW, upsh, NULL, 0, NULL),
+C("qrepl", TYPETW + TYPEPW + EMOD, pqrepl, NULL, 0, NULL),
+C("query", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uquery, NULL, 0, NULL),
+C("querysave", TYPETW, uquerysave, NULL, 0, NULL),
+C("quote", TYPETW + TYPEPW + EMOD, uquote, NULL, 0, NULL),
+C("quote8", TYPETW + TYPEPW + EMOD, uquote8, NULL, 0, NULL),
+C("record", TYPETW + TYPEPW + TYPEMENU + TYPEQW, urecord, NULL, 0, NULL),
+C("redo", TYPETW + TYPEPW + EFIXXCOL, uredo, NULL, 1, "undo"),
+C("retype", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uretyp, NULL, 0, NULL),
+C("rfirst", TYPETW + TYPEPW, prfirst, NULL, 0, NULL),
+C("rindent", TYPETW + TYPEPW + EFIXXCOL + EMOD + EBLOCK, urindent, NULL, 1, "lindent"),
+C("rsrch", TYPETW + TYPEPW, ursrch, NULL, 0, NULL),
+C("rtarw", TYPETW + TYPEPW /* + EFIXXCOL */, u_goto_right, NULL, 1, "ltarw"), /* EFIX removed for picture mode */
+C("rtarwmenu", TYPEMENU, umrtarw, NULL, 1, "ltarwmenu"),
+C("rtn", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOD, urtn, NULL, 1, NULL),
+C("run", TYPETW + TYPEPW, urun, NULL, 0, NULL),
+C("rvmatch", TYPETW + TYPEPW + EFIXXCOL, urvmatch, NULL, 0, NULL),
+C("save", TYPETW, usave, NULL, 0, NULL),
+C("scratch", TYPETW + TYPEPW, uscratch, NULL, 0, NULL),
+C("select", TYPETW + TYPEPW, uselect, NULL, 0, NULL),
+C("setmark", TYPETW + TYPEPW, usetmark, NULL, 0, NULL),
+C("shell", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ushell, NULL, 0, NULL),
+C("shrinkw", TYPETW, ushrnk, NULL, 1, "groww"),
+C("splitw", TYPETW, usplitw, NULL, 0, NULL),
+C("stat", TYPETW + TYPEPW, ustat_j, NULL, 0, NULL),
+C("stop", TYPETW + TYPEPW + TYPEMENU + TYPEQW, ustop, NULL, 0, NULL),
+C("swap", TYPETW + TYPEPW + EFIXXCOL, uswap, NULL, 0, NULL),
+C("switch", TYPETW + TYPEPW, uswitch, NULL, 0, NULL),
+C("tabmenu", TYPEMENU, umtab, NULL, 1, "ltarwmenu"),
+C("tag", TYPETW + TYPEPW, utag, NULL, 0, NULL),
+C("toggle_marking", TYPETW + TYPEPW, utoggle_marking, NULL, 0, NULL),
+C("tomarkb", TYPETW + TYPEPW + EFIXXCOL + EBLOCK, utomarkb, NULL, 0, NULL),
+C("tomarkbk", TYPETW + TYPEPW + EFIXXCOL + EBLOCK, utomarkbk, NULL, 0, NULL),
+C("tomarkk", TYPETW + TYPEPW + EFIXXCOL + EBLOCK, utomarkk, NULL, 0, NULL),
+C("tomatch", TYPETW + TYPEPW + EFIXXCOL, utomatch, NULL, 0, NULL),
+C("tos", TYPETW + TYPEPW + EMOVE, utos, NULL, 0, NULL),
+C("tw0", TYPETW + TYPEPW + TYPEQW + TYPEMENU, utw0, NULL, 0, NULL),
+C("tw1", TYPETW + TYPEPW + TYPEQW + TYPEMENU, utw1, NULL, 0, NULL),
+C("txt", TYPETW + TYPEPW, utxt, NULL, 0, NULL),
+C("type", TYPETW + TYPEPW + TYPEQW + TYPEMENU + EMINOR + EMOD, utype, NULL, 1, "backs"),
+C("uarg", TYPETW + TYPEPW + TYPEMENU + TYPEQW, uuarg, NULL, 0, NULL),
+C("undo", TYPETW + TYPEPW + EFIXXCOL, uundo, NULL, 1, "redo"),
+C("uparw", TYPETW + TYPEPW + EMOVE, uuparw, NULL, 1, "dnarw"),
+C("uparwmenu", TYPEMENU, umuparw, NULL, 1, "dnarwmenu"),
+C("upper", TYPETW + TYPEPW + EMOD + EBLOCK, uupper, NULL, 0, NULL),
+C("upslide", TYPETW + TYPEPW + TYPEMENU + TYPEQW + EMOVE, uupslide, NULL, 1, "dnslide"),
+C("yank", TYPETW + TYPEPW + EFIXXCOL + EMOD, uyank, NULL, 1, NULL),
+C("yankpop", TYPETW + TYPEPW + EFIXXCOL + EMOD, uyankpop, NULL, 1, NULL),
+C("yapp", TYPETW + TYPEPW + EKILL, uyapp, NULL, 0, NULL)
 };
 
 /* Execute a command n with key k */
@@ -304,7 +304,7 @@ int execmd(CMD *cmd, int k)
                utoggle_marking(maint->curwin->object);
 
        if ((maint->curwin->watom->what & TYPETW) && bw->b->rdonly && (cmd->flag & EMOD)) {
-               msgnw(bw->parent, US "Read only");
+               msgnw(bw->parent, UC "Read only");
                if (dobeep)
                        ttputc(7);
                goto skip;
@@ -372,20 +372,20 @@ static void izcmds(void)
                htadd(cmdhash, cmds[x].name, cmds + x);
 }
 
-CMD *findcmd(unsigned char *s)
+CMD *findcmd(const unsigned char *s)
 {
        if (!cmdhash)
                izcmds();
        return (CMD *) htfind(cmdhash, s);
 }
 
-void addcmd(unsigned char *s, MACRO *m)
+void addcmd(const unsigned char *s, MACRO *m)
 {
        CMD *cmd = (CMD *) joe_malloc(sizeof(CMD));
 
        if (!cmdhash)
                izcmds();
-       cmd->name = (unsigned char *)strdup((char *)s);
+       cmd->name = (unsigned char *)strdup((const char *)s);
        cmd->flag = 0;
        cmd->func = NULL;
        cmd->m = m;
@@ -427,7 +427,7 @@ static int docmd(BW *bw, unsigned char *s, void *object, int *notify)
        if (s) {
                mac = mparse(NULL, s, &ret);
                if (ret < 0 || !mac)
-                       msgnw(bw->parent, US "No such command");
+                       msgnw(bw->parent, UC "No such command");
                else {
                        ret = exmacro(mac, 1);
                        rmmacro(mac);
diff --git a/cmd.h b/cmd.h
index e6e7511..194208e 100644 (file)
--- a/cmd.h
+++ b/cmd.h
@@ -9,7 +9,7 @@
 #define _JOE_CMD_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_cmd_h, "$MirOS: contrib/code/jupp/cmd.h,v 1.6 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_cmd_h, "$MirOS: contrib/code/jupp/cmd.h,v 1.8 2017/12/06 21:41:02 tg Exp $");
 #endif
 
 extern CMD cmds[];             /* Built-in commands */
@@ -31,10 +31,10 @@ extern int dobeep;
 /* CMD *findcmd(char *s);
  * Return command address for given name
  */
-CMD *findcmd PARAMS((unsigned char *s));
-void addcmd PARAMS((unsigned char *s, MACRO *m));
+CMD *findcmd(const unsigned char *s);
+void addcmd(const unsigned char *s, MACRO *m);
 
 /* Execute a command.  Returns return value of command */
-int execmd PARAMS((CMD *cmd, int k));
+int execmd(CMD *cmd, int k);
 
 #endif
index e57bc94..d1e9fd3 100644 (file)
--- a/config.h
+++ b/config.h
@@ -22,7 +22,6 @@
 #define HAVE_STDLIB_H 1
 #define HAVE_UNISTD_H 1
 #define RETSIGTYPE void
-#define PARAMS(protos) protos
 #endif
 
 #ifdef HAVE_SYS_TYPES_H
@@ -137,7 +136,7 @@ size_t strlcpy(char *, const char *, size_t)
 #endif
 
 #ifdef EXTERN
-__IDSTRING(rcsid_config_h, "$MirOS: contrib/code/jupp/config.h,v 1.12 2017/12/04 22:15:38 tg Exp $");
+__IDSTRING(rcsid_config_h, "$MirOS: contrib/code/jupp/config.h,v 1.13 2017/12/06 21:16:55 tg Exp $");
 #endif
 
 #endif /* ifndef _JOE_CONFIG_H */
index a6f40c5..67c1779 100644 (file)
@@ -1,4 +1,4 @@
-# $MirOS: contrib/code/jupp/configure.ac,v 1.63 2017/12/04 21:46:21 tg Exp $
+# $MirOS: contrib/code/jupp/configure.ac,v 1.64 2017/12/06 21:16:55 tg Exp $
 #-
 # Process this file with autoconf to produce a configure script.
 
@@ -177,7 +177,6 @@ AC_HEADER_TIME
 
 # Checks for typedefs, structures, and compiler characteristics.
 
-AC_C_PROTOTYPES
 AC_C_CONST
 AC_SYS_LARGEFILE
 if test "$cross_compiling" = "yes" ; then
@@ -274,15 +273,6 @@ AC_CHECK_DECLS([ctime], [], [], [AC_INCLUDES_DEFAULT
 
 joe_REINSTALL_SIGHANDLERS
 
-AH_VERBATIM([_PARAMS],[/* Check to see if we can use strict prototypes */
-#ifndef PARAMS
-#  ifdef PROTOTYPES
-#    define PARAMS(protos) protos
-#  else
-#    define PARAMS(protos) ()
-#  endif
-#endif])
-
 # Check for programs..
 AC_CHECK_PROG(SPELL,aspell,aspell,ispell)
 
diff --git a/hash.c b/hash.c
index 488ab31..a21add6 100644 (file)
--- a/hash.c
+++ b/hash.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/hash.c,v 1.4 2017/12/02 02:07:26 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/hash.c,v 1.5 2017/12/06 21:41:02 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -20,7 +20,7 @@ __RCSID("$MirOS: contrib/code/jupp/hash.c,v 1.4 2017/12/02 02:07:26 tg Exp $");
 
 static HENTRY *freentry = NULL;
 
-unsigned long hash(unsigned char *s)
+unsigned long hash(const unsigned char *s)
 {
        unsigned long accu = 0;
 
@@ -45,7 +45,7 @@ void htrm(HASH *ht)
        joe_free(ht);
 }
 
-void *htadd(HASH *ht, unsigned char *name, void *val)
+void *htadd(HASH *ht, const unsigned char *name, void *val)
 {
        int idx = hash(name) & ht->len;
        HENTRY *entry;
@@ -66,7 +66,7 @@ void *htadd(HASH *ht, unsigned char *name, void *val)
        return entry->val = val;
 }
 
-void *htfind(HASH *ht, unsigned char *name)
+void *htfind(HASH *ht, const unsigned char *name)
 {
        HENTRY *e;
 
diff --git a/hash.h b/hash.h
index 84935b8..8c3c9bb 100644 (file)
--- a/hash.h
+++ b/hash.h
@@ -9,13 +9,13 @@
 #define _JOE_HASH_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_hash_h, "$MirOS: contrib/code/jupp/hash.h,v 1.4 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_hash_h, "$MirOS: contrib/code/jupp/hash.h,v 1.6 2017/12/06 21:41:02 tg Exp $");
 #endif
 
-unsigned long hash PARAMS((unsigned char *s));
-HASH *htmk PARAMS((int len));
-void htrm PARAMS((HASH *ht));
-void *htadd PARAMS((HASH *ht, unsigned char *name, void *val));
-void *htfind PARAMS((HASH *ht, unsigned char *name));
+unsigned long hash(const unsigned char *s);
+HASH *htmk(int len);
+void htrm(HASH *ht);
+void *htadd(HASH *ht, const unsigned char *name, void *val);
+void *htfind(HASH *ht, const unsigned char *name);
 
 #endif
diff --git a/help.c b/help.c
index e833bf2..f74957d 100644 (file)
--- a/help.c
+++ b/help.c
@@ -9,7 +9,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/help.c,v 1.11 2017/12/02 02:07:26 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/help.c,v 1.12 2017/12/06 23:02:02 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -20,14 +20,13 @@ __RCSID("$MirOS: contrib/code/jupp/help.c,v 1.11 2017/12/02 02:07:26 tg Exp $");
 
 #include "blocks.h"
 #include "builtin.h"
+#include "help.h"
 #include "scrn.h"
 #include "utils.h"
 #include "vs.h"
 #include "utf8.h"
 #include "w.h"
 
-extern void outatr_help(SCRN *,int *,int *,int,int,int,int);
-
 #define NOT_ENOUGH_MEMORY -11
 
 struct help *help_actual = NULL;                       /* actual help screen */
@@ -38,8 +37,8 @@ struct help *help_actual = NULL;                      /* actual help screen */
  *        -1 if the help file couldn't be opened 
  *        NOT_ENOUGH_MEMORY if there is not enough memory
  */
-
-int help_init(unsigned char *filename)
+int
+help_init(const unsigned char *filename)
 {
        JFILE *fd;                                      /* help file */
        unsigned char buf[1024];                        /* input buffer */
@@ -49,7 +48,7 @@ int help_init(unsigned char *filename)
        unsigned int hlpsiz, hlpbsz;                    /* number of used/allocated bytes for tmp->text */
        unsigned char *tempbuf;
 
-       if (!(fd = jfopen((char *)filename, "r")))              /* open the help file */
+       if (!(fd = jfopen((const char *)filename, "r")))/* open the help file */
                return -1;                              /* return if we couldn't open the file */
 
        fprintf(stderr, "Processing '%s'...", filename);
@@ -136,7 +135,8 @@ int help_init(unsigned char *filename)
  * Find context help - find help entry with the same name
  */
 
-struct help *find_context_help(const unsigned char *name)
+struct help *
+find_context_help(const unsigned char *name)
 {
        struct help *tmp = help_actual;
 
@@ -152,7 +152,8 @@ struct help *find_context_help(const unsigned char *name)
 /*
  * Display help text
  */
-void help_display(SCREEN *t)
+void
+help_display(SCREEN *t)
 {
        unsigned char *str;
        int y, x, z;
@@ -285,7 +286,8 @@ void help_display(SCREEN *t)
 /*
  * Show help screen 
  */
-int help_on(SCREEN *t)
+int
+help_on(SCREEN *t)
 {
        if (help_actual) {
                t->wind = help_actual->lines + skiptop;
@@ -307,7 +309,8 @@ int help_on(SCREEN *t)
 /*
  * Hide help screen
  */
-void help_off(SCREEN *t)
+void
+help_off(SCREEN *t)
 {
        t->wind = skiptop;
        wfit(t);
@@ -316,7 +319,8 @@ void help_off(SCREEN *t)
 /*
  * Show/hide current help screen
  */
-int u_help(BASE *base)
+int
+u_help(BASE *base)
 {
        W *w = base->parent;
        struct help *new_help;
@@ -339,7 +343,8 @@ int u_help(BASE *base)
 /*
  * Show next help screen (if it is possible)
  */
-int u_help_next(BASE *base)
+int
+u_help_next(BASE *base)
 {
        W *w = base->parent;
 
@@ -357,7 +362,8 @@ int u_help_next(BASE *base)
 /*
  * Show previous help screen (if it is possible)
  */
-int u_help_prev(BASE *base)
+int
+u_help_prev(BASE *base)
 {
        W *w = base->parent;
 
diff --git a/help.h b/help.h
index bd67638..57ccb2f 100644 (file)
--- a/help.h
+++ b/help.h
 #define _JOE_HELP_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_help_h, "$MirOS: contrib/code/jupp/help.h,v 1.6 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_help_h, "$MirOS: contrib/code/jupp/help.h,v 1.8 2017/12/06 23:02:02 tg Exp $");
 #endif
 
 extern struct help *help_actual;
 
-void help_display PARAMS((SCREEN *t));         /* display text in help window */
-void help_off PARAMS((SCREEN *t));             /* turn help off */
-int help_on PARAMS((SCREEN *t));               /* turn help on */
-int help_init PARAMS((unsigned char *filename));/* load help file */
-struct help *find_context_help PARAMS((const unsigned char *name));
+void help_display(SCREEN *t);          /* display text in help window */
+void help_off(SCREEN *t);              /* turn help off */
+int help_on(SCREEN *t);                        /* turn help on */
+int help_init(const unsigned char *filename);  /* load help file */
+struct help *find_context_help(const unsigned char *name);
 
-int u_help PARAMS((BASE *base));               /* toggle help on/off */
-int u_helpcard PARAMS((BASE *base));           /* enable help at screen */
-int u_help_next PARAMS((BASE *base));          /* goto next help screen */
-int u_help_prev PARAMS((BASE *base));          /* goto prev help screen */
+int u_help(BASE *base);                        /* toggle help on/off */
+int u_helpcard(BASE *base);            /* enable help at screen */
+int u_help_next(BASE *base);           /* goto next help screen */
+int u_help_prev(BASE *base);           /* goto prev help screen */
 
 #endif
diff --git a/i18n.c b/i18n.c
index 29914e4..c119921 100644 (file)
--- a/i18n.c
+++ b/i18n.c
  */
 
 #include "config.h"
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
-__RCSID("$MirOS: contrib/code/jupp/i18n.c,v 1.29 2017/12/03 02:36:01 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/i18n.c,v 1.31 2017/12/06 21:46:55 tg Exp $");
 
 #include "charmap.h"
 #include "utils.h"
@@ -6939,10 +6937,7 @@ CPPFLAGS+=       -DTEST -DTEST_I18N
 .include <bsd.own.mk>
 
 .ifdef __CRAZY
-COPTS+=                -Wno-old-style-definition \
-               -Wno-unused-parameter -Wno-strict-prototypes \
-               -Wno-cast-qual \
-               -Wno-missing-prototypes -Wno-missing-declarations
+COPTS+=                -Wno-unused-parameter -Wno-cast-qual
 .endif
 
 .include <bsd.prog.mk>
diff --git a/i18n.h b/i18n.h
index 238dd16..af2d315 100644 (file)
--- a/i18n.h
+++ b/i18n.h
@@ -2,40 +2,40 @@
 #define _Ii18n 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_i18n_h, "$MirOS: contrib/code/jupp/i18n.h,v 1.10 2017/12/02 17:00:48 tg Exp $");
+__IDSTRING(rcsid_i18n_h, "$MirOS: contrib/code/jupp/i18n.h,v 1.11 2017/12/06 21:16:57 tg Exp $");
 #endif
 
 #ifdef TEST_I18N
-int joe_iswupper PARAMS((struct charmap *,int c));
-int joe_iswlower PARAMS((struct charmap *,int c));
+int joe_iswupper(struct charmap *,int c);
+int joe_iswlower(struct charmap *,int c);
 #endif
 
 /* the following two include _ */
-int joe_iswalpha PARAMS((struct charmap *,int c));
-int joe_iswalnum PARAMS((struct charmap *,int c));
+int joe_iswalpha(struct charmap *,int c);
+int joe_iswalnum(struct charmap *,int c);
 
-int joe_iswdigit PARAMS((struct charmap *,int c));
-int joe_iswspace PARAMS((struct charmap *,int c));
+int joe_iswdigit(struct charmap *,int c);
+int joe_iswspace(struct charmap *,int c);
 #ifdef TEST_I18N
-int joe_iswcntrl PARAMS((struct charmap *,int c));
+int joe_iswcntrl(struct charmap *,int c);
 #endif
-int joe_iswpunct PARAMS((struct charmap *,int c));
+int joe_iswpunct(struct charmap *,int c);
 #ifdef TEST_I18N
-int joe_iswgraph PARAMS((struct charmap *,int c));
+int joe_iswgraph(struct charmap *,int c);
 #endif
-int joe_iswprint PARAMS((struct charmap *,int c));
+int joe_iswprint(struct charmap *,int c);
 #ifdef TEST_I18N
-int joe_iswxdigit PARAMS((struct charmap *,int c));
-int joe_iswblank PARAMS((struct charmap *,int c));
+int joe_iswxdigit(struct charmap *,int c);
+int joe_iswblank(struct charmap *,int c);
 #endif
 
-int joe_wcwidth PARAMS((int wide, unsigned int c));
+int joe_wcwidth(int wide, unsigned int c);
 /* Looking for wswidth? Take a look at scrn.c/txtwidth() */
 
-int joe_towupper PARAMS((struct charmap *,int c));
-int joe_towlower PARAMS((struct charmap *,int c));
+int joe_towupper(struct charmap *,int c);
+int joe_towlower(struct charmap *,int c);
 
 extern unsigned char unictrlbuf[11];
-int unictrl PARAMS((unsigned int c));
+int unictrl(unsigned int c);
 
 #endif
diff --git a/jupprc b/jupprc
index 6ca2fcb..21ef29f 100644 (file)
--- a/jupprc
+++ b/jupprc
 \i \i  \\^  \\$  matches beg./end of line         \\?     match any single char      \i \i
 \i \i  \\<  \\>  matches beg./end of word         \\*     match 0 or more chars      \i \i
 \i \i  \\c      matches balanced C expression    \\\\     matches a backslash (\\)    \i \i
-\i \i  \\[a-z]  matches one of a set             \\n     matches a newline          \i \i
+\i \i  \\[a-z]  matches one of a set, ^ inverts  \\n     matches a newline          \i \i
 \i \i  \\+      matches 0 or more of the character which follows the \\+            \i \i
 \i \i \u\bSpecial replace sequences:\b\u                                                  \i \i
 \i \i  \\\\      replaced with a backslash (\\)    \\n     replaced with a newline    \i \i
 \i \i  \\&      replaced with the text which matched the search string             \i \i
-\i \i  \\0 - 9  replaced with text which matched \bN\bth \\?, \\*, \\c, \\[a-z] or \\+      \i \i
+\i \i  \\0 - 9  replaced with text which matched \bN+1\bth \\?, \\*, \\c, \\[a-z] or \\+    \i \i
 }
 
 {Names
@@ -521,8 +521,10 @@ explode            ^K I
 explode                ^K ^I
 explode                ^K i
 explode                ^[ [ 1 7 ~
+explode                .k6
 help           ^J
 help           ^[ [ 1 1 ~
+help           .k1
 hnext          ^[ .
 hprev          ^[ ,
 math           ^Q M
@@ -537,11 +539,13 @@ nextw             ^K N
 nextw          ^K ^N
 nextw          ^K n
 nextw          ^[ [ 1 9 ~
+nextw          .k8
 play           ^[ 0 TO 9
 prevw          ^K P
 prevw          ^K ^P
 prevw          ^K p
 prevw          ^[ [ 1 8 ~
+prevw          .k7
 query          ^[ ?
 quote          `
 quote8         ^P
@@ -580,11 +584,11 @@ keymap,"prompt",rtn                       ^D
 
 :main
 :inherit windows
+:def pastemain helpcard,"Paste",rtn,keymap,"Paste",rtn
+:def conflictmarker ffirst,"\\^\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[ \\n]",rtn,rtn,ltarw
+:def fixwhitespace eof," ",bof,"a",qrepl,"\\[",quote,"i",quote,"k",quote,"l",quote,"m ]\\+\\[",quote,"i",quote,"k",quote,"l",quote,"m ]\\$",rtn,rtn,rtn,"r",eof,rtn,ffirst,"\\^\\[^\\n]",rtn,"b",rtn,eol,markb,bof,delch,eof,markk,blkdel,ffirst,"\\?",rtn,"b",rtn,eol,rtn
 :def freedroidz splitw,prevw,scratch,"nbc-Output",rtn,nextw,save,markk,bol,markb,prevw,prevw,blkcpy,nextw,nextw,rtn,prevw,eol,"'",bol,qrepl,"'",rtn,rtn,"'\\\\''",rtn,"r",backs,backs,backs,bol,"LC_ALL=C; export LC_ALL; fn='",eol,"; p=--posix; sed $p -e q </dev/null >/dev/null 2>&1 || p=; r=$(sed $p -e 's\ 1[^^]\ 1[&]\ 1g; s\ 1\\^\ 1\\\\^\ 1g' <<EOF",rtn,"$fn",rtn,"EOF",rtn,"); (case $fn in *.nxc) ;; *) echo '==> Error: filename not *.nxc'; exit ;; esac; echo \"Compiling $fn\"; nbc -sm- -d \"$fn\" 2>&1; x=$?; if test $x = 0; then echo '==> OK'; else echo '==> Error code:' $x; fi) | tr '\\n' '\ 1' | sed $p -e 's!\ 1# *\\([^\ 1]*\\)\ 1File \"[^\"]*/\\('\"$r\"'\\)\" ; line \\([0-9]*\\)\ 1!\ 1\\2:\\3: \\1\ 1!g' -e 's!\ 1#\\([^\ 1]*\\)\ 1File \"\\([^\"]*\\)\" ; line \\([0-9]*\\)\ 1!\ 1\\2:\\3: \\1\ 1!g' | tr '\ 1' '\\n'",rtn,nmark,filt,"sh",rtn,rtn,"Press ^KQ to close this window!",rtn,parserr
 :def docompile edit,rtn,filt,query,parserr
-:def fixwhitespace eof," ",bof,"a",qrepl,"\\[",quote,"i",quote,"k",quote,"l",quote,"m ]\\+\\[",quote,"i",quote,"k",quote,"l",quote,"m ]\\$",rtn,rtn,rtn,"r",eof,rtn,ffirst,"\\^\\[^\\n]",rtn,"b",rtn,eol,markb,bof,delch,eof,markk,blkdel,ffirst,"\\?",rtn,"b",rtn,eol,rtn
-:def conflictmarker ffirst,"\\^\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[<>=]\\[ \\n]",rtn,rtn,ltarw
-:def pastemain helpcard,"Paste",rtn,keymap,"Paste",rtn
  #HOOK#3105 main keybindings
 begin_marking,uparw,toggle_marking     ^[ [ 1 ; 2 A
 begin_marking,dnarw,toggle_marking     ^[ [ 1 ; 2 B
diff --git a/kbd.c b/kbd.c
index f90deac..89b5b81 100644 (file)
--- a/kbd.c
+++ b/kbd.c
@@ -8,11 +8,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/kbd.c,v 1.6 2017/12/04 22:15:38 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/kbd.c,v 1.7 2017/12/06 23:02:02 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
 
+#include "kbd.h"
 #include "macro.h"
 #include "termcap.h"
 #include "utils.h"
diff --git a/kbd.h b/kbd.h
index c40a2fc..3c4de8b 100644 (file)
--- a/kbd.h
+++ b/kbd.h
@@ -9,18 +9,18 @@
 #define _JOE_KBD_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_kbd_h, "$MirOS: contrib/code/jupp/kbd.h,v 1.4 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_kbd_h, "$MirOS: contrib/code/jupp/kbd.h,v 1.5 2017/12/06 21:16:57 tg Exp $");
 #endif
 
 /* KMAP *mkkmap(void);
  * Create an empty keymap
  */
-KMAP *mkkmap PARAMS((void));
+KMAP *mkkmap(void);
 
 /* void rmkmap(KMAP *kmap);
  * Free a key map
  */
-void rmkmap PARAMS((KMAP *kmap));
+void rmkmap(KMAP *kmap);
 
 /* int kadd(KMAP *kmap,char *seq,void *bind);
  * Add a key sequence binding to a key map
@@ -48,12 +48,12 @@ void rmkmap PARAMS((KMAP *kmap));
  * is speicified, then the key sequences
  * ^K A, ^K B, ^K C, ... ^K Z are all bound.
  */
-int kadd PARAMS((CAP *cap, KMAP *kmap, unsigned char *seq, void *bind));
+int kadd(CAP *cap, KMAP *kmap, unsigned char *seq, void *bind);
 
 /* void kcpy(KMAP *dest,KMAP *src);
  * Copy all of the entries in the 'src' keymap into the 'dest' keymap
  */
-void kcpy PARAMS((KMAP *dest, KMAP *src));
+void kcpy(KMAP *dest, KMAP *src);
 
 /* int kdel(KMAP *kmap,char *seq);
  * Delete a binding from a keymap
@@ -62,18 +62,18 @@ void kcpy PARAMS((KMAP *dest, KMAP *src));
  *        -1 if the given key sequence was invalid
  *         1 if the given key sequence did not exist
  */
-int kdel PARAMS((KMAP *kmap, unsigned char *seq));
+int kdel(KMAP *kmap, unsigned char *seq);
 
 /* KBD *mkkbd(KMAP *kmap);
    Create a keyboard handler which uses the given keymap
 */
-KBD *mkkbd PARAMS((KMAP *kmap));
+KBD *mkkbd(KMAP *kmap);
 
 /* void rmkbd(KBD *);
  *
  * Eliminate a keyboard handler
  */
-void rmkbd PARAMS((KBD *k));
+void rmkbd(KBD *k);
 
 /* void *dokey(KBD *kbd,int k);
    Handle a key for a KBD:
@@ -82,6 +82,6 @@ void rmkbd PARAMS((KBD *k));
 
      Returns binding for a completed key sequence
 */
-void *dokey PARAMS((KBD *kbd, int n));
+void *dokey(KBD *kbd, int n);
 
 #endif
diff --git a/macro.c b/macro.c
index f55f43d..5d23df5 100644 (file)
--- a/macro.c
+++ b/macro.c
@@ -8,15 +8,14 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/macro.c,v 1.12 2017/12/06 16:37:40 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/macro.c,v 1.15 2017/12/06 23:02:03 tg Exp $");
 
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include "b.h"
 #include "cmd.h"
+#include "macro.h"
 #include "main.h"
 #include "pw.h"
 #include "qw.h"
@@ -193,7 +192,7 @@ MACRO *mparse(MACRO *m, unsigned char *buf, int *sta)
                                }
                        } else
                                m = mkmacro(-1, 1, 0, NULL);
-                       addmacro(m, mkmacro(buf[x], 1, 0, findcmd(US "type")));
+                       addmacro(m, mkmacro(buf[x], 1, 0, findcmd(UC "type")));
                        ++x;
                }
                if (buf[x] == '\"')
@@ -502,7 +501,7 @@ int ustop(void)
                        rmmacro(kbdmacro[r->n]);
                kbdmacro[r->n] = r->m;
                if (recmac)
-                       record(m = mkmacro(r->n + '0', 1, 0, findcmd(US "play"))), rmmacro(m);
+                       record(m = mkmacro(r->n + '0', 1, 0, findcmd(UC "play"))), rmmacro(m);
                joe_free(r);
        }
        return 0;
diff --git a/macro.h b/macro.h
index aec3aaa..44c0534 100644 (file)
--- a/macro.h
+++ b/macro.h
@@ -9,40 +9,40 @@
 #define _JOE_MACRO_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_macro_h, "$MirOS: contrib/code/jupp/macro.h,v 1.4 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_macro_h, "$MirOS: contrib/code/jupp/macro.h,v 1.5 2017/12/06 21:16:57 tg Exp $");
 #endif
 
 /* Set when macro is recording: for status line */
 extern struct recmac *recmac;
 
 /* Macro construction functions */
-MACRO *mkmacro PARAMS((int k, int arg, int n, CMD *cmd));
-void addmacro PARAMS((MACRO *macro, MACRO *m));
-MACRO *dupmacro PARAMS((MACRO *mac));
-void rmmacro PARAMS((MACRO *macro));
-MACRO *macstk PARAMS((MACRO *m, int k));
-MACRO *macsta PARAMS((MACRO *m, int a));
+MACRO *mkmacro(int k, int arg, int n, CMD *cmd);
+void addmacro(MACRO *macro, MACRO *m);
+MACRO *dupmacro(MACRO *mac);
+void rmmacro(MACRO *macro);
+MACRO *macstk(MACRO *m, int k);
+MACRO *macsta(MACRO *m, int a);
 
-void chmac PARAMS((void));
+void chmac(void);
 
 /* Text to macro / Macro to text */
-MACRO *mparse PARAMS((MACRO *m, unsigned char *buf, int *sta));
-unsigned char *mtext PARAMS((unsigned char *s, MACRO *m));
+MACRO *mparse(MACRO *m, unsigned char *buf, int *sta);
+unsigned char *mtext(unsigned char *s, MACRO *m);
 
 /* Execute a macro */
 extern MACRO *curmacro;
-int exemac PARAMS((MACRO *m));
-int exmacro PARAMS((MACRO *m, int u));
+int exemac(MACRO *m);
+int exmacro(MACRO *m, int u);
 
 /* Keyboard macros user interface */
-int uplay PARAMS((BW *bw, int c));
-int ustop PARAMS((void));
-int urecord PARAMS((BW *bw, int c));
-int uquery PARAMS((BW *bw));
-int umacros PARAMS((BW *bw));
+int uplay(BW *bw, int c);
+int ustop(void);
+int urecord(BW *bw, int c);
+int uquery(BW *bw);
+int umacros(BW *bw);
 
 /* Repeat prefix user command */
-int uarg PARAMS((BW *bw));
-int uuarg PARAMS((BW *bw, int c));
+int uarg(BW *bw);
+int uuarg(BW *bw, int c);
 
 #endif
diff --git a/main.c b/main.c
index d12a5f3..f4106dc 100644 (file)
--- a/main.c
+++ b/main.c
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/main.c,v 1.35 2017/12/03 02:39:32 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/main.c,v 1.37 2017/12/06 23:02:03 tg Exp $");
 
 #include <fcntl.h>
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <unistd.h>
 
 #include "b.h"
 #include "help.h"
 #include "kbd.h"
 #include "macro.h"
+#include "main.h"
 #include "path.h"
 #include "rc.h"
 #include "scrn.h"
@@ -57,7 +56,7 @@ __RCSID("$MirOS: contrib/code/jupp/main.c,v 1.35 2017/12/03 02:39:32 tg Exp $");
 #include "syntax.h"
 #include "utils.h"
 
-extern int mid, dspasis, help, pgamnt, nobackups, lightoff, exask, lines, columns, dopadding, marking, dobeep;
+extern int mid, dspasis, pgamnt, nobackups, lightoff, exask, lines, columns, dopadding, marking, dobeep;
 
 extern int idleout;            /* Clear to use /dev/tty for screen */
 extern unsigned char *joeterm;
diff --git a/main.h b/main.h
index 1d9a55e..ba57b8a 100644 (file)
--- a/main.h
+++ b/main.h
@@ -9,7 +9,7 @@
 #define _JOE_MAIN_H 1
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_main_h, "$MirOS: contrib/code/jupp/main.h,v 1.5 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_main_h, "$MirOS: contrib/code/jupp/main.h,v 1.6 2017/12/06 21:16:58 tg Exp $");
 #endif
 
 extern const char null[];
@@ -17,9 +17,9 @@ extern const char null[];
 extern unsigned char *exmsg;   /* Exit message */
 extern int help;               /* Set to start with help on */
 extern SCREEN *maint;          /* Primary screen */
-void nungetc PARAMS((int c));
-void dofollows PARAMS((void));
-int edloop PARAMS((int flg));
-void edupd PARAMS((int flg));
+void nungetc(int c);
+void dofollows(void);
+int edloop(int flg);
+void edupd(int flg);
 
 #endif
diff --git a/menu.c b/menu.c
index 22d592b..a04b707 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -8,11 +8,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/menu.c,v 1.8 2017/12/02 02:07:29 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/menu.c,v 1.9 2017/12/06 23:02:03 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
 
+#include "menu.h"
 #include "scrn.h"
 #include "utils.h"
 #include "va.h"
@@ -368,7 +369,7 @@ static int umkey(MENU *m, int c)
 static int menuabort(MENU *m)
 {
        W *w = m->parent;
-       int (*func) () = m->abrt;
+       jpoly_int *func = m->abrt;
        void *object = m->object;
        int x = m->cursor;
        W *win = w->win;
@@ -401,7 +402,7 @@ void ldmenu(MENU *m, unsigned char **s, int cursor)
        mconfig(m);
 }
 
-MENU *mkmenu(W *w, unsigned char **s, int (*func) (/* ??? */), int (*abrt) (/* ??? */), int (*backs) (/* ??? */), int cursor, void *object, int *notify)
+MENU *mkmenu(W *w, unsigned char **s, jpoly_int *func, jpoly_int *abrt, jpoly_int *backs, int cursor, void *object, int *notify)
 {
        W *new;
        MENU *m;
diff --git a/menu.h b/menu.h
index a0a6d70..4306738 100644 (file)
--- a/menu.h
+++ b/menu.h
@@ -9,31 +9,30 @@
 #define _JOE_MENU_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_menu_h, "$MirOS: contrib/code/jupp/menu.h,v 1.4 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_menu_h, "$MirOS: contrib/code/jupp/menu.h,v 1.6 2017/12/06 23:02:03 tg Exp $");
 #endif
 
 /* Create a menu */
-/* FIXME: ??? ---> */
-MENU *mkmenu PARAMS((W *w, unsigned char **s, int (*func) (/* ??? */), int (*abrt) (/* ??? */), int (*backs) (/* ??? */), int cursor, void *object, int *notify));
+MENU *mkmenu(W *w, unsigned char **s, jpoly_int *func, jpoly_int *abrt, jpoly_int *backs, int cursor, void *object, int *notify);
 
 /* Menu user functions */
 
-int umuparw PARAMS((MENU *m));
-int umdnarw PARAMS((MENU *m));
-int umpgup PARAMS((MENU *m));
-int umpgdn PARAMS((MENU *m));
-int umltarw PARAMS((MENU *m));
-int umrtarw PARAMS((MENU *m));
-int umtab PARAMS((MENU *m));
-int umbof PARAMS((MENU *m));
-int umeof PARAMS((MENU *m));
-int umbol PARAMS((MENU *m));
-int umeol PARAMS((MENU *m));
-int umbacks PARAMS((MENU *m));
+int umuparw(MENU *m);
+int umdnarw(MENU *m);
+int umpgup(MENU *m);
+int umpgdn(MENU *m);
+int umltarw(MENU *m);
+int umrtarw(MENU *m);
+int umtab(MENU *m);
+int umbof(MENU *m);
+int umeof(MENU *m);
+int umbol(MENU *m);
+int umeol(MENU *m);
+int umbacks(MENU *m);
 
-void ldmenu PARAMS((MENU *m, unsigned char **s, int cursor));
+void ldmenu(MENU *m, unsigned char **s, int cursor);
 
-unsigned char *mcomplete PARAMS((MENU *m));
-unsigned char *find_longest PARAMS((unsigned char **lst));
+unsigned char *mcomplete(MENU *m);
+unsigned char *find_longest(unsigned char **lst);
 
 #endif
diff --git a/path.c b/path.c
index f63a7b0..068372e 100644 (file)
--- a/path.c
+++ b/path.c
@@ -8,23 +8,17 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/path.c,v 1.14 2017/12/04 22:15:38 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/path.c,v 1.15 2017/12/06 21:16:58 tg Exp $");
 
-#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
-#endif
 #include <fcntl.h>
 #include <string.h>
 #include <unistd.h>
 #ifdef HAVE_PATHS_H
 #  include <paths.h>   /* for _PATH_TMP */
 #endif
-#ifdef HAVE_LIMITS_H
 #include <limits.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #ifdef HAVE_BSD_STRING_H
 #include <bsd/string.h>
diff --git a/path.h b/path.h
index 892b712..0566868 100644 (file)
--- a/path.h
+++ b/path.h
@@ -9,7 +9,7 @@
 #define _JOE_PATH_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_path_h, "$MirOS: contrib/code/jupp/path.h,v 1.13 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_path_h, "$MirOS: contrib/code/jupp/path.h,v 1.14 2017/12/06 21:16:58 tg Exp $");
 #endif
 
 #if defined(__MSDOS__) || defined(__DJGPP__) || defined(__EMX__) || \
@@ -23,14 +23,14 @@ __IDSTRING(rcsid_path_h, "$MirOS: contrib/code/jupp/path.h,v 1.13 2017/12/02 17:
 #endif
 
 #if HAVE_BACKSLASH_PATHS
-unsigned char *joesep PARAMS((unsigned char *path));
+unsigned char *joesep(unsigned char *path);
 #else
 #define joesep(path) (path)
 #endif
 
 #if JUPP_WIN32RELOC
 extern unsigned char has_JOERC, *get_JOERC;
-void init_JOERC PARAMS((void));
+void init_JOERC(void);
 #else
 #define has_JOERC      1
 #define get_JOERC      JOERC
@@ -45,8 +45,8 @@ void init_JOERC PARAMS((void));
  * The name part of "/hello/" is ""
  * The name part if "/" is ""
  */
-unsigned char *namprt PARAMS((unsigned char *path));
-unsigned char *namepart PARAMS((unsigned char *tmp, unsigned char *path))
+unsigned char *namprt(unsigned char *path);
+unsigned char *namepart(unsigned char *tmp, unsigned char *path)
     ATTR_BOUNDED((__minbytes__,1,1024));
 
 /* char *dirprt(char *path);
@@ -59,8 +59,8 @@ unsigned char *namepart PARAMS((unsigned char *tmp, unsigned char *path))
  *
  * dirprt_ptr points to just beyond what dirprt returns.
  */
-unsigned char *dirprt PARAMS((unsigned char *path));
-unsigned char *dirprt_ptr PARAMS((unsigned char *path));
+unsigned char *dirprt(unsigned char *path);
+unsigned char *dirprt_ptr(unsigned char *path);
 
 /* char *begprt(char *path);
  * Return the beginning part of a path.
@@ -69,7 +69,7 @@ unsigned char *dirprt_ptr PARAMS((unsigned char *path));
  * The beginning part of "/hello/" is "/"
  * The beginning part of "/" is "/"
  */
-unsigned char *begprt PARAMS((unsigned char *path));
+unsigned char *begprt(unsigned char *path);
 
 /* char *endprt(char *path);
  * Return the ending part of a path.
@@ -78,7 +78,7 @@ unsigned char *begprt PARAMS((unsigned char *path));
  * The ending part of "/hello/" is "hello/"
  * The ending part of "/" is ""
  */
-unsigned char *endprt PARAMS((unsigned char *path));
+unsigned char *endprt(unsigned char *path);
 
 /* int mkpath(char *path);
  * Make sure path exists.  If it doesn't, try to create it
@@ -88,7 +88,7 @@ unsigned char *endprt PARAMS((unsigned char *path));
  * the drive and path will be elsewhere (not necessarily where they
  * were before mkpath was called).
  */
-int mkpath PARAMS((unsigned char *path));
+int mkpath(unsigned char *path);
 
 /* char *mktmp(char *, int *);
  * Create an empty temporary file.  The file name created is the string passed
@@ -96,7 +96,7 @@ int mkpath PARAMS((unsigned char *path));
  * string six chars long which makes this file unique.
  * If second argument is not NULL, fd is kept open and stored there.
 */
-unsigned char *mktmp PARAMS((unsigned char *where, int *fdp));
+unsigned char *mktmp(unsigned char *where, int *fdp);
 
 /* Change drive and directory */
 #define chddir chdir
@@ -118,17 +118,17 @@ unsigned char *mktmp PARAMS((unsigned char *where, int *fdp));
  *  '-' may be specified in sets by placing it at the ends
  *  '[' may be specified in sets by placing it first
  */
-int rmatch PARAMS((unsigned char *a, unsigned char *b));
-int isreg PARAMS((unsigned char *s));
+int rmatch(unsigned char *a, unsigned char *b);
+int isreg(unsigned char *s);
 
 /* char **rexpnd(char *path,char *pattern);
  * Generate array (see va.h) of file names from directory in 'path'
  * which match the pattern 'pattern'
  */
-unsigned char **rexpnd PARAMS((unsigned char *word));
+unsigned char **rexpnd(unsigned char *word);
 
-int chJpwd PARAMS((const unsigned char *path));
-int chpwd PARAMS((const unsigned char *path));
-unsigned char *pwd PARAMS((void));
+int chJpwd(const unsigned char *path);
+int chpwd(const unsigned char *path);
+unsigned char *pwd(void);
 
 #endif
index 13ed012..8321a77 100644 (file)
--- a/poshist.c
+++ b/poshist.c
@@ -8,13 +8,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/poshist.c,v 1.4 2017/12/02 18:50:03 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/poshist.c,v 1.6 2017/12/06 23:02:03 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include "b.h"
+#include "poshist.h"
 #include "queue.h"
 #include "w.h"
 
index 1e956c3..42fdd35 100644 (file)
--- a/poshist.h
+++ b/poshist.h
@@ -9,13 +9,13 @@
 #define _JOE_POSHIST_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_poshist_h, "$MirOS: contrib/code/jupp/poshist.h,v 1.4 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_poshist_h, "$MirOS: contrib/code/jupp/poshist.h,v 1.5 2017/12/06 21:16:58 tg Exp $");
 #endif
 
-void afterpos PARAMS((void));
-void aftermove PARAMS((W *w, P *p));
-void windie PARAMS((W *w));
-int uprevpos PARAMS((BW *bw));
-int unextpos PARAMS((BW *bw));
+void afterpos(void);
+void aftermove(W *w, P *p);
+void windie(W *w);
+int uprevpos(BW *bw);
+int unextpos(BW *bw);
 
 #endif
diff --git a/pw.c b/pw.c
index d78f9aa..7eb1359 100644 (file)
--- a/pw.c
+++ b/pw.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/pw.c,v 1.9 2017/12/02 02:07:29 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/pw.c,v 1.10 2017/12/06 23:02:03 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -91,7 +91,7 @@ static int rtnpw(BW *bw)
        unsigned char *s;
        W *win;
        int *notify;
-       int (*pfunc) ();
+       jpoly_int *pfunc;
        void *object;
        long byte;
 
@@ -170,7 +170,7 @@ static int abortpw(BW *b)
 {
        PW *pw = b->object;
        void *object = pw->object;
-       int (*abrt) () = pw->abrt;
+       jpoly_int *abrt = pw->abrt;
 
        W *win = b->parent->win;
 
@@ -200,7 +200,7 @@ WATOM watompw = {
 
 /* Create a prompt window */
 
-BW *wmkpw(W *w, unsigned char *prompt, B **history, int (*func) (), const unsigned char *huh, int (*abrt) (), int (*tab) (), void *object, int *notify, struct charmap *map)
+BW *wmkpw(W *w, unsigned char *prompt, B **history, jpoly_int *func, const unsigned char *huh, jpoly_int *abrt, jpoly_int *tab, void *object, int *notify, struct charmap *map)
 {
        W *new;
        PW *pw;
diff --git a/pw.h b/pw.h
index 81b325d..2f5c412 100644 (file)
--- a/pw.h
+++ b/pw.h
@@ -9,28 +9,28 @@
 #define _JOE_PW_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_pw_h, "$MirOS: contrib/code/jupp/pw.h,v 1.6 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_pw_h, "$MirOS: contrib/code/jupp/pw.h,v 1.8 2017/12/06 23:02:04 tg Exp $");
 #endif
 
 /* BW *wmkpw(BW *bw,char *prompt,int (*func)(),char *huh,int (*abrt)(),
              int (*tab)(),void *object,int *notify);
  * Create a prompt window for the given window
  */
-BW *wmkpw PARAMS((W *w, unsigned char *prompt, B **history, int (*func) (), const unsigned char *huh, int (*abrt) (), int (*tab) (), void *object, int *notify, struct charmap *map));
+BW *wmkpw(W *w, unsigned char *prompt, B **history, jpoly_int *func, const unsigned char *huh, jpoly_int *abrt, jpoly_int *tab, void *object, int *notify, struct charmap *map);
 
-int ucmplt PARAMS((BW *bw, int k));
+int ucmplt(BW *bw, int k);
 
 /* Function for TAB completion */
 
-unsigned char **regsub PARAMS((unsigned char **z, int len, unsigned char *s));
+unsigned char **regsub(unsigned char **z, int len, unsigned char *s);
 
-void cmplt_ins PARAMS((BW *bw,unsigned char *line));
+void cmplt_ins(BW *bw,unsigned char *line);
 
-int cmplt_abrt PARAMS((BW *bw,int x, unsigned char *line));
+int cmplt_abrt(BW *bw,int x, unsigned char *line);
 
-int cmplt_rtn PARAMS((MENU *m,int x,unsigned char *line));
+int cmplt_rtn(MENU *m,int x,unsigned char *line);
 
-int simple_cmplt PARAMS((BW *bw,unsigned char **list));
+int simple_cmplt(BW *bw,unsigned char **list);
 
 extern WATOM watompw;
 
diff --git a/queue.h b/queue.h
index 28da99a..2f07909 100644 (file)
--- a/queue.h
+++ b/queue.h
@@ -9,7 +9,7 @@
 #define _JOE_QUEUE 1 
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_queue_h, "$MirOS: contrib/code/jupp/queue.h,v 1.4 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_queue_h, "$MirOS: contrib/code/jupp/queue.h,v 1.5 2017/12/06 21:16:59 tg Exp $");
 #endif
 
 extern void *ITEM;
@@ -120,7 +120,7 @@ extern void *LAST;
        (type *)ITEM \
        )
 
-void *alitem PARAMS((void *list, int itemsize));
-void frchn PARAMS((void *list, void *ch));
+void *alitem(void *list, int itemsize);
+void frchn(void *list, void *ch);
 
 #endif
diff --git a/qw.c b/qw.c
index f420bb1..260ce17 100644 (file)
--- a/qw.c
+++ b/qw.c
@@ -8,13 +8,14 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/qw.c,v 1.7 2017/12/02 04:32:40 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/qw.c,v 1.8 2017/12/06 23:02:04 tg Exp $");
 
 #include <stdlib.h>
 
 #include "utils.h"
 #include "vs.h"
 #include "charmap.h"
+#include "qw.h"
 #include "scrn.h"
 #include "w.h"
 
@@ -91,7 +92,7 @@ static int utypeqw(QW *qw, int c)
        W *win;
        W *w = qw->parent;
        int *notify = w->notify;
-       int (*func) ();
+       jpoly_int *func;
        void *object = qw->object;
 
        if (locale_map->type) {
@@ -116,7 +117,7 @@ static int abortqw(QW *qw)
 {
        W *win = qw->parent->win;
        void *object = qw->object;
-       int (*abrt) () = qw->abrt;
+       jpoly_int *abrt = qw->abrt;
 
        vsrm(qw->prompt);
        joe_free(qw);
@@ -170,7 +171,7 @@ static WATOM watqwsr = {
 
 /* Create a query window */
 
-QW *mkqw(W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*abrt) (/* ??? */), void *object, int *notify)
+QW *mkqw(W *w, unsigned char *prompt, int len, jpoly_int *func, jpoly_int *abrt, void *object, int *notify)
 {
        W *new;
        QW *qw;
@@ -197,7 +198,7 @@ QW *mkqw(W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*ab
 /* Same as above, but cursor is left in original window */
 /* For Ctrl-Meta thing */
 
-QW *mkqwna(W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*abrt) (/* ??? */), void *object, int *notify)
+QW *mkqwna(W *w, unsigned char *prompt, int len, jpoly_int *func, jpoly_int *abrt, void *object, int *notify)
 {
        W *new;
        QW *qw;
@@ -224,7 +225,7 @@ QW *mkqwna(W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*
 /* Same as above, but cursor is left in original window */
 /* For search and replace thing */
 
-QW *mkqwnsr(W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*abrt) (/* ??? */), void *object, int *notify)
+QW *mkqwnsr(W *w, unsigned char *prompt, int len, jpoly_int *func, jpoly_int *abrt, void *object, int *notify)
 {
        W *new;
        QW *qw;
diff --git a/qw.h b/qw.h
index 293c978..cca7b23 100644 (file)
--- a/qw.h
+++ b/qw.h
@@ -9,15 +9,15 @@
 #define _JOE_QW_H 1
 
 #ifdef EXTERN_UFILE_C
-__IDSTRING(rcsid_qw_h, "$MirOS: contrib/code/jupp/qw.h,v 1.4 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_qw_h, "$MirOS: contrib/code/jupp/qw.h,v 1.6 2017/12/06 23:02:04 tg Exp $");
 #endif
 
 /* QW *mkqw(W *w, char *prompt, int (*func)(), int (*abrt)(), void *object);
  * Create a query window for the given window
  */
 /* FIXME: ??? ----> */
-QW *mkqw PARAMS((W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*abrt) (/* ??? */), void *object, int *notify));
-QW *mkqwna PARAMS((W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*abrt) (/* ??? */), void *object, int *notify));
-QW *mkqwnsr PARAMS((W *w, unsigned char *prompt, int len, int (*func) (/* ??? */), int (*abrt) (/* ??? */), void *object, int *notify));
+QW *mkqw(W *w, unsigned char *prompt, int len, jpoly_int *func, jpoly_int *abrt, void *object, int *notify);
+QW *mkqwna(W *w, unsigned char *prompt, int len, jpoly_int *func, jpoly_int *abrt, void *object, int *notify);
+QW *mkqwnsr(W *w, unsigned char *prompt, int len, jpoly_int *func, jpoly_int *abrt, void *object, int *notify);
 
 #endif
diff --git a/rc.c b/rc.c
index ffa2f3d..7acf91c 100644 (file)
--- a/rc.c
+++ b/rc.c
@@ -9,12 +9,10 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/rc.c,v 1.30 2017/12/04 22:15:38 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/rc.c,v 1.33 2017/12/06 23:02:04 tg Exp $");
 
 #include <string.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #ifdef HAVE_BSD_STRING_H
 #include <bsd/string.h>
@@ -27,6 +25,7 @@ __RCSID("$MirOS: contrib/code/jupp/rc.c,v 1.30 2017/12/04 22:15:38 tg Exp $");
 #include "menu.h"
 #include "path.h"
 #include "pw.h"
+#include "rc.h"
 #include "regex.h"
 #include "tw.h"
 #include "uedit.h"
@@ -534,7 +533,7 @@ static int doopt1(BW *bw, unsigned char *s, int *xx, int *notify)
                } else if (v >= glopts[x].low && v <= glopts[x].high)
                        *glopts[x].set.i = v;
                else {
-                       msgnw(bw->parent, US "Value out of range");
+                       msgnw(bw->parent, UC "Value out of range");
                        ret = -1;
                }
                break;
@@ -554,7 +553,7 @@ static int doopt1(BW *bw, unsigned char *s, int *xx, int *notify)
                } else if (v >= glopts[x].low && v <= glopts[x].high)
                        *(int *) ((unsigned char *) &bw->o + glopts[x].ofst) = v;
                else {
-                       msgnw(bw->parent, US "Value out of range");
+                       msgnw(bw->parent, UC "Value out of range");
                        ret = -1;
                }
                break;
@@ -570,7 +569,7 @@ static int doopt1(BW *bw, unsigned char *s, int *xx, int *notify)
                } else if (v >= glopts[x].low && v <= glopts[x].high)
                        *(int *) ((unsigned char *) &bw->o + glopts[x].ofst) = v;
                else {
-                       msgnw(bw->parent, US "Value out of range");
+                       msgnw(bw->parent, UC "Value out of range");
                        ret = -1;
                }
                break;
@@ -593,7 +592,7 @@ static int dosyntax(BW *bw, unsigned char *s, int *xx, int *notify)
                if ((syn = load_dfa(s)))
                        bw->o.syntax = syn;
                else
-                       msgnw(bw->parent, US "Syntax definition file not found");
+                       msgnw(bw->parent, UC "Syntax definition file not found");
        } else
                bw->o.syntax = NULL;
 
@@ -660,7 +659,8 @@ static int syntaxcmplt(BW *bw)
        return simple_cmplt(bw,syntaxes);
 }
 
-int check_for_hex(BW *bw)
+static int
+check_for_hex(BW *bw)
 {
        W *w;
        if (bw->o.hex)
@@ -683,7 +683,7 @@ static int doencoding(BW *bw, unsigned char *s, int *xx, int *notify)
                map = fdefault.charmap;
 
        if (map && map->type && check_for_hex(bw)) {
-               msgnw(bw->parent, US "UTF-8 encoding not allowed with hex-edit windows");
+               msgnw(bw->parent, UC "UTF-8 encoding not allowed with hex-edit windows");
                if (notify)
                        *notify = 1;
                return -1;
@@ -694,7 +694,7 @@ static int doencoding(BW *bw, unsigned char *s, int *xx, int *notify)
                joe_snprintf_1((char *)msgbuf, JOE_MSGBUFSIZE, "%s encoding assumed for this file", map->name);
                msgnw(bw->parent, msgbuf);
        } else
-               msgnw(bw->parent, US "Character set not found");
+               msgnw(bw->parent, UC "Character set not found");
 
        vsrm(s);
        bw->b->o = bw->o;
diff --git a/rc.h b/rc.h
index 50a0ff2..3e833f8 100644 (file)
--- a/rc.h
+++ b/rc.h
@@ -9,30 +9,30 @@
 #define _JOE_RC_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_rc_h, "$MirOS: contrib/code/jupp/rc.h,v 1.6 2017/12/02 17:00:49 tg Exp $");
+__IDSTRING(rcsid_rc_h, "$MirOS: contrib/code/jupp/rc.h,v 1.7 2017/12/06 21:16:59 tg Exp $");
 #endif
 
 extern OPTIONS pdefault;
 extern OPTIONS fdefault;
-void setopt PARAMS((B *b, unsigned char *name));
+void setopt(B *b, unsigned char *name);
 
 /* KMAP *kmap_getcontext(char *name);
  * Find and return the KMAP for a given context name.  If none is found, an
  * empty kmap is created, bound to the context name, and returned.
  */
-KMAP *kmap_getcontext PARAMS((unsigned char *name, int docreate));
+KMAP *kmap_getcontext(unsigned char *name, int docreate);
 
 /* int procrc(CAP *cap, char *name);  Process an rc file
    Returns 0 for success
           -1 for file not found
            1 for syntax error (errors written to stderr)
 */
-int procrc PARAMS((CAP *cap, unsigned char *name));
+int procrc(CAP *cap, unsigned char *name);
 
-int glopt PARAMS((unsigned char *s, unsigned char *arg, OPTIONS *options, int set));
+int glopt(unsigned char *s, unsigned char *arg, OPTIONS *options, int set);
 
-int umode PARAMS((BW *bw));
+int umode(BW *bw);
 
-void lazy_opts PARAMS((OPTIONS *o));
+void lazy_opts(OPTIONS *o);
 
 #endif
diff --git a/regex.c b/regex.c
index 16a497e..004c39e 100644 (file)
--- a/regex.c
+++ b/regex.c
@@ -8,14 +8,16 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/regex.c,v 1.9 2017/12/06 16:38:46 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/regex.c,v 1.10 2017/12/06 23:02:04 tg Exp $");
 
 #include "b.h"
 #include "charmap.h"
+#include "regex.h"
 #include "utils.h"
 #include "vs.h"
 
-int escape(int isutf8,unsigned char **a, int *b)
+int
+escape(int isutf8, unsigned char **a, int *b)
 {
        int c;
        unsigned char *s = *a;
diff --git a/regex.h b/regex.h
index ad07353..30a8184 100644 (file)
--- a/regex.h
+++ b/regex.h
@@ -9,10 +9,10 @@
 #define _JOE_REGEX_H 1
 
 #ifdef EXTERN_RC_C
-__IDSTRING(rcsid_regex_h, "$MirOS: contrib/code/jupp/regex.h,v 1.4 2017/12/02 17:00:50 tg Exp $");
+__IDSTRING(rcsid_regex_h, "$MirOS: contrib/code/jupp/regex.h,v 1.6 2017/12/06 23:02:04 tg Exp $");
 #endif
 
-int escape PARAMS((int utf8,unsigned char **a, int *b));
-int pmatch PARAMS((unsigned char **pieces, unsigned char *regex, int len, P *p, int n, int icase));
+int escape(int, unsigned char **, int *);
+int pmatch(unsigned char **pieces, unsigned char *regex, int len, P *p, int n, int icase);
 
 #endif
diff --git a/scrn.c b/scrn.c
index 071fdd2..8bb1bad 100644 (file)
--- a/scrn.c
+++ b/scrn.c
@@ -8,11 +8,9 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/scrn.c,v 1.31 2017/12/04 22:15:39 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/scrn.c,v 1.33 2017/12/06 21:41:02 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <string.h>
 
 #include "bw.h"
@@ -691,7 +689,7 @@ SCRN *nopen(CAP *cap)
                texec(t->cap, t->cl, 1, 0, 0, 0, 0);
 
 /* Initialize variable screen size dependant vars */
-       t->htab = calloc(256, sizeof(struct hentry));
+       t->htab = calloc(256, sizeof(struct s_hentry));
 
        nresize(t, t->co, t->li);
 
@@ -731,7 +729,7 @@ void nresize(SCRN *t, int w, int h)
        t->syntab = calloc(t->li, sizeof(int));
        t->compose = calloc(t->co, sizeof(int));
        t->ofst = calloc(t->co, sizeof(int));
-       t->ary = calloc(t->co, sizeof(struct hentry));
+       t->ary = calloc(t->co, sizeof(struct s_hentry));
 
        nredraw(t);
 }
@@ -1302,14 +1300,14 @@ static void dodelchr(SCRN *t, int x, int y, int n)
 
 void magic(SCRN *t, int y, int *cs, int *ca,int *s, int *a, int placex)
 {
-       struct hentry *htab = t->htab;
+       struct s_hentry *htab = t->htab;
        int *ofst = t->ofst;
        int aryx = 1;
        int x;
 
        if (!(t->im || t->ic || t->IC) || !(t->dc || t->DC))
                return;
-       mset(htab, 0, 256 * sizeof(struct hentry));
+       mset(htab, 0, 256 * sizeof(struct s_hentry));
 
        msetI(ofst, 0, t->co);
 
diff --git a/scrn.h b/scrn.h
index ca3bc18..5bba9ea 100644 (file)
--- a/scrn.h
+++ b/scrn.h
@@ -9,7 +9,7 @@
 #define _JOE_SCRN_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_scrn_h, "$MirOS: contrib/code/jupp/scrn.h,v 1.8 2017/12/04 22:15:39 tg Exp $");
+__IDSTRING(rcsid_scrn_h, "$MirOS: contrib/code/jupp/scrn.h,v 1.10 2017/12/06 23:02:05 tg Exp $");
 #endif
 
 #include "tty.h"               /* ttputc() */
@@ -21,25 +21,25 @@ extern int skiptop;
  * Open the screen (sets TTY mode so that screen may be used immediatly after
  * the 'nopen').
  */
-SCRN *nopen PARAMS((CAP *cap));
+SCRN *nopen(CAP *cap);
 
 /* void nresize(SCRN *t,int w,int h);
  *
  * Change size of screen.  For example, call this when you find out that
  * the Xterm changed size.
  */
-void nresize PARAMS((SCRN *t, int w, int h));
+void nresize(SCRN *t, int w, int h);
 
 /* void nredraw(SCRN *t);
  *
  * Invalidate all state variables for the terminal.  This way, everything gets
  * redrawn.
  */
-void nredraw PARAMS((SCRN *t));
+void nredraw(SCRN *t);
 
-void npartial PARAMS((SCRN *t));
-void nescape PARAMS((SCRN *t));
-void nreturn PARAMS((SCRN *t));
+void npartial(SCRN *t);
+void nescape(SCRN *t);
+void nreturn(SCRN *t);
 
 /* void nclose(SCRN *t);
  *
@@ -47,22 +47,22 @@ void nreturn PARAMS((SCRN *t));
  *
  * if 'flg' is set, tclose doesn't mess with the signals.
  */
-void nclose PARAMS((SCRN *t));
+void nclose(SCRN *t);
 
 /* int cpos(SCRN *t,int x,int y);
  *
  * Set cursor position
  */
-int cpos PARAMS((register SCRN *t, register int x, register int y));
+int cpos(register SCRN *t, register int x, register int y);
 
 /* int attr(SCRN *t,int a);
  *
  * Set attributes
  */
-int set_attr PARAMS((SCRN *t, int c));
+int set_attr(SCRN *t, int c);
 
 /* Encode character as utf8 */
-void utf8_putc PARAMS((int c));
+void utf8_putc(int c);
 
 /* void outatr(SCRN *t,int *scrn,int *attr,int x,int y,int c,int a);
  *
@@ -111,19 +111,20 @@ void utf8_putc PARAMS((int c));
 
 #define HAS_COMBINING 0x200000
 
-void outatr PARAMS((struct charmap *map,SCRN *t,int *scrn,int *attrf,int xx,int yy,int c,int a));
+void outatr(struct charmap *map,SCRN *t,int *scrn,int *attrf,int xx,int yy,int c,int a);
+void outatr_help(SCRN *,int *,int *,int,int,int,int);
 
 /*
  * translate character and its attribute into something printable
  */
-void xlat PARAMS((int *attr, unsigned char *c));
-void xlat_utf_ctrl PARAMS((int *attr, unsigned char *c));
+void xlat(int *attr, unsigned char *c);
+void xlat_utf_ctrl(int *attr, unsigned char *c);
 
 /* int eraeol(SCRN *t,int x,int y);
  *
  * Erase from screen coordinate to end of line.
  */
-int eraeol PARAMS((SCRN *t, int x, int y));
+int eraeol(SCRN *t, int x, int y);
 
 /* void nscrlup(SCRN *t,int top,int bot,int amnt);
  *
@@ -131,7 +132,7 @@ int eraeol PARAMS((SCRN *t, int x, int y));
  * indicate which lines to scroll.  'bot' is the last line to scroll + 1.
  * 'amnt' is distance in lines to scroll.
  */
-void nscrlup PARAMS((SCRN *t, int top, int bot, int amnt));
+void nscrlup(SCRN *t, int top, int bot, int amnt);
 
 /* void nscrldn(SCRN *t,int top,int bot,int amnt);
  *
@@ -139,37 +140,37 @@ void nscrlup PARAMS((SCRN *t, int top, int bot, int amnt));
  * indicate which lines to scroll.  'bot' is the last line to scroll + 1.
  * 'amnt' is distance in lines to scroll.
  */
-void nscrldn PARAMS((SCRN *t, int top, int bot, int amnt));
+void nscrldn(SCRN *t, int top, int bot, int amnt);
 
 /* void nscroll(SCRN *t);
  *
  * Execute buffered scroll requests
  */
-void nscroll PARAMS((SCRN *t));
+void nscroll(SCRN *t);
 
 /* void magic(SCRN *t,int y,int *cur,int *new);
  *
  * Figure out and execute line shifting
  */
-void magic PARAMS((SCRN *t, int y, int *cs, int *ca, int *s, int *a,int placex));
+void magic(SCRN *t, int y, int *cs, int *ca, int *s, int *a,int placex);
 
-int clrins PARAMS((SCRN *t));
+int clrins(SCRN *t);
 
-int meta_color PARAMS((unsigned char *s));
+int meta_color(unsigned char *s);
 
 /* Generate a field */
-void genfield PARAMS((SCRN *t,int *scrn,int *attr,int x,int y,int ofst,unsigned char *s,int len,int atr,int width,int flg,int *fmt));
+void genfield(SCRN *t,int *scrn,int *attr,int x,int y,int ofst,unsigned char *s,int len,int atr,int width,int flg,int *fmt);
 
 /* Column width of a string takes into account utf-8) */
-int txtwidth PARAMS((unsigned char *s,int len));
+int txtwidth(unsigned char *s,int len);
 
 /* Generate a field: formatted */
-void genfmt PARAMS((SCRN *t, int x, int y, int ofst, const unsigned char *s, int flg));
+void genfmt(SCRN *t, int x, int y, int ofst, const unsigned char *s, int flg);
 
 /* Column width of formatted string */
-int fmtlen PARAMS((const unsigned char *s));
+int fmtlen(const unsigned char *s);
 
 /* Offset within formatted string of particular column */
-int fmtpos PARAMS((unsigned char *s, int goal));
+int fmtpos(unsigned char *s, int goal);
 
 #endif
index bd56e7b..8617cf5 100644 (file)
--- a/selinux.c
+++ b/selinux.c
@@ -1,6 +1,6 @@
 #include "config.h"
 
-__RCSID("$MirOS: contrib/code/jupp/selinux.c,v 1.10 2017/12/04 21:46:21 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/selinux.c,v 1.11 2017/12/06 23:02:05 tg Exp $");
 
 #if defined(HAVE_SELINUX_CONTEXT_H) && defined(HAVE_SELINUX_SELINUX_H) && \
     defined(HAVE_SELINUX_FUN)
@@ -9,10 +9,8 @@ __RCSID("$MirOS: contrib/code/jupp/selinux.c,v 1.10 2017/12/04 21:46:21 tg Exp $
 #undef WITH_SELINUX
 #endif
 
-/*
- * Example code to show how to copy the security context from one file to
- * another.
- */
+#include "utils.h"
+
 #ifdef WITH_SELINUX
 #include <selinux/selinux.h>
 static int selinux_enabled = -1;
@@ -70,92 +68,3 @@ copy_security_context(const char *from_file, const char *to_file)
 #endif
        return status;
 }
-
-int
-match_default_security_context(const char *from_file)
-{
-#ifdef WITH_SELINUX
-       security_context_t scontext;
-
-       if (selinux_enabled == -1)
-               selinux_enabled = (is_selinux_enabled() > 0);
-
-       if (!selinux_enabled)
-               return 0;
-
-       if (getfilecon(from_file, &scontext) < 0) {
-               /*
-                * If the filesystem doesn't support extended
-                * attributes, the original had no special security
-                * context and the target cannot have one either.
-                */
-               if (errno == EOPNOTSUPP)
-                       return 0;
-
-               warn("Could not get security context for %s",
-                     from_file);
-               return 1;
-       }
-
-       if (setfscreatecon(scontext) < 0) {
-               warn(
-                     "Could not set default security context for %s",
-                     from_file);
-               freecon(scontext);
-               return 1;
-       }
-       freecon(scontext);
-#endif
-       return 0;
-}
-
-
-int
-reset_default_security_context(void)
-{
-#ifdef WITH_SELINUX
-       if (selinux_enabled == -1)
-               selinux_enabled = (is_selinux_enabled() > 0);
-
-       if (!selinux_enabled)
-               return 0;
-
-       if (setfscreatecon(0) < 0) {
-               warn("Could not reset default security context");
-               return 1;
-       }
-#endif
-       return 0;
-}
-
-
-int
-output_security_context(char *from_file)
-{
-#ifdef WITH_SELINUX
-       security_context_t scontext;
-
-       if (selinux_enabled == -1)
-               selinux_enabled = (is_selinux_enabled() > 0);
-       if (!selinux_enabled)
-               return 0;
-
-       if (getfilecon(from_file, &scontext) < 0) {
-               /*
-                * If the filesystem doesn't support extended
-                * attributes, the original had no special security
-                * context and the target cannot have one either.
-                */
-               if (errno == EOPNOTSUPP)
-                       return 0;
-
-               warn("Could not get security context for %s",
-                     from_file);
-               return 1;
-       }
-
-       fprintf(stderr, "%s Security Context %s", from_file, scontext);
-       freecon(scontext);
-#endif
-       return 0;
-}
diff --git a/tab.c b/tab.c
index 085bb3a..0bcac2a 100644 (file)
--- a/tab.c
+++ b/tab.c
@@ -8,18 +8,16 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/tab.c,v 1.7 2017/12/02 02:07:32 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/tab.c,v 1.10 2017/12/06 23:02:05 tg Exp $");
 
-#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
-#endif
-
 #include <stdlib.h>
 
 #include "b.h"
 #include "blocks.h"
 #include "menu.h"
 #include "path.h"
+#include "tab.h"
 #include "tty.h"
 #include "utils.h"
 #include "va.h"
@@ -209,7 +207,7 @@ static int tabrtn(MENU *m, int cursor, TAB *tab)
                vsrm(e);
                tab->pattern = vsncpy(NULL, 0, sc("*"));
                if (!treload(m->object, m, m->parent->win->object, 0, NULL)) {
-                       msgnw(m->parent, US "Couldn't read directory ");
+                       msgnw(m->parent, UC "Couldn't read directory ");
                        vsrm(tab->pattern);
                        tab->pattern = orgpattern;
                        vsrm(tab->path);
@@ -268,7 +266,7 @@ static int tabbacks(MENU *m, int cursor, TAB *tab)
        tab->pattern = vsncpy(NULL, 0, sc("*"));
 
        if (!treload(m->object, m, m->parent->win->object, 1, NULL)) {
-               msgnw(m->parent, US "Couldn't read directory ");
+               msgnw(m->parent, UC "Couldn't read directory ");
                vsrm(tab->pattern);
                tab->pattern = orgpattern;
                vsrm(tab->path);
diff --git a/tab.h b/tab.h
index 3ea934b..b661271 100644 (file)
--- a/tab.h
+++ b/tab.h
@@ -9,9 +9,9 @@
 #define _JOE_TAB_H 1
 
 #ifdef EXTERN_UFILE_C
-__IDSTRING(rcsid_tab_h, "$MirOS: contrib/code/jupp/tab.h,v 1.4 2017/12/02 17:00:50 tg Exp $");
+__IDSTRING(rcsid_tab_h, "$MirOS: contrib/code/jupp/tab.h,v 1.5 2017/12/06 21:17:00 tg Exp $");
 #endif
 
-int cmplt PARAMS((BW *bw));
+int cmplt(BW *bw);
 
 #endif
index c11e0a0..f97d6d0 100644 (file)
--- a/termcap.c
+++ b/termcap.c
@@ -8,14 +8,10 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/termcap.c,v 1.18 2017/12/06 16:37:40 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/termcap.c,v 1.19 2017/12/06 21:17:00 tg Exp $");
 
-#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include "blocks.h"
 #include "path.h"
index be295d9..d914d68 100644 (file)
--- a/termcap.h
+++ b/termcap.h
@@ -9,7 +9,7 @@
 #define _JOE_TERMCAP_H 1
  
 #ifdef EXTERN
-__IDSTRING(rcsid_termcap_h, "$MirOS: contrib/code/jupp/termcap.h,v 1.6 2017/12/02 17:00:50 tg Exp $");
+__IDSTRING(rcsid_termcap_h, "$MirOS: contrib/code/jupp/termcap.h,v 1.7 2017/12/06 21:17:00 tg Exp $");
 #endif
 
 /* CAP *getcap(char *s,int baud,void (*out)(void *outptr,char c),void *outptr);
@@ -49,13 +49,13 @@ __IDSTRING(rcsid_termcap_h, "$MirOS: contrib/code/jupp/termcap.h,v 1.6 2017/12/0
  * done for self-refering 'tc=filename' links (so all of core will be
  * allocated if there are any).
  */
-CAP *getcap PARAMS((unsigned char *name, unsigned int baudrate, void (*out) (unsigned char *, unsigned char), void *outptr));
+CAP *getcap(unsigned char *name, unsigned int baudrate, void (*out) (unsigned char *, unsigned char), void *outptr);
 
 /* CAP *setcap(CAP *cap,int baud,void (*out)(void *outptr,char c),void *outptr);
  *
  * Reset baud, out and outptr for a CAP
  */
-CAP *setcap PARAMS((CAP *cap, unsigned int baudrate, void (*out) (unsigned char *, unsigned char), void *outptr));
+CAP *setcap(CAP *cap, unsigned int baudrate, void (*out) (unsigned char *, unsigned char), void *outptr);
 
 /* char *jgetstr(CAP *cap,char *name);
  *
@@ -64,27 +64,27 @@ CAP *setcap PARAMS((CAP *cap, unsigned int baudrate, void (*out) (unsigned char
  * the buffer used to load the termcap entry.  It should not be modified or
  * freed.
  */
-unsigned char *jgetstr PARAMS((CAP *cap, unsigned char *name));
+unsigned char *jgetstr(CAP *cap, unsigned char *name);
 
 /* int getflag(CAP *cap,char *name);
  *
  * Return true if the named capability is found in 'cap'.  A fast binary
  * search is used to lookup the capability.
  */
-int getflag PARAMS((CAP *cap, unsigned char *name));
+int getflag(CAP *cap, unsigned char *name);
 
 /* int getnum(CAP *cap,char *name);
  *
  * Return value of numeric capability or return -1 if it's not found.  A fast
  * binary search is used to lookup the capability.
  */
-int getnum PARAMS((CAP *cap, unsigned char *name));
+int getnum(CAP *cap, unsigned char *name);
 
 /* void rmcap(CAP *cap);
  *
  * Eliminate a CAP entry.
  */
-void rmcap PARAMS((CAP *cap));
+void rmcap(CAP *cap);
 
 /* void texec(CAP *cap,char *str,int l,int a0,int a1,int a2,int a3);
 
@@ -102,7 +102,7 @@ void rmcap PARAMS((CAP *cap));
 
    'a0' - 'a1' are the arguments for the string
 */
-void texec PARAMS((CAP *cap, unsigned char *s, int l, int a0, int a1, int a2, int a3));
+void texec(CAP *cap, unsigned char *s, int l, int a0, int a1, int a2, int a3);
 
 /* int tcost(CAP *cap,char *str, int l, int a0, int a1, int a2, int a3);
    Return cost in number of characters which need to be sent
@@ -120,7 +120,7 @@ void texec PARAMS((CAP *cap, unsigned char *s, int l, int a0, int a1, int a2, in
 
    'a0' - 'a3' are arguements passed to the string
 */
-int tcost PARAMS((CAP *cap, unsigned char *s, int l, int a0, int a1, int a2, int a3));
+int tcost(CAP *cap, unsigned char *s, int l, int a0, int a1, int a2, int a3);
 
 /* char *tcompile(CAP *cap,char *str,int a0,int a1,int a2,int a3);
 
@@ -128,13 +128,13 @@ int tcost PARAMS((CAP *cap, unsigned char *s, int l, int a0, int a1, int a2, int
    string (see vs.h) containing the compiled string capability.
    Pad characters are not placed in the string.
 */
-unsigned char *tcompile PARAMS((CAP *cap, unsigned char *s, int a0, int a1, int a2, int a3));
-
-int tgetent PARAMS((char *, const char *));
-int tgetflag PARAMS((char *));
-int tgetnum PARAMS((char *));
-int tputs PARAMS((const char *, int, int (*)(int)));
-char *tgetstr PARAMS((char *, char **));
-char *tgoto PARAMS((const char *, int, int));
+unsigned char *tcompile(CAP *cap, unsigned char *s, int a0, int a1, int a2, int a3);
+
+int tgetent(char *, const char *);
+int tgetflag(char *);
+int tgetnum(char *);
+int tputs(const char *, int, int (*)(int));
+char *tgetstr(char *, char **);
+char *tgoto(const char *, int, int);
 
 #endif
diff --git a/tty.c b/tty.c
index 6bf5bc4..df7e3cb 100644 (file)
--- a/tty.c
+++ b/tty.c
@@ -8,23 +8,15 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/tty.c,v 1.30 2017/12/02 02:07:33 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/tty.c,v 1.32 2017/12/06 23:02:05 tg Exp $");
 
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <fcntl.h>
 
 #include <errno.h>
 #include <string.h>
@@ -724,7 +716,7 @@ void ttgtsz(int *x, int *y)
 /* void ttshell(char *s);  Run a shell command or if 's' is zero, run a
  * sub-shell
  */
-static void ttshell PARAMS((unsigned char *cmd));
+static void ttshell(unsigned char *cmd);
 static const char shmsg[] =
     "You are at the command shell.  Type 'exit' to return\n";
 
@@ -1039,7 +1031,10 @@ static unsigned char **newenv(unsigned char **old, unsigned char *s)
 
 /* Create a shell process */
 
-MPX *mpxmk(int *ptyfd, const unsigned char *cmd, unsigned char **args, void (*func) (/* ??? */), void *object, void (*die) (/* ??? */), void *dieobj)
+MPX *
+mpxmk(int *ptyfd, const unsigned char *cmd, unsigned char **args,
+    void (*func)(B*, unsigned char *, int), void *object,
+    void (*die)(B*), void *dieobj)
 {
        unsigned char buf[80];
        int fds[2];
diff --git a/tty.h b/tty.h
index 6909527..bc232c7 100644 (file)
--- a/tty.h
+++ b/tty.h
@@ -9,7 +9,7 @@
 #define _JOE_TTY_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_tty_h, "$MirOS: contrib/code/jupp/tty.h,v 1.11 2017/12/04 22:15:39 tg Exp $");
+__IDSTRING(rcsid_tty_h, "$MirOS: contrib/code/jupp/tty.h,v 1.13 2017/12/06 23:02:05 tg Exp $");
 #endif
 
 /* void ttopen(void);  Open the tty (attached to stdin) for use inside of JOE
@@ -46,8 +46,8 @@ __IDSTRING(rcsid_tty_h, "$MirOS: contrib/code/jupp/tty.h,v 1.11 2017/12/04 22:15
  *     baud) and 'TIMES'==3, the output buffer size is set to 333 characters.
  *     Each time this buffer is completely flushed, 1/3 of a second will go by.
  */
-void ttopen PARAMS((void));
-void ttopnn PARAMS((void));
+void ttopen(void);
+void ttopnn(void);
 extern unsigned long upc;
 extern unsigned baud;
 
@@ -64,8 +64,8 @@ extern unsigned baud;
  * (3) Call signrm().  There is also 'void ttyclsn(void)' which does not do
  *     the this step.
  */
-void ttclose PARAMS((void));
-void ttclsn PARAMS((void));
+void ttclose(void);
+void ttclsn(void);
 
 /* int ttgetc(void);  Flush the output and get the next character from the tty
  *
@@ -76,7 +76,7 @@ void ttclsn PARAMS((void));
  *
  * (3) Clear 'have'
  */
-int ttgetc PARAMS((void));
+int ttgetc(void);
 
 /* void ttputc(char c);  Write a character to the output buffer.  If it becomes
  * full, call ttflsh()
@@ -90,12 +90,12 @@ extern unsigned char *obuf;
 /* void ttputs(char *s);  Write a string to the output buffer.  Any time the
  * output buffer gets full, call ttflsh()
  */
-void ttputs PARAMS((unsigned char *s));
+void ttputs(unsigned char *s);
 
 /* void ttsusp(void);  Suspend the process, or if the UNIX can't do it, call
  * ttshell(NULL)
  */
-void ttsusp PARAMS((void));
+void ttsusp(void);
 
 /* int ttflsh(void);  Flush the output buffer and check for typeahead.
  *
@@ -125,7 +125,7 @@ void ttsusp PARAMS((void));
  *     ttflsh gets called.  'leave' should also be set before shell escapes and
  *     suspends.
  */
-int ttflsh PARAMS((void));
+int ttflsh(void);
 
 extern int have;
 extern int leave;
@@ -135,11 +135,11 @@ extern int leave;
  * It is called with 'n' set to the number of the caught signal or 0 if the
  * input closed.
  */
-RETSIGTYPE ttsig PARAMS((int sig)) __attribute__((__noreturn__));
+RETSIGTYPE ttsig(int sig)__attribute__((__noreturn__));
 
 /* void ttgtsz(int *x,int *y);  Get size of screen from ttsize/winsize
  * structure */
-void ttgtsz PARAMS((int *x, int *y));
+void ttgtsz(int *x, int *y);
 
 /* You don't have to call these: ttopen/ttclose does it for you.  These
  * may be needed to make your own shell escape sequences.
@@ -150,11 +150,11 @@ void ttgtsz PARAMS((int *x, int *y));
  * and trap the software terminate and hangup signals (SIGTERM, SIGHUP) so
  * that 'ttsig' gets called.
  */
-void sigjoe PARAMS((void));
+void sigjoe(void);
 
 /* void signrm(int inchild);  Set above signals back to their default values.
  */
-void signrm PARAMS((int));
+void signrm(int);
 
 /* MPX *mpxmk(int fd,int pid,
  *             void (*func)(),void *object,
@@ -168,18 +168,13 @@ void signrm PARAMS((int));
  *   Function to call when process dies in 'die'
  *   The first arg passed to func and die is object and dieobj
  */
-MPX *mpxmk PARAMS((int *ptyfd, const unsigned char *cmd, unsigned char **args, void (*func) (/* ??? */), void *object, void (*die) (/* ??? */), void *dieobj));
+MPX *mpxmk(int *ptyfd, const unsigned char *cmd, unsigned char **args, void (*func)(B*, unsigned char *, int), void *object, void (*die)(B*), void *dieobj);
 
-/* int subshell(int *ptyfd);
- * Execute a subshell.  Returns 'pid' of shell or zero if there was a
- * problem.  Returns file descriptor for the connected pty in 'ptyfd'.
- */
-int subshell PARAMS(());
 
 extern int noxon;
 extern int Baud;
 
-void tickoff PARAMS((void));
-void tickon PARAMS((void));
+void tickoff(void);
+void tickon(void);
 
 #endif
diff --git a/tw.c b/tw.c
index b12cf3d..d11dbb2 100644 (file)
--- a/tw.c
+++ b/tw.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/tw.c,v 1.13 2017/12/02 02:07:33 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/tw.c,v 1.14 2017/12/06 23:02:05 tg Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -33,6 +33,7 @@ __RCSID("$MirOS: contrib/code/jupp/tw.c,v 1.13 2017/12/02 02:07:33 tg Exp $");
 #include "vs.h"
 #include "syntax.h"
 #include "charmap.h"
+#include "tw.h"
 #include "w.h"
 
 #if !HAVE_DECL_CTIME
@@ -98,7 +99,8 @@ static void resizetw(BW *bw, int wi, int he)
  *
  */
 
-unsigned char *get_context(BW *bw)
+static unsigned char *
+get_context(BW *bw)
 {
        P *p = pdup(bw->cursor);
        static unsigned char buf1[stdsiz];
diff --git a/tw.h b/tw.h
index 9da4f3e..d383657 100644 (file)
--- a/tw.h
+++ b/tw.h
@@ -9,21 +9,21 @@
 #define _JOE_TW_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_tw_h, "$MirOS: contrib/code/jupp/tw.h,v 1.5 2017/12/02 17:00:50 tg Exp $");
+__IDSTRING(rcsid_tw_h, "$MirOS: contrib/code/jupp/tw.h,v 1.6 2017/12/06 21:17:01 tg Exp $");
 #endif
 
-BW *wmktw PARAMS((SCREEN *t, B *b));
+BW *wmktw(SCREEN *t, B *b);
 
-int usplitw PARAMS((BW *bw));
-int uduptw PARAMS((BW *bw));
-int utw0 PARAMS((BASE *b));
-int utw1 PARAMS((BASE *b));
-int uabortbuf PARAMS((BW *bw));
-int ucancel PARAMS((BW *bw, int k));
-int uabort PARAMS((BW *bw, int k));
-int uabort1 PARAMS((BW *bw, int k));
-void setline PARAMS((B *b, long int line));
-int abortit PARAMS((BW *bw));
+int usplitw(BW *bw);
+int uduptw(BW *bw);
+int utw0(BASE *b);
+int utw1(BASE *b);
+int uabortbuf(BW *bw);
+int ucancel(BW *bw, int k);
+int uabort(BW *bw, int k);
+int uabort1(BW *bw, int k);
+void setline(B *b, long int line);
+int abortit(BW *bw);
 extern int staen;
 
 extern WATOM watomtw;
diff --git a/types.h b/types.h
index 856dd51..98d8242 100644 (file)
--- a/types.h
+++ b/types.h
@@ -2,7 +2,7 @@
 #define _JOE_TYPES_H
 
 #ifdef EXTERN
-__IDSTRING(rcsid_types_h, "$MirOS: contrib/code/jupp/types.h,v 1.19 2017/12/04 22:15:39 tg Exp $");
+__IDSTRING(rcsid_types_h, "$MirOS: contrib/code/jupp/types.h,v 1.21 2017/12/06 23:02:06 tg Exp $");
 #endif
 
 /* Prefix to make string constants unsigned */
@@ -24,6 +24,14 @@ __IDSTRING(rcsid_types_h, "$MirOS: contrib/code/jupp/types.h,v 1.19 2017/12/04 2
 #define TYPEMENU       0x0800
 #define TYPEQW         0x1000
 
+/* polymorph function pointers, which do not use compiler type checking */
+#if 1
+typedef int jpoly_int();
+typedef void jpoly_void();
+#else
+/* same content as above, but system header */
+#include <jupp.tmp.h>
+#endif
 
 typedef struct header H;
 typedef struct buffer B;
@@ -31,7 +39,7 @@ typedef struct point P;
 typedef struct options OPTIONS;
 typedef struct macro MACRO;
 typedef struct cmd CMD;
-typedef struct entry HENTRY;
+typedef struct hentry HENTRY;
 typedef struct hash HASH;
 typedef struct kmap KMAP;
 typedef struct kbd KBD;
@@ -141,12 +149,12 @@ struct recmac {
 /* Command entry */
 
 struct cmd {
-       unsigned char   *name;          /* Command name */
-       int     flag;           /* Execution flags */
-       int     (*func) ();     /* Function bound to name */
+       const unsigned char *name;      /* Command name */
+       const unsigned char *negarg;    /* Command to use if arg was negative */
+       jpoly_int *func;        /* Function bound to name */
        MACRO   *m;             /* Macro bound to name */
+       int     flag;           /* Execution flags */
        int     arg;            /* 0= arg is meaningless, 1= ok */
-       unsigned char   *negarg;        /* Command to use if arg was negative */
 };
 
 
@@ -175,8 +183,8 @@ struct buffer {
 };
 
 
-struct entry {
-       unsigned char   *name;
+struct hentry {
+       const unsigned char *name;
        HENTRY  *next;
        void    *val;
 };
@@ -219,16 +227,16 @@ struct kbd {
 
 
 struct watom {
-       unsigned char   *context;       /* Context name */
-       void    (*disp) ();     /* Display window */
-       void    (*follow) ();   /* Called to have window follow cursor */
-       int     (*abort) ();    /* Common user functions */
-       int     (*rtn) ();
-       int     (*type) ();
-       void    (*resize) ();   /* Called when window changed size */
-       void    (*move) ();     /* Called when window moved */
-       void    (*ins) ();      /* Called on line insertions */
-       void    (*del) ();      /* Called on line deletions */
+       unsigned char *context; /* Context name */
+       jpoly_void *disp;       /* Display window */
+       jpoly_void *follow;     /* Called to have window follow cursor */
+       jpoly_int *abort;       /* Common user functions */
+       jpoly_int *rtn;         
+       jpoly_int *type;        
+       jpoly_void *resize;     /* Called when window changed size */
+       jpoly_void *move;       /* Called when window moved */
+       jpoly_void *ins;        /* Called on line insertions */
+       jpoly_void *del;        /* Called on line deletions */
        int     what;           /* Type of this thing */
 };
 
@@ -323,13 +331,13 @@ struct menu {
        int     saved_co;       /* Saved #columns of screen */
        SCREEN  *t;             /* Screen we're on */
        int     h, w, x, y;
-       int     (*abrt) ();     /* Abort callback function */
-       int     (*func) ();     /* Return callback function */
-       int     (*backs) ();    /* Backspace callback function */
+       jpoly_int *abrt;        /* Abort callback function */
+       jpoly_int *func;        /* Return callback function */
+       jpoly_int *backs;       /* Backspace callback function */
        void    *object;
 };
 
-struct hentry {
+struct s_hentry {
        int     next;
        int     loc;
 };
@@ -442,8 +450,8 @@ struct scrn {
 
        int     *compose;       /* Line compose buffer */
        int     *ofst;          /* stuff for magic */
-       struct hentry   *htab;
-       struct hentry   *ary;
+       struct s_hentry *htab;
+       struct s_hentry *ary;
 };
 
 
@@ -474,10 +482,10 @@ struct cap {
 
 
 struct pw {
-       int     (*pfunc) ();    /* Func which gets called when RTN is hit */
-       int     (*abrt) ();     /* Func which gets called when window is aborted */
-       int     (*tab) ();      /* Func which gets called when TAB is hit */
-       unsigned char   *prompt;        /* Prompt string */
+       jpoly_int *pfunc;       /* Func which gets called when RTN is hit */
+       jpoly_int *abrt;        /* Func which gets called when window is aborted */
+       jpoly_int *tab;         /* Func which gets called when TAB is hit */
+       unsigned char *prompt;  /* Prompt string */
        int     promptlen;      /* Width of prompt string */
        int     promptofst;     /* Prompt scroll offset */
        B       *hist;          /* History buffer */
@@ -490,8 +498,8 @@ struct stditem {
 
 struct query {
        W       *parent;        /* Window we're in */
-       int     (*func) ();     /* Func. which gets called when key is hit */
-       int     (*abrt) ();
+       jpoly_int *func;        /* Func. which gets called when key is hit */
+       jpoly_int *abrt;
        void    *object;
        unsigned char   *prompt;        /* Prompt string */
        int     promptlen;      /* Width of prompt string */
@@ -504,9 +512,9 @@ struct mpx {
        int     ackfd;          /* Packetizer response descriptor */
        int     kpid;           /* Packetizer process id */
        int     pid;            /* Client process id */
-       void    (*func) ();     /* Function to call when read occures */
+       jpoly_void *func;       /* Function to call when read occures */
        void    *object;        /* First arg to pass to function */
-       void    (*die) ();      /* Function: call when client dies or closes */
+       jpoly_void *die;        /* Function: call when client dies or closes */
        void    *dieobj;
 };
 
index 17dfbf4..9ab9050 100644 (file)
--- a/ublock.c
+++ b/ublock.c
@@ -8,16 +8,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/ublock.c,v 1.20 2017/12/04 22:15:39 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/ublock.c,v 1.23 2017/12/06 23:02:06 tg Exp $");
 
-#include <unistd.h>
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
 #include <sys/wait.h>
-#endif
 #include <limits.h>
+#include <stdlib.h>
+#include <unistd.h>
 
 #include "b.h"
 #include "pw.h"
@@ -304,7 +300,7 @@ int utoggle_marking(BW *bw)
                prm(markk); markk=0;
                updall();
                marking = 0;
-               msgnw(bw->parent, US "Selection cleared.");
+               msgnw(bw->parent, UC "Selection cleared.");
                return 0;
        } else if (markk) {
                /* Clear selection and start new one */
@@ -312,7 +308,7 @@ int utoggle_marking(BW *bw)
                prm(markk); markk=0;
                updall();
                marking = 1;
-               msgnw(bw->parent, US "Selection started.");
+               msgnw(bw->parent, UC "Selection started.");
                return umarkb(bw);
        } else if (markb && markb->b==bw->cursor->b) {
                marking = 0;
@@ -329,7 +325,7 @@ int utoggle_marking(BW *bw)
                return 0;
        } else {
                marking = 1;
-               msgnw(bw->parent, US "Selection started.");
+               msgnw(bw->parent, UC "Selection started.");
                return umarkb(bw);
        }
 }
@@ -436,7 +432,7 @@ int ublkdel(BW *bw)
                if (lightoff)
                        unmark(bw);
        } else {
-               msgnw(bw->parent, US "No block");
+               msgnw(bw->parent, UC "No block");
                return -1;
        }
        return 0;
@@ -473,7 +469,7 @@ int ublkmove(BW *bw)
 {
        if (markv(1)) {
                if (markb->b->rdonly) {
-                       msgnw(bw->parent, US "Read only");
+                       msgnw(bw->parent, UC "Read only");
                        return -1;
                }
                if (square) {
@@ -524,7 +520,7 @@ int ublkmove(BW *bw)
                        return 0;
                }
        }
-       msgnw(bw->parent, US "No block");
+       msgnw(bw->parent, UC "No block");
        return -1;
 }
 
@@ -580,7 +576,7 @@ int ublkcpy(BW *bw)
                        return 0;
                }
        } else {
-               msgnw(bw->parent, US "No block");
+               msgnw(bw->parent, UC "No block");
                return -1;
        }
 }
@@ -624,7 +620,7 @@ int dowrite(BW *bw, unsigned char *s, void *object, int *notify)
                }
        } else {
                vsrm(s);
-               msgnw(bw->parent, US "No block");
+               msgnw(bw->parent, UC "No block");
                return -1;
        }
 }
@@ -677,7 +673,8 @@ void setindent(BW *bw)
 /* Verifies that at least n indentation characters (for non-blank lines) match c */
 /* If n is 0 (for urindent), this fails if c is space but indentation begins with tab */
 
-int purity_check(int c, int n)
+static int
+purity_check(int c, int n)
 {
        P *p = pdup(markb);
        while (p->byte < markk->byte) {
@@ -701,7 +698,8 @@ int purity_check(int c, int n)
 /* Left indent check */
 /* Verify that there is enough whitespace to do the left indent */
 
-int lindent_check(int c, int n)
+static int
+lindent_check(int c, int n)
 {
        P *p = pdup(markb);
        int indwid;
@@ -777,7 +775,7 @@ int urindent(BW *bw)
                        prm(p);
                } else {
                        /* Purity failure */
-                       msgnw(bw->parent,US "Selected lines not properly indented");
+                       msgnw(bw->parent,UC "Selected lines not properly indented");
                        return 1;
                }
        }
@@ -860,7 +858,7 @@ int ulindent(BW *bw)
                        prm(q);
                } else {
                        /* Purity failure */
-                       msgnw(bw->parent,US "Selected lines not properly indented");
+                       msgnw(bw->parent, UC "Selected lines not properly indented");
                        return 1;
                }
        }
@@ -908,7 +906,7 @@ int doinsf(BW *bw, unsigned char *s, void *object, int *notify)
                        updall();
                        return 0;
                } else {
-                       msgnw(bw->parent, US "No block");
+                       msgnw(bw->parent, UC "No block");
                        return -1;
        } else {
                int ret = 0;
@@ -970,19 +968,19 @@ static int dofilt(BW *bw, unsigned char *s, void *object, int *notify)
                flg = 1;
                goto ok;
        } if (!markv(1)) {
-               msgnw(bw->parent, US "No block");
+               msgnw(bw->parent, UC "No block");
                return -1;
        }
       ok:
 
        if (pipe(fr)) {
-               msgnw(bw->parent, US "Pipe error");
+               msgnw(bw->parent, UC "Pipe error");
                return (-1);
        }
        if ((tf = mktmp(NULL, &fw)) == NULL) {
                close(fr[0]);
                close(fr[1]);
-               msgnw(bw->parent, US "Cannot create temporary file");
+               msgnw(bw->parent, UC "Cannot create temporary file");
                return (-1);
        }
        unlink((char *)tf);
@@ -1129,7 +1127,7 @@ int ufilt(BW *bw)
                        return -1;
        case 2:
        default:
-               msgnw(bw->parent, US "No block");
+               msgnw(bw->parent, UC "No block");
                return -1;
        }
 }
index 351ab4b..84ecf54 100644 (file)
--- a/ublock.h
+++ b/ublock.h
@@ -9,45 +9,45 @@
 #define _JOE_UBLOCK_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_ublock_h, "$MirOS: contrib/code/jupp/ublock.h,v 1.4 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_ublock_h, "$MirOS: contrib/code/jupp/ublock.h,v 1.5 2017/12/06 21:17:01 tg Exp $");
 #endif
 
 extern int square;
 extern int lightoff;
 extern P *markb, *markk;
 
-void pinsrect PARAMS((P *cur, B *tmp, long int width, int usetabs));
-int ptabrect PARAMS((P *org, long int height, long int right));
-void pclrrect PARAMS((P *org, long int height, long int right, int usetabs));
-void pdelrect PARAMS((P *org, long int height, long int right));
-B *pextrect PARAMS((P *org, long int height, long int right));
-int markv PARAMS((int r));
-int umarkb PARAMS((BW *bw));
-int umarkk PARAMS((BW *bw));
-int uswap PARAMS((BW *bw));
-int umarkl PARAMS((BW *bw));
-int utomarkb PARAMS((BW *bw));
-int utomarkk PARAMS((BW *bw));
-int utomarkbk PARAMS((BW *bw));
-int ublkdel PARAMS((BW *bw));
-int upicokill PARAMS((BW *bw));
-int ublkmove PARAMS((BW *bw));
-int ublkcpy PARAMS((BW *bw));
-int dowrite PARAMS((BW *bw, unsigned char *s, void *object, int *notify));
-int doinsf PARAMS((BW *bw, unsigned char *s, void *object, int *notify));
-void setindent PARAMS((BW *bw));
-int urindent PARAMS((BW *bw));
-int ulindent PARAMS((BW *bw));
-int ufilt PARAMS((BW *bw));
-int unmark PARAMS((BW *bw));
-int udrop PARAMS((BW *bw));
-int utoggle_marking PARAMS((BW *bw));
-int ubegin_marking PARAMS((BW *bw));
-int uselect PARAMS((BW *bw));
-int upsh PARAMS((BW *bw));
-int upop PARAMS((BW *bw));
-int ulower PARAMS((BW *bw));
-int uupper PARAMS((BW *bw));
+void pinsrect(P *cur, B *tmp, long int width, int usetabs);
+int ptabrect(P *org, long int height, long int right);
+void pclrrect(P *org, long int height, long int right, int usetabs);
+void pdelrect(P *org, long int height, long int right);
+B *pextrect(P *org, long int height, long int right);
+int markv(int r);
+int umarkb(BW *bw);
+int umarkk(BW *bw);
+int uswap(BW *bw);
+int umarkl(BW *bw);
+int utomarkb(BW *bw);
+int utomarkk(BW *bw);
+int utomarkbk(BW *bw);
+int ublkdel(BW *bw);
+int upicokill(BW *bw);
+int ublkmove(BW *bw);
+int ublkcpy(BW *bw);
+int dowrite(BW *bw, unsigned char *s, void *object, int *notify);
+int doinsf(BW *bw, unsigned char *s, void *object, int *notify);
+void setindent(BW *bw);
+int urindent(BW *bw);
+int ulindent(BW *bw);
+int ufilt(BW *bw);
+int unmark(BW *bw);
+int udrop(BW *bw);
+int utoggle_marking(BW *bw);
+int ubegin_marking(BW *bw);
+int uselect(BW *bw);
+int upsh(BW *bw);
+int upop(BW *bw);
+int ulower(BW *bw);
+int uupper(BW *bw);
 extern int nstack;
 
 #endif
diff --git a/uedit.c b/uedit.c
index 9c5f32f..cd5bb68 100644 (file)
--- a/uedit.c
+++ b/uedit.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/uedit.c,v 1.23 2017/12/04 22:15:40 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/uedit.c,v 1.25 2017/12/06 23:02:06 tg Exp $");
 
 #include <string.h>
 
@@ -24,6 +24,7 @@ __RCSID("$MirOS: contrib/code/jupp/uedit.c,v 1.23 2017/12/04 22:15:40 tg Exp $")
 #include "qw.h"
 #include "scrn.h"
 #include "ublock.h"
+#include "uedit.h"
 #include "uformat.h"
 #include "umath.h"
 #include "utils.h"
@@ -684,7 +685,7 @@ static int doline(BW *bw, unsigned char *s, void *object, int *notify)
                if (merrf)
                        msgnw(bw->parent, merrt);
                else
-                       msgnw(bw->parent, US "Invalid line number");
+                       msgnw(bw->parent, UC "Invalid line number");
                return -1;
        }
 }
@@ -720,7 +721,7 @@ static int docol(BW *bw, unsigned char *s, void *object, int *notify)
                if (merrf)
                        msgnw(bw->parent, merrt);
                else
-                       msgnw(bw->parent, US "Invalid column number");
+                       msgnw(bw->parent, UC "Invalid column number");
                return -1;
        }
 }
@@ -756,7 +757,7 @@ static int dobyte(BW *bw, unsigned char *s, void *object, int *notify)
                if (merrf)
                        msgnw(bw->parent, merrt);
                else
-                       msgnw(bw->parent, US "Invalid byte number");
+                       msgnw(bw->parent, UC "Invalid byte number");
                return -1;
        }
 }
@@ -978,7 +979,8 @@ int uinsc(BW *bw)
 
 /* Move p backwards to first non-blank line and return its indentation */
 
-int find_indent(P *p)
+static int
+find_indent(P *p)
 {
        int x;
        for (x=0; x != 10; ++x) {
@@ -1555,7 +1557,7 @@ static int dofwrdc(BW *bw, int k, void *object, int *notify)
                                break;
        }
        if (c == NO_MORE_DATA) {
-               msgnw(bw->parent, US "Not found");
+               msgnw(bw->parent, UC "Not found");
                prm(q);
                return -1;
        } else {
diff --git a/uedit.h b/uedit.h
index ad54988..d47a0fb 100644 (file)
--- a/uedit.h
+++ b/uedit.h
@@ -9,7 +9,7 @@
 #define _JOE_UEDIT_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_uedit_h, "$MirOS: contrib/code/jupp/uedit.h,v 1.7 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_uedit_h, "$MirOS: contrib/code/jupp/uedit.h,v 1.8 2017/12/06 21:17:02 tg Exp $");
 #endif
 
 extern int pgamnt;
@@ -19,55 +19,55 @@ extern int pgamnt;
  *     return 0 if action was done
  *     return -1 otherwise
  */
-int u_goto_bol PARAMS((BW *bw));       /* move cursor to beginning of line */
-int u_goto_eol PARAMS((BW *bw));       /* move cursor to end of line */
-int u_goto_bof PARAMS((BW *bw));       /* move cursor to beginning of file */
-int u_goto_eof PARAMS((BW *bw));       /* move cursor to end of file */
-int u_goto_left PARAMS((BW *bw));      /* move cursor to left (left arrow) */
-int u_goto_right PARAMS((BW *bw));     /* move cursor to right (right arrow) */
-int u_goto_prev PARAMS((BW *bw));      /* move cursor to prev. word, edge,
-                                          or beginning of line */
-int u_goto_next PARAMS((BW *bw));      /* move cursor to next word, edge,
-                                          or end of line */
+int u_goto_bol(BW *bw);                /* move cursor to beginning of line */
+int u_goto_eol(BW *bw);                /* move cursor to end of line */
+int u_goto_bof(BW *bw);                /* move cursor to beginning of file */
+int u_goto_eof(BW *bw);                /* move cursor to end of file */
+int u_goto_left(BW *bw);       /* move cursor to left (left arrow) */
+int u_goto_right(BW *bw);      /* move cursor to right (right arrow) */
+int u_goto_prev(BW *bw);       /* move cursor to prev. word, edge,
+                                  or beginning of line */
+int u_goto_next(BW *bw);       /* move cursor to next word, edge,
+                                  or end of line */
 
-int utomatch PARAMS((BW *bw));
-int urvmatch PARAMS((BW *bw));
-int uuparw PARAMS((BW *bw));
-int udnarw PARAMS((BW *bw));
-int utos PARAMS((BW *bw));
-int ubos PARAMS((BW *bw));
-void scrup PARAMS((BW *bw, int n, int flg));
-void scrdn PARAMS((BW *bw, int n, int flg));
-int upgup PARAMS((BW *bw));
-int upgdn PARAMS((BW *bw));
-int uupslide PARAMS((BW *bw));
-int udnslide PARAMS((BW *bw));
-int uline PARAMS((BW *bw));
-int udelch PARAMS((BW *bw));
-int ubacks PARAMS((BW *bw, int k));
-int u_word_delete PARAMS((BW *bw));
-int ubackw PARAMS((BW *bw));
-int udelel PARAMS((BW *bw));
-int udelbl PARAMS((BW *bw));
-int udelln PARAMS((BW *bw));
-int uinsc PARAMS((BW *bw));
-int utypebw PARAMS((BW *bw, int k));
-int utypebw_raw PARAMS((BW *bw, int k, int no_decode));
-int uquote PARAMS((BW *bw));
-int uquote8 PARAMS((BW *bw));
-int rtntw PARAMS((BW *bw));
-int uopen PARAMS((BW *bw));
-int usetmark PARAMS((BW *bw, int c));
-int ugomark PARAMS((BW *bw, int c));
-int ufwrdc PARAMS((BW *bw, int k));
-int ubkwdc PARAMS((BW *bw, int k));
-int umsg PARAMS((BASE *b));
-int uctrl PARAMS((BW *bw));
-int unedge PARAMS((BW *bw));
-int upedge PARAMS((BW *bw));
-int ubyte PARAMS((BW *bw));
-int ucol PARAMS((BW *bw));
-int utxt PARAMS((BW *bw));
-int uhome PARAMS((BW *bw));
+int utomatch(BW *bw);
+int urvmatch(BW *bw);
+int uuparw(BW *bw);
+int udnarw(BW *bw);
+int utos(BW *bw);
+int ubos(BW *bw);
+void scrup(BW *bw, int n, int flg);
+void scrdn(BW *bw, int n, int flg);
+int upgup(BW *bw);
+int upgdn(BW *bw);
+int uupslide(BW *bw);
+int udnslide(BW *bw);
+int uline(BW *bw);
+int udelch(BW *bw);
+int ubacks(BW *bw, int k);
+int u_word_delete(BW *bw);
+int ubackw(BW *bw);
+int udelel(BW *bw);
+int udelbl(BW *bw);
+int udelln(BW *bw);
+int uinsc(BW *bw);
+int utypebw(BW *bw, int k);
+int utypebw_raw(BW *bw, int k, int no_decode);
+int uquote(BW *bw);
+int uquote8(BW *bw);
+int rtntw(BW *bw);
+int uopen(BW *bw);
+int usetmark(BW *bw, int c);
+int ugomark(BW *bw, int c);
+int ufwrdc(BW *bw, int k);
+int ubkwdc(BW *bw, int k);
+int umsg(BASE *b);
+int uctrl(BW *bw);
+int unedge(BW *bw);
+int upedge(BW *bw);
+int ubyte(BW *bw);
+int ucol(BW *bw);
+int utxt(BW *bw);
+int uhome(BW *bw);
 
 #endif
index ad55856..e63aec8 100644 (file)
--- a/uerror.c
+++ b/uerror.c
@@ -8,13 +8,14 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/uerror.c,v 1.8 2017/12/04 21:53:34 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/uerror.c,v 1.10 2017/12/06 23:02:07 tg Exp $");
 
 #include "b.h"
 #include "bw.h"
 #include "main.h"
 #include "queue.h"
 #include "tw.h"
+#include "uerror.h"
 #include "ufile.h"
 #include "utils.h"
 #include "vs.h"
@@ -134,10 +135,11 @@ static int parseit(struct charmap *map,unsigned char *s, long int row)
 
        do {
                /* Skip to first word */
-               for (x = y; s[x] && !(joe_isalnux(map,s[x]) || s[x] == '.' || s[x] == '/'); ++x) ;
+               for (x = y; s[x] && !(joe_isalnux(map, s[x]) || s[x] == '.' || s[x] == '/'); ++x)
+                       /* nothing */;
 
                /* Skip to end of first word */
-               for (y = x; joe_isalnux(map,s[y]) || s[y] == '.' || s[y] == '/'; ++y)
+               for (y = x; joe_isalnux(map, s[y]) || s[y] == '.' || s[y] == '/'; ++y)
                        if (s[y] == '.')
                                flg = 1;
        } while (!flg && x!=y);
@@ -215,7 +217,8 @@ static long parserr(B *b)
        return nerrs;
 }
 
-BW *find_a_good_bw(B *b)
+static BW *
+find_a_good_bw(B *b)
 {
        W *w;
        BW *bw = 0;
@@ -275,7 +278,7 @@ int unxterr(BW *bw)
        int omid;
 
        if (errptr->link.next == &errors) {
-               msgnw(bw->parent, US "No more errors");
+               msgnw(bw->parent, UC "No more errors");
                return -1;
        }
        errptr = errptr->link.next;
@@ -300,7 +303,7 @@ int uprverr(BW *bw)
        int omid;
 
        if (errptr->link.prev == &errors) {
-               msgnw(bw->parent, US "No more errors");
+               msgnw(bw->parent, UC "No more errors");
                return -1;
        }
        errptr = errptr->link.prev;
index 0423d1d..d7b3639 100644 (file)
--- a/uerror.h
+++ b/uerror.h
@@ -9,16 +9,16 @@
 #define _JOE_UERROR_H 1
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_uerror_h, "$MirOS: contrib/code/jupp/uerror.h,v 1.4 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_uerror_h, "$MirOS: contrib/code/jupp/uerror.h,v 1.5 2017/12/06 21:17:02 tg Exp $");
 #endif
 
-int unxterr PARAMS((BW *bw));
-int uprverr PARAMS((BW *bw));
-int parserrb PARAMS((B *b));
-int uparserr PARAMS((BW *bw));
-void inserr PARAMS((unsigned char *name, long int where, long int n, int bol));
-void delerr PARAMS((unsigned char *name, long int where, long int n));
-void abrerr PARAMS((unsigned char *name));
-void saverr PARAMS((unsigned char *name));
+int unxterr(BW *bw);
+int uprverr(BW *bw);
+int parserrb(B *b);
+int uparserr(BW *bw);
+void inserr(unsigned char *name, long int where, long int n, int bol);
+void delerr(unsigned char *name, long int where, long int n);
+void abrerr(unsigned char *name);
+void saverr(unsigned char *name);
 
 #endif
diff --git a/ufile.c b/ufile.c
index d306a74..1cb7d82 100644 (file)
--- a/ufile.c
+++ b/ufile.c
@@ -9,18 +9,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/ufile.c,v 1.14 2017/12/02 04:32:42 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/ufile.c,v 1.17 2017/12/06 23:02:07 tg Exp $");
 
-#include <unistd.h>
-#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
 #include <fcntl.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+#include <unistd.h>
 
 #ifdef UTIME
 #include <utime.h>
@@ -32,10 +26,6 @@ __RCSID("$MirOS: contrib/code/jupp/ufile.c,v 1.14 2017/12/02 04:32:42 tg Exp $")
 #endif
 #endif
 
-#ifdef WITH_SELINUX
-int copy_security_context(const char *from_file, const char *to_file);
-#endif
-
 #include "b.h"
 #include "bw.h"
 #include "macro.h"
@@ -110,7 +100,8 @@ void genexmsg(BW *bw, int saved, unsigned char *name)
 }
 
 /* For ^X ^C */
-void genexmsgmulti(BW *bw, int saved, int skipped)
+static void
+genexmsgmulti(BW *bw, int saved, int skipped)
 {
        if (saved)
                if (skipped)
@@ -208,9 +199,7 @@ cp(unsigned char *from, int g, unsigned char *tmpfn, unsigned char *to)
        utime(to, &utbuf);
 #endif
 
-#ifdef WITH_SELINUX
        copy_security_context(from, to);
-#endif
 
        return 0;
 }
@@ -276,21 +265,23 @@ backup(BW *bw)
 /* Continuation structure */
 
 struct savereq {
-       int (*callback) ();
+       int (*callback)(BW *, struct savereq *, int, int *);
        unsigned char *name;
        B *first;
        int not_saved;  /* Set if a modified file was not saved */
        int rename;     /* Set if we're renaming the file during save */
 };
 
-struct savereq *mksavereq(int (*callback)(), unsigned char *name, B *first,int rename_)
+static struct savereq *
+mksavereq(int (*callback)(BW *, struct savereq *, int, int *),
+    unsigned char *name, B *first, int dorename)
 {
        struct savereq *req = (struct savereq *) joe_malloc(sizeof(struct savereq));
        req->callback = callback;
        req->name = name;
        req->first = first;
        req->not_saved = 0;
-       req->rename = rename_;
+       req->rename = dorename;
        return req;
 }
 
@@ -304,7 +295,7 @@ static int saver(BW *bw, int c, struct savereq *req, int *notify)
 {
        int fl;
        if (c == 'n' || c == 'N') {
-               msgnw(bw->parent, US "Couldn't make backup file... file not saved");
+               msgnw(bw->parent, UC "Couldn't make backup file... file not saved");
                if (req->callback) {
                        return req->callback(bw, req, -1, notify);
                } else {
@@ -487,7 +478,8 @@ int usave(BW *bw)
 
 /* Load file to edit */
 
-int doedit1(BW *bw,int c,unsigned char *s,int *notify)
+static int
+doedit1(BW *bw,int c,unsigned char *s,int *notify)
 {
        int ret = 0;
        int er;
@@ -585,7 +577,8 @@ int doedit1(BW *bw,int c,unsigned char *s,int *notify)
        }
 }
 
-int doedit(BW *bw, unsigned char *s, void *obj, int *notify)
+static int
+doedit(BW *bw, unsigned char *s, void *obj, int *notify)
 {
        B *b;
 
@@ -606,7 +599,7 @@ int doedit(BW *bw, unsigned char *s, void *obj, int *notify)
 int okrepl(BW *bw)
 {
        if (bw->b->count == 1 && bw->b->changed) {
-               msgnw(bw->parent, US "Can't replace modified file");
+               msgnw(bw->parent, UC "Can't replace modified file");
                return -1;
        } else {
                return 0;
@@ -637,7 +630,8 @@ int uswitch(BW *bw)
        }
 }
 
-int doscratch(BW *bw, unsigned char *s, void *obj, int *notify)
+static int
+doscratch(BW *bw, unsigned char *s, void *obj, int *notify)
 {
        int ret = 0;
        int er;
diff --git a/ufile.h b/ufile.h
index d9f528c..54ea5de 100644 (file)
--- a/ufile.h
+++ b/ufile.h
@@ -9,30 +9,30 @@
 #define _JOE_UFILE_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_ufile_h, "$MirOS: contrib/code/jupp/ufile.h,v 1.6 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_ufile_h, "$MirOS: contrib/code/jupp/ufile.h,v 1.7 2017/12/06 21:17:02 tg Exp $");
 #endif
 
 extern int exask;
 
-void genexmsg PARAMS((BW *bw, int saved, unsigned char *name));
+void genexmsg(BW *bw, int saved, unsigned char *name);
 
-int ublksave PARAMS((BW *bw));
-int ushell PARAMS((BW *bw));
-int usave PARAMS((BW *bw));
-int uedit PARAMS((BW *bw));
-int uswitch PARAMS((BW *bw));
-int uscratch PARAMS((BW *bw));
-int uinsf PARAMS((BW *bw));
-int uexsve PARAMS((BW *bw));
-int unbuf PARAMS((BW *bw));
-int upbuf PARAMS((BW *bw));
-int uask PARAMS((BW *bw));
-int ubufed PARAMS((BW *bw));
-int ulose PARAMS((BW *bw));
-int okrepl PARAMS((BW *bw));
-int doswitch PARAMS((BW *bw, unsigned char *s, void *obj, int *notify));
-int uquerysave PARAMS((BW *bw));
-int ukilljoe PARAMS((BW *bw));
-int uabendjoe PARAMS((BW *bw));
+int ublksave(BW *bw);
+int ushell(BW *bw);
+int usave(BW *bw);
+int uedit(BW *bw);
+int uswitch(BW *bw);
+int uscratch(BW *bw);
+int uinsf(BW *bw);
+int uexsve(BW *bw);
+int unbuf(BW *bw);
+int upbuf(BW *bw);
+int uask(BW *bw);
+int ubufed(BW *bw);
+int ulose(BW *bw);
+int okrepl(BW *bw);
+int doswitch(BW *bw, unsigned char *s, void *obj, int *notify);
+int uquerysave(BW *bw);
+int ukilljoe(BW *bw);
+int uabendjoe(BW *bw);
 
 #endif
index f0c96e9..c4c7d5b 100644 (file)
--- a/uformat.c
+++ b/uformat.c
@@ -8,17 +8,14 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/uformat.c,v 1.4 2017/12/02 02:07:35 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/uformat.c,v 1.6 2017/12/06 23:02:07 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
 #include <string.h>
-#endif
 
 #include "b.h"
 #include "ublock.h"
+#include "uformat.h"
 #include "charmap.h"
 #include "utils.h"
 
index 012779f..e513be8 100644 (file)
--- a/uformat.h
+++ b/uformat.h
@@ -9,16 +9,16 @@
 #define _JOE_UFORMAT_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_uformat_h, "$MirOS: contrib/code/jupp/uformat.h,v 1.4 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_uformat_h, "$MirOS: contrib/code/jupp/uformat.h,v 1.5 2017/12/06 21:17:02 tg Exp $");
 #endif
 
-int ucenter PARAMS((BW *bw));
-P *pbop PARAMS((P *p));
-P *peop PARAMS((P *p));
-int ubop PARAMS((BW *bw));
-int ueop PARAMS((BW *bw));
-void wrapword PARAMS((P *p, long int indent, int french, unsigned char *indents));
-int uformat PARAMS((BW *bw));
-int ufmtblk PARAMS((BW *bw));
+int ucenter(BW *bw);
+P *pbop(P *p);
+P *peop(P *p);
+int ubop(BW *bw);
+int ueop(BW *bw);
+void wrapword(P *p, long int indent, int french, unsigned char *indents);
+int uformat(BW *bw);
+int ufmtblk(BW *bw);
 
 #endif
index 66e1493..68eb4cf 100644 (file)
--- a/uisrch.c
+++ b/uisrch.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/uisrch.c,v 1.10 2017/12/02 18:50:03 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/uisrch.c,v 1.11 2017/12/06 23:02:07 tg Exp $");
 
 #include <stdlib.h>
 
@@ -18,6 +18,7 @@ __RCSID("$MirOS: contrib/code/jupp/uisrch.c,v 1.10 2017/12/02 18:50:03 tg Exp $"
 #include "queue.h"
 #include "qw.h"
 #include "tty.h"
+#include "uisrch.h"
 #include "usearch.h"
 #include "utils.h"
 #include "charmap.h"
index 854d331..f4a1b8d 100644 (file)
--- a/uisrch.h
+++ b/uisrch.h
@@ -9,10 +9,10 @@
 #define _JOE_UISRCH_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_uisrch_h, "$MirOS: contrib/code/jupp/uisrch.h,v 1.4 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_uisrch_h, "$MirOS: contrib/code/jupp/uisrch.h,v 1.5 2017/12/06 21:17:02 tg Exp $");
 #endif
 
-int uisrch PARAMS((BW *bw));
-int ursrch PARAMS((BW *bw));
+int uisrch(BW *bw);
+int ursrch(BW *bw);
 
 #endif
diff --git a/umath.c b/umath.c
index 4c2c65e..27627ea 100644 (file)
--- a/umath.c
+++ b/umath.c
@@ -8,15 +8,14 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/umath.c,v 1.16 2017/12/03 02:36:03 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/umath.c,v 1.19 2017/12/06 23:02:07 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <string.h>
 
 #include "b.h"
 #include "pw.h"
+#include "umath.h"
 #include "utils.h"
 #include "vs.h"
 #include "charmap.h"
@@ -310,7 +309,7 @@ calcl(BW *bw, unsigned char *s)
 int
 unomath(BW *bw)
 {
-       msgnw(bw->parent, US "Sorry, compiled without Math");
+       msgnw(bw->parent, UC "Sorry, compiled without Math");
        return (-1);
 }
 #endif
diff --git a/umath.h b/umath.h
index 8605aac..e23162c 100644 (file)
--- a/umath.h
+++ b/umath.h
@@ -9,12 +9,10 @@
 #define _JOE_UMATH_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_umath_h, "$MirOS: contrib/code/jupp/umath.h,v 1.10 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_umath_h, "$MirOS: contrib/code/jupp/umath.h,v 1.11 2017/12/06 21:17:03 tg Exp $");
 #endif
 
-#ifdef HAVE_SIGNAL_H
 #include <signal.h>
-#endif
 
 extern volatile sig_atomic_t merrf;
 extern const unsigned char *merrt;
diff --git a/undo.c b/undo.c
index b60ac0c..fa5157a 100644 (file)
--- a/undo.c
+++ b/undo.c
@@ -8,16 +8,15 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/undo.c,v 1.5 2017/12/02 18:50:03 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/undo.c,v 1.8 2017/12/06 23:02:07 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include "b.h"
 #include "blocks.h"
 #include "queue.h"
 #include "ublock.h"
+#include "undo.h"
 #include "utils.h"
 #include "w.h"
 
@@ -438,7 +437,7 @@ int uyankpop(BW *bw)
 int unotmod(BW *bw)
 {
        bw->b->changed = 0;
-       msgnw(bw->parent, US "Modified flag cleared");
+       msgnw(bw->parent, UC "Modified flag cleared");
        return 0;
 }
 
@@ -453,7 +452,7 @@ int ucopy(BW *bw)
                        unmark(bw);
                return 0;
        } else {
-               msgnw(bw->parent, US "No block");
+               msgnw(bw->parent, UC "No block");
                return -1;
        }
 }
diff --git a/undo.h b/undo.h
index 2a7a2d5..3d5a781 100644 (file)
--- a/undo.h
+++ b/undo.h
@@ -9,24 +9,24 @@
 #define _JOE_UNDO_H 1
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_undo_h, "$MirOS: contrib/code/jupp/undo.h,v 1.4 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_undo_h, "$MirOS: contrib/code/jupp/undo.h,v 1.5 2017/12/06 21:17:03 tg Exp $");
 #endif
 
 extern int inundo;
 extern int justkilled;
 
-UNDO *undomk PARAMS((B *b));
-void undorm PARAMS((UNDO *undo));
-int uundo PARAMS((BW *bw));
-int uredo PARAMS((BW *bw));
-void umclear PARAMS((void));
-void undomark PARAMS((void));
-void undoins PARAMS((UNDO *undo, P *p, long int size));
-void undodel PARAMS((UNDO *undo, long int where, B *b));
-int uyank PARAMS((BW *bw));
-int uyankpop PARAMS((BW *bw));
-int uyapp PARAMS((BW *bw));
-int unotmod PARAMS((BW *bw));
-int ucopy PARAMS((BW *bw));
+UNDO *undomk(B *b);
+void undorm(UNDO *undo);
+int uundo(BW *bw);
+int uredo(BW *bw);
+void umclear(void);
+void undomark(void);
+void undoins(UNDO *undo, P *p, long int size);
+void undodel(UNDO *undo, long int where, B *b);
+int uyank(BW *bw);
+int uyankpop(BW *bw);
+int uyapp(BW *bw);
+int unotmod(BW *bw);
+int ucopy(BW *bw);
 
 #endif
index bc0d77f..3051213 100644 (file)
--- a/usearch.c
+++ b/usearch.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/usearch.c,v 1.15 2017/12/04 22:00:43 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/usearch.c,v 1.17 2017/12/06 23:02:08 tg Exp $");
 
 #include <stdlib.h>
 
@@ -49,7 +49,8 @@ SRCHREC fsr = { {&fsr, &fsr}, 0, 0, 0 };
 unsigned char **word_list;
 
 #define MAX_WORD_SIZE 64
-unsigned char **get_word_list(B *b,int ignore)
+static unsigned char **
+get_word_list(B *b, int ignore)
 {
        unsigned char buf[MAX_WORD_SIZE];
        unsigned char *s;
@@ -89,16 +90,17 @@ unsigned char **get_word_list(B *b,int ignore)
 
        for (idx = 0;idx != h->len;++idx)
                for (t = h->tab[idx];t;t=t->next)
-                       list = vaadd(list, t->name);
+                       list = vaadd(list, /* checked */ US t->name);
        if (list)
-               vasort(list,sLEN(list));
+               vasort(list, sLEN(list));
 
        htrm(h);
 
        return list;
 }
 
-void fcmplt_ins(BW *bw, unsigned char *line)
+static void
+fcmplt_ins(BW *bw, unsigned char *line)
 {
        P *p;
        int c;
@@ -130,7 +132,8 @@ void fcmplt_ins(BW *bw, unsigned char *line)
        }
 }
 
-int fcmplt_abrt(BW *bw, int x, unsigned char *line)
+static int
+fcmplt_abrt(BW *bw, int x, unsigned char *line)
 {
        if (line) {
                fcmplt_ins(bw, line);
@@ -139,7 +142,8 @@ int fcmplt_abrt(BW *bw, int x, unsigned char *line)
        return -1;
 }
 
-int fcmplt_rtn(MENU *m, int x, unsigned char *line)
+static int
+fcmplt_rtn(MENU *m, int x, unsigned char *line)
 {
        fcmplt_ins(m->parent->win->object, m->list[x]);
        vsrm(line);
@@ -280,7 +284,7 @@ static P *searchf(BW *bw,SRCH *srch, P *p)
                        break;
        }
        if (wrap && !srch->wrap_flag && srch->wrap_p) {
-               msgnw(bw->parent, US "Wrapped");
+               msgnw(bw->parent, UC "Wrapped");
                srch->wrap_flag = 1;
                p_goto_bof(start);
                goto wrapped;
@@ -337,7 +341,7 @@ static P *searchb(BW *bw,SRCH *srch, P *p)
        }
 
        if (wrap && !srch->wrap_flag && srch->wrap_p) {
-               msgnw(bw->parent, US "Wrapped");
+               msgnw(bw->parent, UC "Wrapped");
                srch->wrap_flag = 1;
                p_goto_eof(start);
                goto wrapped;
@@ -660,7 +664,7 @@ static int doreplace(BW *bw, SRCH *srch)
        P *q;
 
        if (bw->b->rdonly) {
-               msgnw(bw->parent, US "Read only");
+               msgnw(bw->parent, UC "Read only");
                return -1;
        }
        if (markk)
@@ -854,9 +858,9 @@ int dopfnext(BW *bw, SRCH *srch, int *notify)
  bye:
                if (!srch->flg && !srch->rest) {
                        if (srch->valid && srch->block_restrict)
-                               msgnw(bw->parent, US "Not found (search restricted to marked block)");
+                               msgnw(bw->parent, UC "Not found (search restricted to marked block)");
                        else
-                               msgnw(bw->parent, US "Not found");
+                               msgnw(bw->parent, UC "Not found");
                        ret = -1;
                }
                break;
index a8d0f5e..fa68ee9 100644 (file)
--- a/usearch.h
+++ b/usearch.h
@@ -9,20 +9,20 @@
 #define _JOE_USEARCH_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_usearch_h, "$MirOS: contrib/code/jupp/usearch.h,v 1.4 2017/12/02 17:00:51 tg Exp $");
+__IDSTRING(rcsid_usearch_h, "$MirOS: contrib/code/jupp/usearch.h,v 1.5 2017/12/06 21:17:03 tg Exp $");
 #endif
 
-SRCH *mksrch PARAMS((unsigned char *pattern, unsigned char *replacement, int ignore, int backwards, int repeat, int replace, int rest));
-void rmsrch PARAMS((SRCH *srch));
+SRCH *mksrch(unsigned char *pattern, unsigned char *replacement, int ignore, int backwards, int repeat, int replace, int rest);
+void rmsrch(SRCH *srch);
 
-int dopfnext PARAMS((BW *bw, SRCH *srch, int *notify));
+int dopfnext(BW *bw, SRCH *srch, int *notify);
 
-int pffirst PARAMS((BW *bw));
-int pfnext PARAMS((BW *bw));
+int pffirst(BW *bw);
+int pfnext(BW *bw);
 
-int pqrepl PARAMS((BW *bw));
-int prfirst PARAMS((BW *bw));
+int pqrepl(BW *bw);
+int prfirst(BW *bw);
 
-int ufinish PARAMS((BW *bw));
+int ufinish(BW *bw);
 
 #endif
index 79ba2c1..4ccc839 100644 (file)
--- a/ushell.c
+++ b/ushell.c
@@ -8,18 +8,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/ushell.c,v 1.8 2017/12/02 02:07:36 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/ushell.c,v 1.10 2017/12/06 21:41:04 tg Exp $");
 
-#include <unistd.h>
-#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
-#endif
-#ifdef HAVE_SIGNAL_H
 #include <signal.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+#include <unistd.h>
 
 #include "b.h"
 #include "main.h"
@@ -131,7 +125,7 @@ static int doushell(BW *bw, unsigned char *cmd, int *notify, int build)
                *notify = 1;
        }
        if (bw->b->pid) {
-               msgnw(bw->parent, US "Program already running in this window");
+               msgnw(bw->parent, UC "Program already running in this window");
                varm(s);
                return -1;
        }
@@ -139,7 +133,7 @@ static int doushell(BW *bw, unsigned char *cmd, int *notify, int build)
 
        if (!(m = mpxmk(&bw->b->out, name, s, cdata, bw->b, build ? cdone_parse : cdone, bw->b))) {
                varm(s);
-               msgnw(bw->parent, US "No ptys available");
+               msgnw(bw->parent, UC "No ptys available");
                return -1;
        } else {
                bw->b->pid = m->pid;
@@ -150,7 +144,7 @@ static int doushell(BW *bw, unsigned char *cmd, int *notify, int build)
 int ubknd(BW *bw)
 {
        if (!getenv("SHELL")) {
-               msgnw(bw->parent, US "\"SHELL\" environment variable not defined or exported");
+               msgnw(bw->parent, UC "\"SHELL\" environment variable not defined or exported");
         }
        return doushell(bw, NULL, NULL, 0);
 }
index 0cf0a4e..05613c4 100644 (file)
--- a/ushell.h
+++ b/ushell.h
@@ -8,14 +8,14 @@
 #define _JOE_USHELL_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_ushell_h, "$MirOS: contrib/code/jupp/ushell.h,v 1.5 2017/12/02 17:00:52 tg Exp $");
+__IDSTRING(rcsid_ushell_h, "$MirOS: contrib/code/jupp/ushell.h,v 1.6 2017/12/06 21:17:03 tg Exp $");
 #endif
 
-int ubknd PARAMS((BW *bw));
-int ukillpid PARAMS((BW *bw));
-int urun PARAMS((BW *bw));
-int ubuild PARAMS((BW *bw));
+int ubknd(BW *bw);
+int ukillpid(BW *bw);
+int urun(BW *bw);
+int ubuild(BW *bw);
 
-const void *getushell PARAMS((void));
+const void *getushell(void);
 
 #endif
diff --git a/utag.c b/utag.c
index 4b8d95a..438184f 100644 (file)
--- a/utag.c
+++ b/utag.c
@@ -8,7 +8,7 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/utag.c,v 1.7 2017/12/04 21:53:35 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/utag.c,v 1.9 2017/12/06 23:02:08 tg Exp $");
 
 #include "b.h"
 #include "bw.h"
@@ -17,6 +17,7 @@ __RCSID("$MirOS: contrib/code/jupp/utag.c,v 1.7 2017/12/04 21:53:35 tg Exp $");
 #include "tab.h"
 #include "ufile.h"
 #include "usearch.h"
+#include "utag.h"
 #include "utils.h"
 #include "vs.h"
 #include "charmap.h"
@@ -38,7 +39,7 @@ static int dotag(BW *bw, unsigned char *s, void *obj, int *notify)
        }
        f = fopen("tags", "r");
        if (!f) {
-               msgnw(bw->parent, US "Couldn't open tags file");
+               msgnw(bw->parent, UC "Couldn't open tags file");
                vsrm(s);
                vsrm(t);
                return -1;
@@ -84,7 +85,7 @@ static int dotag(BW *bw, unsigned char *s, void *obj, int *notify)
                                                        dofollows();
                                                        mid = omid;
                                                } else {
-                                                       msgnw(bw->parent, US "Invalid line number");
+                                                       msgnw(bw->parent, UC "Invalid line number");
                                                }
                                        } else {
                                                if (buf[y] == '/' || buf[y] == '?') {
@@ -118,7 +119,7 @@ static int dotag(BW *bw, unsigned char *s, void *obj, int *notify)
                        }
                }
        }
-       msgnw(bw->parent, US "Not found");
+       msgnw(bw->parent, UC "Not found");
        vsrm(s);
        vsrm(t);
        fclose(f);
diff --git a/utag.h b/utag.h
index 9322aa9..15e837d 100644 (file)
--- a/utag.h
+++ b/utag.h
@@ -9,9 +9,9 @@
 #define _JOE_UTAG_H 1
 
 #ifdef EXTERN_CMD_C
-__IDSTRING(rcsid_utag_h, "$MirOS: contrib/code/jupp/utag.h,v 1.4 2017/12/02 17:00:52 tg Exp $");
+__IDSTRING(rcsid_utag_h, "$MirOS: contrib/code/jupp/utag.h,v 1.5 2017/12/06 21:17:03 tg Exp $");
 #endif
 
-int utag PARAMS((BW *bw));
+int utag(BW *bw);
 
 #endif
diff --git a/utf8.c b/utf8.c
index eaf2362..053d40c 100644 (file)
--- a/utf8.c
+++ b/utf8.c
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/utf8.c,v 1.21 2017/12/02 04:32:43 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/utf8.c,v 1.22 2017/12/06 21:17:04 tg Exp $");
 
-#include <string.h>
-
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+#include <string.h>
 
 #ifdef __CYGWIN__
 #include <cygwin/version.h>
diff --git a/utf8.h b/utf8.h
index f673e47..e65f3e7 100644 (file)
--- a/utf8.h
+++ b/utf8.h
@@ -9,7 +9,7 @@
 #define _Iutf8 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_utf8_h, "$MirOS: contrib/code/jupp/utf8.h,v 1.6 2017/12/02 17:00:52 tg Exp $");
+__IDSTRING(rcsid_utf8_h, "$MirOS: contrib/code/jupp/utf8.h,v 1.8 2017/12/06 23:02:08 tg Exp $");
 #endif
 
 #include "i18n.h"
@@ -21,7 +21,7 @@ __IDSTRING(rcsid_utf8_h, "$MirOS: contrib/code/jupp/utf8.h,v 1.6 2017/12/02 17:0
  * returns length (not including terminator).
  */
 
-int utf8_encode PARAMS((unsigned char *buf,int c));
+int utf8_encode(unsigned char *buf,int c);
 
 /* UTF-8 decoder state machine */
 
@@ -40,23 +40,23 @@ struct utf8_sm {
  *                   -3: no sequence started, but character is between 128 - 191, 254 or 255
  */
 
-int utf8_decode PARAMS((struct utf8_sm *utf8_sm,unsigned char c));
+int utf8_decode(struct utf8_sm *utf8_sm,unsigned char c);
 
-int utf8_decode_string PARAMS((unsigned char *s));
+int utf8_decode_string(unsigned char *s);
 
-int utf8_decode_fwrd PARAMS((unsigned char **p,int *plen));
+int utf8_decode_fwrd(unsigned char **p,int *plen);
 
 /* Initialize state machine */
 
-void utf8_init PARAMS((struct utf8_sm *utf8_sm));
+void utf8_init(struct utf8_sm *utf8_sm);
 
-void joe_locale();
-void to_utf8 PARAMS((struct charmap *map,unsigned char *s,int c));
-int from_utf8 PARAMS((struct charmap *map,unsigned char *s));
+void joe_locale(void);
+void to_utf8(struct charmap *map,unsigned char *s,int c);
+int from_utf8(struct charmap *map,unsigned char *s);
 
 extern int utf8;
 
-int mk_wcwidth PARAMS((int wide,int c));
+int mk_wcwidth(int wide,int c);
 
 extern struct charmap *locale_map;     /* Default bytemap of terminal */
 extern struct charmap *utf8_map;       /* Bytemap for UTF-8 */
diff --git a/utils.c b/utils.c
index 0bd9fde..c696236 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -8,15 +8,11 @@
  */
 #include "config.h"
 
-__RCSID("$MirOS: contrib/code/jupp/utils.c,v 1.8 2017/12/04 21:53:35 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/utils.c,v 1.9 2017/12/06 21:17:04 tg Exp $");
 
 #include <errno.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
+#include <unistd.h>
 
 #include "charmap.h"
 #include "blocks.h"
diff --git a/utils.h b/utils.h
index a1e990f..f4a8b8a 100644 (file)
--- a/utils.h
+++ b/utils.h
 #define _JOE_UTILS_H 1
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_utils_h, "$MirOS: contrib/code/jupp/utils.h,v 1.8 2017/12/02 17:00:52 tg Exp $");
+__IDSTRING(rcsid_utils_h, "$MirOS: contrib/code/jupp/utils.h,v 1.10 2017/12/06 23:02:08 tg Exp $");
 #endif
 
-#ifdef HAVE_SIGNAL_H
 #include <signal.h>
-#endif
 
 /*
  * Functions which return minimum/maximum of two numbers
  */
-unsigned int uns_min PARAMS((unsigned int a, unsigned int b));
-signed int int_min PARAMS((signed int a, int signed b));
-signed long long_max PARAMS((signed long a, signed long b));
-signed long long_min PARAMS((signed long a, signed long b));
+unsigned int uns_min(unsigned int a, unsigned int b);
+signed int int_min(signed int a, int signed b);
+signed long long_max(signed long a, signed long b);
+signed long long_min(signed long a, signed long b);
 
 /* Versions of 'read' and 'write' which automatically retry when interrupted */
-ssize_t joe_read PARAMS((int fd, void *buf, size_t siz));
-ssize_t joe_write PARAMS((int fd, void *buf, size_t siz));
+ssize_t joe_read(int fd, void *buf, size_t siz);
+ssize_t joe_write(int fd, void *buf, size_t siz);
 
 /* wrappers to *alloc routines */
 #define joe_malloc malloc
@@ -47,16 +45,16 @@ typedef RETSIGTYPE (*sighandler_t)(int);
 #endif
 
 /* wrapper to hide signal interface differrencies */
-int joe_set_signal PARAMS((int signum, sighandler_t handler));
+int joe_set_signal(int signum, sighandler_t handler);
 
-int parse_ws PARAMS((unsigned char **p,int cmt));
-int parse_ident PARAMS((unsigned char **p,unsigned char *buf,int len));
-int parse_kw PARAMS((unsigned char **p,unsigned char *kw));
-int parse_tows PARAMS((unsigned char **p,unsigned char *buf));
-int parse_field PARAMS((unsigned char **p,unsigned char *field));
-int parse_char PARAMS((unsigned char  **p,unsigned char c));
-int parse_string PARAMS((unsigned char **p,unsigned char *buf,int len));
-int parse_range PARAMS((unsigned char **p,int *first,int *second));
+int parse_ws(unsigned char **p,int cmt);
+int parse_ident(unsigned char **p,unsigned char *buf,int len);
+int parse_kw(unsigned char **p,unsigned char *kw);
+int parse_tows(unsigned char **p,unsigned char *buf);
+int parse_field(unsigned char **p,unsigned char *field);
+int parse_char(unsigned char  **p,unsigned char c);
+int parse_string(unsigned char **p,unsigned char *buf,int len);
+int parse_range(unsigned char **p,int *first,int *second);
 
 void tty_xonoffbaudrst(void);
 
@@ -79,4 +77,8 @@ long ustolb(void *, void **, long, long, int);
 size_t ustoc_hex(const void *, int *, size_t);
 size_t ustoc_oct(const void *, int *, size_t);
 
+/* from selinux.c */
+
+int copy_security_context(const char *, const char *);
+
 #endif
diff --git a/va.c b/va.c
index 63abb53..6c42fb8 100644 (file)
--- a/va.c
+++ b/va.c
@@ -7,11 +7,9 @@
  */
 #include "config.h"
 
-__RCSID("$MirOS: contrib/code/jupp/va.c,v 1.4 2017/12/02 02:07:37 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/va.c,v 1.5 2017/12/06 21:17:04 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include "utils.h"
 #include "va.h"
diff --git a/va.h b/va.h
index 1d7874c..df91570 100644 (file)
--- a/va.h
+++ b/va.h
@@ -9,7 +9,7 @@
 #define _JOE_VA_H 1
 
 #ifdef EXTERN_B_C
-__IDSTRING(rcsid_va_h, "$MirOS: contrib/code/jupp/va.h,v 1.5 2017/12/02 17:00:52 tg Exp $");
+__IDSTRING(rcsid_va_h, "$MirOS: contrib/code/jupp/va.h,v 1.6 2017/12/06 21:17:04 tg Exp $");
 #endif
 
 #include "vs.h"
@@ -38,13 +38,13 @@ typedef unsigned char *aELEMENT;
 /* aELEMENT *vamk(int len);
  * Create a variable length array.  Space for 'len' elements is preallocated.
  */
-aELEMENT *vamk PARAMS((int len));
+aELEMENT *vamk(int len);
 
 /* void varm(aELEMENT *vary);
  * Free an array and everything which is in it.  Does nothing if 'vary' is
  * 0.
  */
-void varm PARAMS((aELEMENT *vary));
+void varm(aELEMENT *vary);
 
 /********************/
 /* Space management */
@@ -81,7 +81,7 @@ void varm PARAMS((aELEMENT *vary));
  * Compute length of char or variable length array by searching for termination
  * element.  Returns 0 if 'vary' is 0.
  */
-int alen PARAMS((aELEMENT *ary));
+int alen(aELEMENT *ary);
 
 /* aELEMENT *vaensure(aELEMENT *vary, int len);
  * Make sure there's enough space in the array for 'len' elements.  Whenever
@@ -89,7 +89,7 @@ int alen PARAMS((aELEMENT *ary));
  * minimum space in anticipation of future expansion.  If 'vary' is 0,
  * it creates a new array.
  */
-aELEMENT *vaensure PARAMS((aELEMENT *vary, int len));
+aELEMENT *vaensure(aELEMENT *vary, int len);
 
 /* aELEMENT *vazap(aELEMENT *vary, int pos, int n);
  * Destroy n elements from an array beginning at pos.  Is ok if pos/n go
@@ -98,13 +98,13 @@ aELEMENT *vaensure PARAMS((aELEMENT *vary, int len));
  * function does not actually write to the array.  This does not stop if
  * a aterm is encountered.
  */
-aELEMENT *vazap PARAMS((aELEMENT *vary, int pos, int n));
+aELEMENT *vazap(aELEMENT *vary, int pos, int n);
 
 /* aELEMENT *vatrunc(aELEMENT *vary, int len);
  * Truncate array to indicated size.  This zaps or expands with blank elements
  * and sets the LEN() of the array.  A new array is created if 'vary' is 0.
  */
-aELEMENT *vatrunc PARAMS((aELEMENT *vary, int len));
+aELEMENT *vatrunc(aELEMENT *vary, int len);
 
 /************************************/
 /* Function which write to an array */
@@ -118,14 +118,14 @@ aELEMENT *vatrunc PARAMS((aELEMENT *vary, int len));
  * This does not zap previous values.  If you need that to happen, call
  * vazap first.  It does move the terminator around properly though.
  */
-aELEMENT *vafill PARAMS((aELEMENT *vary, int pos, aELEMENT el, int len));
+aELEMENT *vafill(aELEMENT *vary, int pos, aELEMENT el, int len);
 
 /* aELEMENT *vandup(aELEMENT *vary, int pos, aELEMENT *array, int len);
  * Duplicate 'len' elements from 'array' onto 'vary' beginning at position
  * 'pos'.  'array' can be a char array since its length is passed seperately.  A
  * new array is created if 'vary' is 0.
  */
-aELEMENT *vandup PARAMS((aELEMENT *vary, int pos, aELEMENT *array, int len));
+aELEMENT *vandup(aELEMENT *vary, int pos, aELEMENT *array, int len);
 
 /* aELEMENT *vadup(aELEMENT *vary);
  * Duplicate array.  This is just a functionalized version of:
@@ -140,7 +140,7 @@ aELEMENT *vandup PARAMS((aELEMENT *vary, int pos, aELEMENT *array, int len));
  * functionalized instances of the ones you use most often - especially since
  * the macros aren't safe).
  */
-aELEMENT *vadup PARAMS((aELEMENT *vary));
+aELEMENT *vadup(aELEMENT *vary);
 
 /* aELEMENT *vaset(aELEMENT *vary, int pos, aELEMENT element);
  * Set an element in an array.  Any value of 'pos' is valid.  A new array
@@ -148,7 +148,7 @@ aELEMENT *vadup PARAMS((aELEMENT *vary));
  * deleted.    This does not duplicate 'element'.  If you need 'element'
  * duplicated, call: vaset(vary,pos,adup(element));
  */
-aELEMENT *_vaset PARAMS((aELEMENT *vary, int pos, aELEMENT el));
+aELEMENT *_vaset(aELEMENT *vary, int pos, aELEMENT el);
 
 #define vaset(v,p,el)  \
  (!(v) || (p) > aLen(v) || ((p) == aLen(v) && (p) == aSiz(v)) ?  \
@@ -226,12 +226,12 @@ aELEMENT *_vaset PARAMS((aELEMENT *vary, int pos, aELEMENT el));
 /* aELEMENT *vasort(aELEMENT *ary, int len)
  * Sort the elements of an array (char or variable length) using qsort().
  */
-aELEMENT *vasort PARAMS((aELEMENT *ary, int len));
+aELEMENT *vasort(aELEMENT *ary, int len);
 
 /* aELEMENT *vawords(aELEMENT *a, char *s, int len, char *sep, int seplen);
  * Generate list of strings out of words in 's' seperated with the characters
  * in 'sep'.  The characters in 'sep' must be sorted.
  */
-aELEMENT *vawords PARAMS((aELEMENT *a, unsigned char *s, int len, unsigned char *sep, int seplen));
+aELEMENT *vawords(aELEMENT *a, unsigned char *s, int len, unsigned char *sep, int seplen);
 
 #endif
diff --git a/vfile.c b/vfile.c
index 0bf5bc0..7fb529c 100644 (file)
--- a/vfile.c
+++ b/vfile.c
@@ -8,16 +8,12 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/vfile.c,v 1.12 2017/12/04 22:15:40 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/vfile.c,v 1.13 2017/12/06 21:17:04 tg Exp $");
 
-#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
-#endif
 #include <fcntl.h>
 #include <limits.h>
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 #include <unistd.h>
 
 #include "blocks.h"
diff --git a/vfile.h b/vfile.h
index e82eb97..1e689b0 100644 (file)
--- a/vfile.h
+++ b/vfile.h
@@ -9,7 +9,7 @@
 #define _JOE_VFILE_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_vfile_h, "$MirOS: contrib/code/jupp/vfile.h,v 1.6 2017/12/04 22:15:40 tg Exp $");
+__IDSTRING(rcsid_vfile_h, "$MirOS: contrib/code/jupp/vfile.h,v 1.7 2017/12/06 21:17:05 tg Exp $");
 #endif
 
 /* Additions:
@@ -39,7 +39,7 @@ extern VPAGE **vheaders;      /* Array of headers */
  * Open a temporary virtual file.  File goes away when closed.  No actual
  * file is generated if everything fits in memory.
  */
-VFILE *vtmp PARAMS((void));
+VFILE *vtmp(void);
 
 /* long vsize(VFILE *);
  *
@@ -58,21 +58,21 @@ VFILE *vtmp PARAMS((void));
  *
  * Close a file.
  */
-void vclose PARAMS((VFILE *vfile));
+void vclose(VFILE *vfile);
 
 /* void vflsh(void);
  *
  * Write all changed pages to the disk
  */
 
-void vflsh PARAMS((void));
+void vflsh(void);
 
 /* void vflshf(VFILE *vfile);
  *
  * Write changed pages for a specific file to the disk
  */
 
-void vflshf PARAMS((VFILE *vfile));
+void vflshf(VFILE *vfile);
 
 /* char *vlock(VFILE *vfile,long addr);
  *
@@ -94,7 +94,7 @@ void vflshf PARAMS((VFILE *vfile));
  * ever might want to is to implement your own version of valloc()).
  */
 
-unsigned char *vlock PARAMS((VFILE *vfile, unsigned long addr));
+unsigned char *vlock(VFILE *vfile, unsigned long addr);
 
 /* VPAGE *vheader(char *);
  * Return address of page header for given page
@@ -130,5 +130,5 @@ unsigned char *vlock PARAMS((VFILE *vfile, unsigned long addr));
  * Returns file address of beginning of allocated space
  */
 
-long my_valloc PARAMS((VFILE *vfile, long int size));
+long my_valloc(VFILE *vfile, long int size);
 #endif
diff --git a/vs.h b/vs.h
index 7b54dab..4d354d9 100644 (file)
--- a/vs.h
+++ b/vs.h
@@ -9,7 +9,7 @@
 #define _JOE_VS_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_vs_h, "$MirOS: contrib/code/jupp/vs.h,v 1.8 2017/12/02 17:00:52 tg Exp $");
+__IDSTRING(rcsid_vs_h, "$MirOS: contrib/code/jupp/vs.h,v 1.9 2017/12/06 21:17:05 tg Exp $");
 #endif
 
 #include <string.h>
@@ -137,13 +137,13 @@ typedef unsigned char sELEMENT;
 /* sELEMENT *vsmk(int len);
  * Create a variable length array.  Space for 'len' elements is preallocated.
  */
-sELEMENT *vsmk PARAMS((int len));
+sELEMENT *vsmk(int len);
 
 /* void vsrm(sELEMENT *vary);
  * Free an array and everything which is in it.  Does nothing if 'vary' is
  * 0.
  */
-void vsrm PARAMS((sELEMENT *vary));
+void vsrm(sELEMENT *vary);
 
 /********************/
 /* Space management */
@@ -180,7 +180,7 @@ void vsrm PARAMS((sELEMENT *vary));
  * Compute length of char or variable length array by searching for termination
  * element.  Returns 0 if 'vary' is 0.
  */
-int slen PARAMS((const sELEMENT *ary));
+int slen(const sELEMENT *ary);
 
 /* sELEMENT *vsensure(sELEMENT *vary, int len);
  * Make sure there's enough space in the array for 'len' elements.  Whenever
@@ -188,13 +188,13 @@ int slen PARAMS((const sELEMENT *ary));
  * minimum space in anticipation of future expansion.  If 'vary' is 0,
  * it creates a new array.
  */
-sELEMENT *vsensure PARAMS((sELEMENT *vary, int len));
+sELEMENT *vsensure(sELEMENT *vary, int len);
 
 /* sELEMENT *vstrunc(sELEMENT *vary, int len));
  * Truncate array to indicated size.  This zaps or expands with blank elements
  * and sets the LEN() of the array.  A new array is created if 'vary' is 0.
  */
-sELEMENT *vstrunc PARAMS((sELEMENT *vary, int len));
+sELEMENT *vstrunc(sELEMENT *vary, int len);
 
 /************************************/
 /* Function which write to an array */
@@ -208,7 +208,7 @@ sELEMENT *vstrunc PARAMS((sELEMENT *vary, int len));
  * This does not zap previous values.  If you need that to happen, call
  * vszap first.  It does move the terminator around properly though.
  */
-sELEMENT *vsfill PARAMS((sELEMENT *vary, int pos, sELEMENT el, int len));
+sELEMENT *vsfill(sELEMENT *vary, int pos, sELEMENT el, int len);
 
 /* sELEMENT *vsncpy(sELEMENT *vary, int pos, const sELEMENT *array, int len));
  * Copy 'len' elements from 'array' onto 'vary' beginning at position 'pos'.
@@ -216,14 +216,14 @@ sELEMENT *vsfill PARAMS((sELEMENT *vary, int pos, sELEMENT el, int len));
  * elements are copied, not duplicated.  A new array is created if 'vary' is
  * 0.  This does not zap previous elements.
  */
-sELEMENT *vsncpy PARAMS((sELEMENT *vary, int pos, const sELEMENT *array, int len));
+sELEMENT *vsncpy(sELEMENT *vary, int pos, const sELEMENT *array, int len);
 
 /* sELEMENT *vsndup(sELEMENT *vary, int pos, sELEMENT *array, int len));
  * Duplicate 'len' elements from 'array' onto 'vary' beginning at position
  * 'pos'.  'array' can be a char array since its length is passed seperately.  A
  * new array is created if 'vary' is 0.
  */
-sELEMENT *vsndup PARAMS((sELEMENT *vary, int pos, sELEMENT *array, int len));
+sELEMENT *vsndup(sELEMENT *vary, int pos, sELEMENT *array, int len);
 
 /* sELEMENT *vsdup(sELEMENT *vary));
  * Duplicate array.  This is just a functionalized version of:
@@ -238,7 +238,7 @@ sELEMENT *vsndup PARAMS((sELEMENT *vary, int pos, sELEMENT *array, int len));
  * functionalized instances of the ones you use most often - especially since
  * the macros aren't safe).
  */
-sELEMENT *vsdup PARAMS((sELEMENT *vary));
+sELEMENT *vsdup(sELEMENT *vary);
 
 /* sELEMENT *vsset(sELEMENT *vary, int pos, sELEMENT element);
  * Set an element in an array.  Any value of 'pos' is valid.  A new array
@@ -246,7 +246,7 @@ sELEMENT *vsdup PARAMS((sELEMENT *vary));
  * deleted.    This does not duplicate 'element'.  If you need 'element'
  * duplicated, call: vsset(vary,pos,sdup(element));
  */
-sELEMENT *_vsset PARAMS((sELEMENT *vary, int pos, sELEMENT el));
+sELEMENT *_vsset(sELEMENT *vary, int pos, sELEMENT el);
 
 #define vsset(v, p, el)  \
  (!(v) || (p) > sLen(v) || (p) >= sSiz(v) ?  \
@@ -327,7 +327,7 @@ sELEMENT *_vsset PARAMS((sELEMENT *vary, int pos, sELEMENT el));
  *
  * Hmm... this should really indicate whether or not the element was found.
  */
-int vsbsearch PARAMS((const sELEMENT *ary, int len, sELEMENT el));
+int vsbsearch(const sELEMENT *ary, int len, sELEMENT el);
 
 /* int vscmpn(sELEMENT *a, int alen, sELEMENT *b, int blen);
  *
@@ -335,13 +335,13 @@ int vsbsearch PARAMS((const sELEMENT *ary, int len, sELEMENT el));
  * return 0.  If 'a' < 'b', return -1.  Longer strings are > shorter ones if
  * their beginning match.
  */
-int vscmpn PARAMS((sELEMENT *a, int alen, sELEMENT *b, int blen));
+int vscmpn(sELEMENT *a, int alen, sELEMENT *b, int blen);
 
 /* int vscmp(sELEMENT *a, sELEMENT *b);
  *
  * Functionalized version of: vscmpn(sv(a), sv(b));
  */
-int vscmp PARAMS((sELEMENT *a, sELEMENT *b));
+int vscmp(sELEMENT *a, sELEMENT *b);
 
 /* int vsscan(const sELEMENT *a, int alen, const sELEMENT *b, int blen);
  * Find offset of first matching element in 'a' which matches any
@@ -349,11 +349,11 @@ int vscmp PARAMS((sELEMENT *a, sELEMENT *b));
  *
  * Hmm... this really needs to return what the found element is.
  */
-int vsscan PARAMS((const sELEMENT *a, int alen, const sELEMENT *b, int blen));
+int vsscan(const sELEMENT *a, int alen, const sELEMENT *b, int blen);
 
 /* int vsspan(sELEMENT *a, int alen, sELEMENT *b, int blen);
  * Find offset of first matching element in 'a' which does not match any
  * of the elements passed in 'b'.  Array 'b' must be sorted.
  */
-int vsspan PARAMS((sELEMENT *a, int alen, sELEMENT *b, int blen));
+int vsspan(sELEMENT *a, int alen, sELEMENT *b, int blen);
 #endif
diff --git a/w.c b/w.c
index 90be99f..a08095e 100644 (file)
--- a/w.c
+++ b/w.c
@@ -8,11 +8,9 @@
 #include "config.h"
 #include "types.h"
 
-__RCSID("$MirOS: contrib/code/jupp/w.c,v 1.8 2017/12/02 02:07:38 tg Exp $");
+__RCSID("$MirOS: contrib/code/jupp/w.c,v 1.9 2017/12/06 21:17:05 tg Exp $");
 
-#ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#endif
 
 #include "blocks.h"
 #include "kbd.h"
diff --git a/w.h b/w.h
index bc612cf..1877aed 100644 (file)
--- a/w.h
+++ b/w.h
@@ -9,7 +9,7 @@
 #define _JOE_W_H 1
 
 #ifdef EXTERN
-__IDSTRING(rcsid_w_h, "$MirOS: contrib/code/jupp/w.h,v 1.6 2017/12/02 17:00:53 tg Exp $");
+__IDSTRING(rcsid_w_h, "$MirOS: contrib/code/jupp/w.h,v 1.8 2017/12/06 23:02:08 tg Exp $");
 #endif
 
 /***************/
@@ -19,34 +19,34 @@ __IDSTRING(rcsid_w_h, "$MirOS: contrib/code/jupp/w.h,v 1.6 2017/12/02 17:00:53 t
 /* int getgrouph(W *);
  * Get height of a family of windows
  */
-int getgrouph PARAMS((W *w));
+int getgrouph(W *w);
 
 /* W *findtopw(W *);
  * Find first (top-most) window of a family
  */
-W *findtopw PARAMS((W *w));
+W *findtopw(W *w);
 
 /* W *findbotw(W *);
  * Find last (bottom-most) window a family
  */
-W *findbotw PARAMS((W *w));
+W *findbotw(W *w);
 
-int demotegroup PARAMS((W *w));
+int demotegroup(W *w);
 
 /* W *lastw(SCREEN *t);
  * Find last window on screen
  */
-W *lastw PARAMS((SCREEN *t));
+W *lastw(SCREEN *t);
 
 /* Determine number of main windows
  */
-int countmain PARAMS((SCREEN *t));
+int countmain(SCREEN *t);
 
 /* void wfit(SCREEN *t);
  *
  * Fit all of the windows onto the screen
  */
-void wfit PARAMS((SCREEN *t));
+void wfit(SCREEN *t);
 
 /*****************/
 /* Main routines */
@@ -56,17 +56,12 @@ void wfit PARAMS((SCREEN *t));
  *
  * Create a screen
  */
-SCREEN *screate PARAMS((SCRN *scrn));
+SCREEN *screate(SCRN *scrn);
 
 /* void sresize(SCREEN *t);
  * Screen size changed
  */
-void sresize PARAMS((SCREEN *t));
-
-/* void chsize(SCREEN *t,int mul,int div)
- * Resize windows: each window is multiplied by the fraction mul/div
- */
-void chsize PARAMS(());
+void sresize(SCREEN *t);
 
 /* W *wcreate(SCREEN *t,WATOM *watom,W *where,W *target,W *original,int height);
  *
@@ -88,87 +83,88 @@ void chsize PARAMS(());
  * Returns the new window or returns 0 if there was not enough space to
  * create the window and maintain family integrity.
  */
-W *wcreate PARAMS((SCREEN *t, WATOM *watom, W *where, W *target, W *original, int height, const unsigned char *huh, int *notify));
+W *wcreate(SCREEN *t, WATOM *watom, W *where, W *target, W *original, int height, const unsigned char *huh, int *notify);
 
 /* int wabort(W *w);
  *
  * Kill a window and it's children
  */
-int wabort PARAMS((W *w));
+int wabort(W *w);
 
 /* int wnext(SCREEN *);
  *
  * Switch to next window
  */
-int wnext PARAMS((SCREEN *t));
+int wnext(SCREEN *t);
 
 /* int wprev(SCREEN *);
  *
  * Switch to previous window
  */
-int wprev PARAMS((SCREEN *t));
+int wprev(SCREEN *t);
 
 /* int wgrow(W *);
  *
  * increase size of window.  Return 0 for success, -1 for fail.
  */
-int wgrow PARAMS((W *w));
+int wgrow(W *w);
 
 /* int wshrink(W *);
  *
  * Decrease size of window.  Returns 0 for success, -1 for fail.
  */
-int wshrink PARAMS((W *w));
+int wshrink(W *w);
 
 /* void wshowone(W *);
  *
  * Show only one window on the screen
  */
-void wshowone PARAMS((W *w));
+void wshowone(W *w);
 
 /* void wshowall(SCREEN *);
  *
  * Show all windows on the screen, including the given one
  */
-void wshowall PARAMS((SCREEN *t));
+void wshowall(SCREEN *t);
 
 /* void wredraw(W *);
  *
  * Force complete redraw of window
  */
-void wredraw PARAMS((W *w));
+void wredraw(W *w);
 
 /* void updall()
  *
  * Redraw all windows
  */
-void updall PARAMS((void));
+void updall(void);
 
 /* void msgnw[t](W *w, char *s);
  * Display a message which will be eliminated on the next keypress.
  * msgnw displays message on bottom line of window
  * msgnwt displays message on top line of window
  */
-void msgnw PARAMS((W *w, const unsigned char *s));
-void msgnwt PARAMS((W *w, const unsigned char *s));
+void msgnw(W *w, const unsigned char *s);
+void msgnwt(W *w, const unsigned char *s);
 
+/* Message composition buffer for msgnw/msgnwt */
 #define JOE_MSGBUFSIZE 300
-extern unsigned char msgbuf[JOE_MSGBUFSIZE];   /* Message composition buffer for msgnw/msgnwt */
+extern unsigned char msgbuf[JOE_MSGBUFSIZE];
 
-void msgout PARAMS((W *w));                    /* Output msgnw/msgnwt messages */
+void msgout(W *w);                     /* Output msgnw/msgnwt messages */
 
 /* Common user functions */
 
-int urtn PARAMS((BASE *b, int k));             /* User hit return */
-int utype PARAMS((BASE *b, int k));            /* User types a character */
-int uretyp PARAMS((BASE *bw));                 /* Refresh the screen */
-int ugroww PARAMS((BASE *bw));                 /* Grow current window */
-int uexpld PARAMS((BASE *bw));                 /* Explode current window or show all windows */
-int ushrnk PARAMS((BASE *bw));                 /* Shrink current window */
-int unextw PARAMS((BASE *bw));                 /* Goto next window */
-int uprevw PARAMS((BASE *bw));                 /* Goto previous window */
-
-void scrdel PARAMS((B *b, long int l, long int n, int flg));
-void scrins PARAMS((B *b, long int l, long int n, int flg));
+int urtn(BASE *b, int k);              /* User hit return */
+int utype(BASE *b, int k);             /* User types a character */
+int uretyp(BASE *bw);                  /* Refresh the screen */
+int ugroww(BASE *bw);                  /* Grow current window */
+int uexpld(BASE *bw);                  /* Explode current window or show all windows */
+int ushrnk(BASE *bw);                  /* Shrink current window */
+int unextw(BASE *bw);                  /* Goto next window */
+int uprevw(BASE *bw);                  /* Goto previous window */
+
+void scrdel(B *b, long int l, long int n, int flg);
+void scrins(B *b, long int l, long int n, int flg);
 
 #endif