Fixup fromcvs/togit conversion
[minix-pkgsrc.git] / misc / fep / patches / patch-ac
blobd877f484ed906e957eb3bd4fe7a441e816ea77b0
1 $NetBSD: patch-ac,v 1.7 2012/03/01 22:00:44 hans Exp $
3 --- fep_com.c.orig      1991-05-29 01:31:09.000000000 -0400
4 +++ fep_com.c   2005-12-10 16:59:27.000000000 -0500
5 @@ -6,11 +6,25 @@
6 -#endif lint
7 +#endif /* lint */
8  
9  #include <stdio.h>
10 +#include <sys/ioctl.h>
11 +#ifdef TERMIOS
12 +#include <termios.h>
13 +#ifdef __linux__
14 +#ifndef _POSIX_VDISABLE
15 +#define _POSIX_VDISABLE '\0'
16 +#endif
17 +#endif
18 +#else
19  #include <sgtty.h>
20 +#endif
21  #include <ctype.h>
22 +#include <inttypes.h>
23 +#include <stdlib.h>
24  #include <sys/param.h>
25  #include <sys/file.h>
26  #include <sys/stat.h>
27 +#include <sys/types.h>
28 +#include <fcntl.h>
29  #include <sys/ioctl.h>
30  #include "fep_defs.h"
31  #include "fep_glob.h"
32 @@ -31,7 +45,7 @@ executeBuiltInFunction (comline, more)
33      char *comline, **more;
34  {
35      register FunctionTableEnt *ftp;
36 -    char linebuf[MAXCOMLEN], *line;
37 +    char linebuf[MAXCMDLEN], *line;
38      char *search_string();
39      int argc;
41 @@ -93,7 +107,7 @@ is_same_command (a, b)
43      while (*a && *b && *a == *b)
44         ++a, ++b;
45 -    if ((*a == NULL || isspace (*a)) && (*b == NULL || isspace (*b)))
46 +    if ((*a == '\0' || isspace ((unsigned char)*a)) && (*b == '\0' || isspace ((unsigned char)*b)))
47         return 1;
48      else
49         return 0;
50 @@ -295,7 +309,7 @@ unalias (comline)
51  set (comline)
52      char *comline;
53  {
54 -    char line[MAXCOMLEN];
55 +    char line[MAXCMDLEN];
56      char *cp, *index();
57      char *argv[MAXARGS];
58      int argc;
59 @@ -352,8 +366,13 @@ unset(comline)
61  extern int Transparency;
62  extern int Through;
63 -extern struct sgttyb slave_ttymode;
64 -extern struct sgttyb master_ttymode;
65 +#ifdef TERMIOS
66 +#define ttystruct termios
67 +#elif defined(TIOCSETN)
68 +#define ttystruct sgttyb
69 +#endif
70 +struct ttystruct master_ttymode;               /* master tty mode */
71 +struct ttystruct slave_ttymode;                /* slave tty mode */
72  extern int master, slave;
73  extern char slave_tty[];
75 @@ -368,7 +387,11 @@ toggle_through()
76  {
77      int r;
78      int slave_fd;
79 +#ifdef TERMIOS
80 +    struct termios s;
81 +#else
82      struct sgttyb s;
83 +#endif
85      if (Through == OFF) {
87 @@ -378,15 +401,26 @@ toggle_through()
88             return;
89         }
91 +#ifdef TERMIOS
92 +       r = tcgetattr(slave_fd, &s);
93 +#else
94         r = ioctl (slave_fd, TIOCGETP, (char *) &s);
95 +#endif
96         if (r < 0) {
97             perror (slave_tty);
98             (void) close (slave_fd);
99             return;
100         }
102 +#ifdef TERMIOS
103 +       s.c_lflag &= ~(ICANON);
104 +       s.c_cc[VMIN] = 1;
105 +       s.c_cc[VTIME] = 0;
106 +       r = tcsetattr(0, TCSANOW, &s);
107 +#else
108         s.sg_flags |= CBREAK;
109         r = ioctl (0, TIOCSETN, (char *) & s);
110 +#endif
111         if (r < 0) {
112             perror (slave_tty);
113             (void) close (slave_fd);
114 @@ -394,7 +428,11 @@ toggle_through()
115         (void) close (slave_fd);
116      }
117      else
118 +#ifdef TERMIOS
119 +       r = tcsetattr(0, TCSANOW, & master_ttymode);
120 +#else
121         r = ioctl (0, TIOCSETN, (char *) & master_ttymode);
122 +#endif
124      if (r < 0) {
125         printf ("Can't change pty mode.\n");
126 @@ -410,7 +448,11 @@ toggle_through()
127  fix_transparency()
129      int r;
130 +#ifdef TERMIOS
131 +    struct termios s;
132 +#else
133      struct sgttyb s;
134 +#endif
136      if (Through)
137         return;
138 @@ -418,11 +460,17 @@ fix_transparency()
139      if (slave < 0)
140         return;
142 +#ifdef TERMIOS
143 +    r = tcgetattr(slave, &s);
144 +    s.c_iflag |= ICRNL;
145 +    s.c_oflag |= ONLCR;
146 +#else
147      r = ioctl (slave, TIOCGETP, (char *) &s);
148      /*
149       * slave CRMOD is off, but master should be.
150       */
151      s.sg_flags |= CRMOD;
152 +#endif
153      if (r < 0) {
154         perror (slave_tty);
155         return;
156 @@ -432,9 +480,19 @@ fix_transparency()
157       * If find slave tty mode is cbreak or raw, fix tty mode of stdout to
158       * same mode as slave and set Transparency ON.
159       */
160 -    if (s.sg_flags & (CBREAK|RAW)) {
162 +#ifdef TERMIOS
163 +    if ((s.c_lflag & ICANON) == 0)
164 +#else
165 +    if (s.sg_flags & (CBREAK|RAW))
166 +#endif
167 +    {
168         if (Transparency == OFF) {
169 +#ifdef TERMIOS
170 +           r = tcsetattr(0, TCSANOW, & s);
171 +#else
172             r = ioctl (0, TIOCSETN, (char *) & s);
173 +#endif
174             if (r < 0) {
175                 perror ("stdout");
176                 return;
177 @@ -445,7 +503,11 @@ fix_transparency()
178      }
179      else {
180         if (Transparency == ON) {
181 -           r = ioctl (0, TIOCSETN, (char *) &master_ttymode);
182 +#ifdef TERMIOS
183 +           r = tcsetattr(0, TCSANOW, & master_ttymode);
184 +#else
185 +           r = ioctl (0, TIOCSETN, (char *) & master_ttymode);
186 +#endif
187             if (r < 0) {
188                 perror ("stdout");
189                 return;
190 @@ -623,10 +685,10 @@ MORE *create_more(maxline)
192      MORE *mp;
194 -    mp = (MORE *) malloc (sizeof (MORE));
195 +    mp = malloc (sizeof (MORE));
197      if (mp == 0)
198 -       return ((MORE*)0);
199 +       return (NULL);
200      else {
201         mp->cur_line = 0;
202         mp->max_line = maxline;
203 @@ -738,9 +800,9 @@ char *line;
204  fep_pwd (line)
205      char *line;
207 -    char cwd[MAXPATHLEN], *getwd();
208 +    char cwd[MAXPATHLEN];
210 -    (void) getwd (cwd);
211 +    (void) getcwd (cwd, sizeof(cwd));
212      printf ("%s\n", cwd);
215 @@ -755,7 +817,7 @@ fep_echo (comline)
216      argc = mkargv (comline, argv, MAXARGS);
217      
218      argp = &argv[1];
219 -    if (*argp && strcmp (*argp, "-n") == NULL) {
220 +    if (*argp && strcmp (*argp, "-n") == 0) {
221         putnewline = 0;
222         ++argp;
223      }
224 @@ -791,7 +853,7 @@ fep_command (comline)
225      int argc;
226      int i;
227      char **argp;
228 -    char *buf[256];
229 +    char buf[256];
231      argc = mkargv (comline, argv, MAXARGS);