diff options
author | alm <alm@FreeBSD.org> | 1993-07-02 06:16:28 +0000 |
---|---|---|
committer | alm <alm@FreeBSD.org> | 1993-07-02 06:16:28 +0000 |
commit | ffd56febcd70e72e29c1367e57a885768c0eea9e (patch) | |
tree | 273115a0902cdaf8962fa45cde6551f054acb914 | |
parent | 20c65c6730a48da179a586a7b3a5fd777c9e4eb6 (diff) | |
download | FreeBSD-src-ffd56febcd70e72e29c1367e57a885768c0eea9e.zip FreeBSD-src-ffd56febcd70e72e29c1367e57a885768c0eea9e.tar.gz |
Consolidate mark code - no functional changes or fixes.
-rw-r--r-- | bin/ed/buf.c | 38 | ||||
-rw-r--r-- | bin/ed/ed.h | 5 |
2 files changed, 41 insertions, 2 deletions
diff --git a/bin/ed/buf.c b/bin/ed/buf.c index 1d74cb8..7c92e55 100644 --- a/bin/ed/buf.c +++ b/bin/ed/buf.c @@ -49,13 +49,13 @@ static char sccsid[] = "@(#)buf.c 5.5 (Berkeley) 3/28/93"; #include "ed.h" extern char errmsg[]; -extern line_t line0; FILE *sfp; /* scratch file pointer */ char *sfbuf = NULL; /* scratch file input buffer */ int sfbufsz = 0; /* scratch file input buffer size */ off_t sfseek; /* scratch file position */ int seek_write; /* seek before writing */ +line_t line0; /* initial node of line queue */ /* gettxt: get a line of text from the scratch file; return pointer to the text */ @@ -248,3 +248,39 @@ quit(n) } exit(n); } + + +unsigned char ctab[256]; /* character translation table */ + +/* init_buf: open scratch buffer; initialize line queue */ +void +init_buf() +{ + int i = 0; + + if (sbopen() < 0) + quit(2); + requeue(&line0, &line0); + for (i = 0; i < 256; i++) + ctab[i] = i; +} + + +/* translit: translate characters in a string */ +char * +translit(s, len, from, to) + char *s; + int len; + int from; + int to; +{ + static int i = 0; + + unsigned char *us; + + ctab[i] = i; /* restore table to initial state */ + ctab[i = from] = to; + for (us = (unsigned char *) s; len-- > 0; us++) + *us = ctab[*us]; + return s; +} diff --git a/bin/ed/ed.h b/bin/ed/ed.h index c854364..20d5cec 100644 --- a/bin/ed/ed.h +++ b/bin/ed/ed.h @@ -206,6 +206,7 @@ int desputc __P((int, FILE *)); int docmd __P((int)); void err __P((char *)); char *ccl __P((char *)); +void clrmark __P((line_t *)); void cvtkey __P((char *, char *)); long doglob __P((int)); void dohup __P((int)); @@ -223,6 +224,7 @@ int getkey __P((void)); char *getlhs __P((int)); int getline __P((void)); int getlist __P((void)); +long getmark __P((int)); long getnum __P((int)); long getone __P((void)); line_t *getlp __P((long)); @@ -236,12 +238,12 @@ line_t *lpdup __P((line_t *)); void lpqueue __P((line_t *)); void makekey __P((char *)); char *makesub __P((int)); -char *translit __P((char *, int, int, int)); int move __P((long, int)); int oddesc __P((char *, char *)); void onhup __P((int)); void onintr __P((int)); pattern_t *optpat __P((void)); +int putmark __P((int, line_t *)); void putstr __P((char *, int, long, int)); char *puttxt __P((char *)); void quit __P((int)); @@ -253,6 +255,7 @@ int catsub __P((char *, regmatch_t *, int)); int subst __P((pattern_t *, int)); int tobinhex __P((int, int)); int transfer __P((long)); +char *translit __P((char *, int, int, int)); int undo __P((int)); undo_t *upush __P((int, long, long)); void ureset __P((void)); |