Deleted Added
full compact
shell.c (136758) shell.c (157188)
1/* $FreeBSD: head/contrib/libreadline/shell.c 136758 2004-10-21 20:02:02Z peter $ */
2
1/* $FreeBSD: head/contrib/libreadline/shell.c 157188 2006-03-27 23:11:32Z ache $ */
3/* shell.c -- readline utility functions that are normally provided by
4 bash when readline is linked as part of the shell. */
5
6/* Copyright (C) 1997 Free Software Foundation, Inc.
7
8 This file is part of the GNU Readline Library, a library for
9 reading lines of text with interactive input and history editing.
10

--- 34 unchanged lines hidden (view full) ---

45#else
46# include <strings.h>
47#endif /* !HAVE_STRING_H */
48
49#if defined (HAVE_LIMITS_H)
50# include <limits.h>
51#endif
52
2/* shell.c -- readline utility functions that are normally provided by
3 bash when readline is linked as part of the shell. */
4
5/* Copyright (C) 1997 Free Software Foundation, Inc.
6
7 This file is part of the GNU Readline Library, a library for
8 reading lines of text with interactive input and history editing.
9

--- 34 unchanged lines hidden (view full) ---

44#else
45# include <strings.h>
46#endif /* !HAVE_STRING_H */
47
48#if defined (HAVE_LIMITS_H)
49# include <limits.h>
50#endif
51
52#if defined (HAVE_FCNTL_H)
53#include <fcntl.h>
53#include <fcntl.h>
54#endif
55#if defined (HAVE_PWD_H)
54#include <pwd.h>
56#include <pwd.h>
57#endif
55
56#include <stdio.h>
57
58#include "rlstdc.h"
59#include "rlshell.h"
60#include "xmalloc.h"
61
58
59#include <stdio.h>
60
61#include "rlstdc.h"
62#include "rlshell.h"
63#include "xmalloc.h"
64
62#if !defined (HAVE_GETPW_DECLS)
65#if defined (HAVE_GETPWUID) && !defined (HAVE_GETPW_DECLS)
63extern struct passwd *getpwuid PARAMS((uid_t));
66extern struct passwd *getpwuid PARAMS((uid_t));
64#endif /* !HAVE_GETPW_DECLS */
67#endif /* HAVE_GETPWUID && !HAVE_GETPW_DECLS */
65
66#ifndef NULL
67# define NULL 0
68#endif
69
70#ifndef CHAR_BIT
71# define CHAR_BIT 8
72#endif

--- 46 unchanged lines hidden (view full) ---

119/* Set the environment variables LINES and COLUMNS to lines and cols,
120 respectively. */
121void
122sh_set_lines_and_columns (lines, cols)
123 int lines, cols;
124{
125 char *b;
126
68
69#ifndef NULL
70# define NULL 0
71#endif
72
73#ifndef CHAR_BIT
74# define CHAR_BIT 8
75#endif

--- 46 unchanged lines hidden (view full) ---

122/* Set the environment variables LINES and COLUMNS to lines and cols,
123 respectively. */
124void
125sh_set_lines_and_columns (lines, cols)
126 int lines, cols;
127{
128 char *b;
129
127#if defined (HAVE_PUTENV)
128 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("LINES=") + 1);
129 sprintf (b, "LINES=%d", lines);
130 putenv (b);
131
132 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("COLUMNS=") + 1);
133 sprintf (b, "COLUMNS=%d", cols);
134 putenv (b);
135#else /* !HAVE_PUTENV */
136# if defined (HAVE_SETENV)
130#if defined (HAVE_SETENV)
137 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1);
138 sprintf (b, "%d", lines);
139 setenv ("LINES", b, 1);
140 free (b);
141
142 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1);
143 sprintf (b, "%d", cols);
144 setenv ("COLUMNS", b, 1);
145 free (b);
131 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1);
132 sprintf (b, "%d", lines);
133 setenv ("LINES", b, 1);
134 free (b);
135
136 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1);
137 sprintf (b, "%d", cols);
138 setenv ("COLUMNS", b, 1);
139 free (b);
146# endif /* HAVE_SETENV */
147#endif /* !HAVE_PUTENV */
140#else /* !HAVE_SETENV */
141# if defined (HAVE_PUTENV)
142 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("LINES=") + 1);
143 sprintf (b, "LINES=%d", lines);
144 putenv (b);
145
146 b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("COLUMNS=") + 1);
147 sprintf (b, "COLUMNS=%d", cols);
148 putenv (b);
149# endif /* HAVE_PUTENV */
150#endif /* !HAVE_SETENV */
148}
149
150char *
151sh_get_env_value (varname)
152 const char *varname;
153{
154 return ((char *)getenv (varname));
155}
156
157char *
158sh_get_home_dir ()
159{
160 char *home_dir;
161 struct passwd *entry;
162
163 home_dir = (char *)NULL;
151}
152
153char *
154sh_get_env_value (varname)
155 const char *varname;
156{
157 return ((char *)getenv (varname));
158}
159
160char *
161sh_get_home_dir ()
162{
163 char *home_dir;
164 struct passwd *entry;
165
166 home_dir = (char *)NULL;
167#if defined (HAVE_GETPWUID)
164 entry = getpwuid (getuid ());
165 if (entry)
166 home_dir = entry->pw_dir;
168 entry = getpwuid (getuid ());
169 if (entry)
170 home_dir = entry->pw_dir;
171#endif
167 return (home_dir);
168}
169
170#if !defined (O_NDELAY)
171# if defined (FNDELAY)
172# define O_NDELAY FNDELAY
173# endif
174#endif
175
176int
177sh_unset_nodelay_mode (fd)
178 int fd;
179{
172 return (home_dir);
173}
174
175#if !defined (O_NDELAY)
176# if defined (FNDELAY)
177# define O_NDELAY FNDELAY
178# endif
179#endif
180
181int
182sh_unset_nodelay_mode (fd)
183 int fd;
184{
185#if defined (HAVE_FCNTL)
180 int flags, bflags;
181
182 if ((flags = fcntl (fd, F_GETFL, 0)) < 0)
183 return -1;
184
185 bflags = 0;
186
187#ifdef O_NONBLOCK

--- 4 unchanged lines hidden (view full) ---

192 bflags |= O_NDELAY;
193#endif
194
195 if (flags & bflags)
196 {
197 flags &= ~bflags;
198 return (fcntl (fd, F_SETFL, flags));
199 }
186 int flags, bflags;
187
188 if ((flags = fcntl (fd, F_GETFL, 0)) < 0)
189 return -1;
190
191 bflags = 0;
192
193#ifdef O_NONBLOCK

--- 4 unchanged lines hidden (view full) ---

198 bflags |= O_NDELAY;
199#endif
200
201 if (flags & bflags)
202 {
203 flags &= ~bflags;
204 return (fcntl (fd, F_SETFL, flags));
205 }
206#endif
200
201 return 0;
202}
207
208 return 0;
209}