Assume POSIX 1003.1-1988 or later for unistd.h.
* admin/CPP-DEFINES (BROKEN_GETWD, HAVE_GETCWD, HAVE_GETWD, HAVE_SIZE_T) (HAVE_UNISTD_H): Remove. * configure.ac: Do not check for getcwd or getwd. * lib-src/emacsclient.c (getcwd): Remove decl. (get_current_dir_name): Assume getcwd exists. * lib-src/etags.c (HAVE_GETCWD): Remove. (getcwd): Remove decl. (NO_LONG_OPTIONS): Remove this. All uses removed. Emacs always has GNU getopt. (etags_getcwd): Assume getcwd exists. * lib-src/movemail.c (F_OK, X_OK, W_OK, R_OK): Remove. * nt/config.nt (HAVE_GETCWD): Remove. * src/alloc.c: Assume unistd.h exists. * src/fileio.c (Fexpand_file_name) [DOS_NT]: Use getcwd, not getwd. * src/sysdep.c (get_current_dir_name): Assume getcwd exists. (getwd) [USG]: Remove; no longer needed. (sys_subshell) [DOS_NT]: Use getcwd, not getwd. * src/w32.c (getcwd): Rename from getwd, and switch to getcwd's API. * src/w32.h (getcwd): Remove decl. Fixes: debbugs:12945
This commit is contained in:
parent
954bba56c6
commit
9239d97052
16 changed files with 67 additions and 193 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-11-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945).
|
||||
* configure.ac: Do not check for getcwd or getwd.
|
||||
|
||||
2012-11-21 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.ac (--enable-profiling): Doc fix.
|
||||
|
|
|
@ -86,7 +86,6 @@ anymore, so they can be removed.
|
|||
AMPERSAND_FULL_NAME
|
||||
BROKEN_DATAGRAM_SOCKETS
|
||||
BROKEN_FIONREAD
|
||||
BROKEN_GETWD
|
||||
BROKEN_GET_CURRENT_DIR_NAME
|
||||
BROKEN_NON_BLOCKING_CONNECT
|
||||
BROKEN_PTY_READ_AFTER_EAGAIN
|
||||
|
@ -161,7 +160,6 @@ HAVE_FUTIMESAT
|
|||
HAVE_GAI_STRERROR
|
||||
HAVE_GCONF
|
||||
HAVE_GETADDRINFO
|
||||
HAVE_GETCWD
|
||||
HAVE_GETDELIM
|
||||
HAVE_GETGRENT
|
||||
HAVE_GETHOSTNAME
|
||||
|
@ -178,7 +176,6 @@ HAVE_GETRLIMIT
|
|||
HAVE_GETRUSAGE
|
||||
HAVE_GETSOCKNAME
|
||||
HAVE_GETTIMEOFDAY
|
||||
HAVE_GETWD
|
||||
HAVE_GET_CURRENT_DIR_NAME
|
||||
HAVE_GHOSTSCRIPT
|
||||
HAVE_GIF
|
||||
|
@ -304,7 +301,6 @@ HAVE_SIGNED_SIG_ATOMIC_T
|
|||
HAVE_SIGNED_WCHAR_T
|
||||
HAVE_SIGNED_WINT_T
|
||||
HAVE_SIGSET_T
|
||||
HAVE_SIZE_T
|
||||
HAVE_SNPRINTF
|
||||
HAVE_SOCKETS
|
||||
HAVE_SOUND
|
||||
|
@ -369,7 +365,6 @@ HAVE_TM_ZONE
|
|||
HAVE_TOUCHLOCK
|
||||
HAVE_TZNAME
|
||||
HAVE_TZSET
|
||||
HAVE_UNISTD_H
|
||||
HAVE_UNSIGNED_LONG_LONG_INT
|
||||
HAVE_UTIL_H
|
||||
HAVE_UTIMENSAT
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2012-11-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945).
|
||||
* CPP-DEFINES (BROKEN_GETWD, HAVE_GETCWD, HAVE_GETWD, HAVE_SIZE_T)
|
||||
(HAVE_UNISTD_H): Remove.
|
||||
|
||||
2012-11-17 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume POSIX 1003.1-1988 or later for fcntl.h (Bug#12881).
|
||||
|
|
10
configure.ac
10
configure.ac
|
@ -2894,7 +2894,7 @@ AC_CHECK_FUNCS(gethostname \
|
|||
closedir getrusage get_current_dir_name \
|
||||
lrand48 \
|
||||
select getpagesize setlocale \
|
||||
utimes getrlimit setrlimit getcwd shutdown getaddrinfo \
|
||||
utimes getrlimit setrlimit shutdown getaddrinfo \
|
||||
strsignal setitimer \
|
||||
sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \
|
||||
gai_strerror mkstemp getline getdelim fsync sync \
|
||||
|
@ -2903,14 +2903,6 @@ getpwent endpwent getgrent endgrent \
|
|||
touchlock \
|
||||
cfmakeraw cfsetspeed copysign __executable_start)
|
||||
|
||||
dnl getwd appears to be buggy on SVR4.2, so we don't use it.
|
||||
if test $opsys = unixware; then
|
||||
dnl In case some other test ends up checking for getwd.
|
||||
AC_DEFINE(BROKEN_GETWD, 1, [Define if getwd should not be used.])
|
||||
else
|
||||
AC_CHECK_FUNCS(getwd)
|
||||
fi
|
||||
|
||||
## Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
|
||||
## has a broken `rint' in some library versions including math library
|
||||
## version number A.09.05.
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
2012-11-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945).
|
||||
* emacsclient.c (getcwd): Remove decl.
|
||||
(get_current_dir_name): Assume getcwd exists.
|
||||
* etags.c (HAVE_GETCWD): Remove.
|
||||
(getcwd): Remove decl.
|
||||
(NO_LONG_OPTIONS): Remove this. All uses removed.
|
||||
Emacs always has GNU getopt.
|
||||
(etags_getcwd): Assume getcwd exists.
|
||||
* movemail.c (F_OK, X_OK, W_OK, R_OK): Remove.
|
||||
|
||||
2012-11-20 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* emacsclient.c (handle_sigcont, handle_sigtstp): Use raise (sig)
|
||||
|
|
|
@ -88,10 +88,7 @@ char *w32_getenv (char *);
|
|||
|
||||
|
||||
|
||||
char *getenv (const char *), *getwd (char *);
|
||||
#ifdef HAVE_GETCWD
|
||||
char *(getcwd) (char *, size_t);
|
||||
#endif
|
||||
char *getenv (const char *);
|
||||
|
||||
#ifndef VERSION
|
||||
#define VERSION "unspecified"
|
||||
|
@ -223,7 +220,7 @@ get_current_dir_name (void)
|
|||
char *buf;
|
||||
const char *pwd;
|
||||
struct stat dotstat, pwdstat;
|
||||
/* If PWD is accurate, use it instead of calling getwd. PWD is
|
||||
/* If PWD is accurate, use it instead of calling getcwd. PWD is
|
||||
sometimes a nicer name, and using it may avoid a fatal error if a
|
||||
parent directory is searchable but not readable. */
|
||||
if ((pwd = egetenv ("PWD")) != 0
|
||||
|
@ -240,7 +237,6 @@ get_current_dir_name (void)
|
|||
buf = (char *) xmalloc (strlen (pwd) + 1);
|
||||
strcpy (buf, pwd);
|
||||
}
|
||||
#ifdef HAVE_GETCWD
|
||||
else
|
||||
{
|
||||
size_t buf_size = 1024;
|
||||
|
@ -267,20 +263,6 @@ get_current_dir_name (void)
|
|||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
else
|
||||
{
|
||||
/* We need MAXPATHLEN here. */
|
||||
buf = (char *) xmalloc (MAXPATHLEN + 1);
|
||||
if (getwd (buf) == NULL)
|
||||
{
|
||||
int tmp_errno = errno;
|
||||
free (buf);
|
||||
errno = tmp_errno;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return buf;
|
||||
}
|
||||
#endif
|
||||
|
@ -1592,7 +1574,6 @@ main (int argc, char **argv)
|
|||
cwd = get_current_dir_name ();
|
||||
if (cwd == 0)
|
||||
{
|
||||
/* getwd puts message in STRING if it fails. */
|
||||
message (TRUE, "%s: %s\n", progname,
|
||||
"Cannot get current working directory");
|
||||
fail ();
|
||||
|
|
|
@ -123,19 +123,9 @@ char pot_etags_version[] = "@(#) pot revision number is 17.38.1.4";
|
|||
# undef HAVE_NTGUI
|
||||
# undef DOS_NT
|
||||
# define DOS_NT
|
||||
# ifndef HAVE_GETCWD
|
||||
# define HAVE_GETCWD
|
||||
# endif /* undef HAVE_GETCWD */
|
||||
#else /* not WINDOWSNT */
|
||||
#endif /* !WINDOWSNT */
|
||||
#endif /* WINDOWSNT */
|
||||
|
||||
#include <unistd.h>
|
||||
#ifndef HAVE_UNISTD_H
|
||||
# if defined (HAVE_GETCWD) && !defined (WINDOWSNT)
|
||||
extern char *getcwd (char *buf, size_t size);
|
||||
# endif
|
||||
#endif /* HAVE_UNISTD_H */
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@ -152,16 +142,7 @@ char pot_etags_version[] = "@(#) pot revision number is 17.38.1.4";
|
|||
# define assert(x) ((void) 0)
|
||||
#endif
|
||||
|
||||
#ifdef NO_LONG_OPTIONS /* define this if you don't have GNU getopt */
|
||||
# define NO_LONG_OPTIONS TRUE
|
||||
# define getopt_long(argc,argv,optstr,lopts,lind) getopt (argc, argv, optstr)
|
||||
extern char *optarg;
|
||||
extern int optind, opterr;
|
||||
#else
|
||||
# define NO_LONG_OPTIONS FALSE
|
||||
# include <getopt.h>
|
||||
#endif /* NO_LONG_OPTIONS */
|
||||
|
||||
#include <getopt.h>
|
||||
#include <regex.h>
|
||||
|
||||
/* Define CTAGS to make the program "ctags" compatible with the usual one.
|
||||
|
@ -869,11 +850,7 @@ print_help (argument *argbuffer)
|
|||
printf ("Usage: %s [options] [[regex-option ...] file-name] ...\n\
|
||||
\n\
|
||||
These are the options accepted by %s.\n", progname, progname);
|
||||
if (NO_LONG_OPTIONS)
|
||||
puts ("WARNING: long option names do not work with this executable,\n\
|
||||
as it is not linked with GNU getopt.");
|
||||
else
|
||||
puts ("You may use unambiguous abbreviations for the long option names.");
|
||||
puts ("You may use unambiguous abbreviations for the long option names.");
|
||||
puts (" A - as file name means read names from stdin (one per line).\n\
|
||||
Absolute names are stored in the output file as they are.\n\
|
||||
Relative ones are stored relative to the output file's directory.\n");
|
||||
|
@ -1065,9 +1042,9 @@ main (int argc, char **argv)
|
|||
|
||||
/* When the optstring begins with a '-' getopt_long does not rearrange the
|
||||
non-options arguments to be at the end, but leaves them alone. */
|
||||
optstring = concat (NO_LONG_OPTIONS ? "" : "-",
|
||||
"ac:Cf:Il:o:r:RSVhH",
|
||||
(CTAGS) ? "BxdtTuvw" : "Di:");
|
||||
optstring = concat ("-ac:Cf:Il:o:r:RSVhH",
|
||||
(CTAGS) ? "BxdtTuvw" : "Di:",
|
||||
"");
|
||||
|
||||
while ((opt = getopt_long (argc, argv, optstring, longopts, NULL)) != EOF)
|
||||
switch (opt)
|
||||
|
@ -6333,8 +6310,8 @@ pfatal (const char *s1)
|
|||
static void
|
||||
suggest_asking_for_help (void)
|
||||
{
|
||||
fprintf (stderr, "\tTry `%s %s' for a complete list of options.\n",
|
||||
progname, NO_LONG_OPTIONS ? "-h" : "--help");
|
||||
fprintf (stderr, "\tTry `%s --help' for a complete list of options.\n",
|
||||
progname);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
@ -6372,7 +6349,6 @@ concat (const char *s1, const char *s2, const char *s3)
|
|||
static char *
|
||||
etags_getcwd (void)
|
||||
{
|
||||
#ifdef HAVE_GETCWD
|
||||
int bufsize = 200;
|
||||
char *path = xnew (bufsize, char);
|
||||
|
||||
|
@ -6387,34 +6363,6 @@ etags_getcwd (void)
|
|||
|
||||
canonicalize_filename (path);
|
||||
return path;
|
||||
|
||||
#else /* not HAVE_GETCWD */
|
||||
#if MSDOS
|
||||
|
||||
char *p, path[MAXPATHLEN + 1]; /* Fixed size is safe on MSDOS. */
|
||||
|
||||
getwd (path);
|
||||
|
||||
for (p = path; *p != '\0'; p++)
|
||||
if (*p == '\\')
|
||||
*p = '/';
|
||||
else
|
||||
*p = lowcase (*p);
|
||||
|
||||
return strdup (path);
|
||||
#else /* not MSDOS */
|
||||
linebuffer path;
|
||||
FILE *pipe;
|
||||
|
||||
linebuffer_init (&path);
|
||||
pipe = (FILE *) popen ("pwd 2>/dev/null", "r");
|
||||
if (pipe == NULL || readline_internal (&path, pipe) == 0)
|
||||
pfatal ("pwd");
|
||||
pclose (pipe);
|
||||
|
||||
return path.buffer;
|
||||
#endif /* not MSDOS */
|
||||
#endif /* not HAVE_GETCWD */
|
||||
}
|
||||
|
||||
/* Return a newly allocated string containing the file name of FILE
|
||||
|
|
|
@ -96,13 +96,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include <fcntl.h>
|
||||
#endif /* WINDOWSNT */
|
||||
|
||||
#ifndef F_OK
|
||||
#define F_OK 0
|
||||
#define X_OK 1
|
||||
#define W_OK 2
|
||||
#define R_OK 4
|
||||
#endif
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
#include <sys/locking.h>
|
||||
#endif
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-11-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945).
|
||||
* config.nt (HAVE_GETCWD): Remove.
|
||||
|
||||
2012-11-21 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* nmake.defs: Use !if, not !ifdef. For the details, see
|
||||
|
|
|
@ -411,12 +411,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the `getaddrinfo' function. */
|
||||
#undef HAVE_GETADDRINFO
|
||||
|
||||
/* Define to 1 if you have the `getcwd' function.
|
||||
If you think about defining HAVE_GETCWD, don't: the alternative
|
||||
getwd is redefined on w32.c, and does not really return the current
|
||||
directory, to get the desired results elsewhere in Emacs. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define to 1 if you have the `getdelim' function. */
|
||||
#undef HAVE_GETDELIM
|
||||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
2012-11-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945).
|
||||
* alloc.c: Assume unistd.h exists.
|
||||
* fileio.c (Fexpand_file_name) [DOS_NT]: Use getcwd, not getwd.
|
||||
* sysdep.c (get_current_dir_name): Assume getcwd exists.
|
||||
(getwd) [USG]: Remove; no longer needed.
|
||||
(sys_subshell) [DOS_NT]: Use getcwd, not getwd.
|
||||
* w32.c (getcwd): Rename from getwd, and switch to getcwd's API.
|
||||
* w32.h (getcwd): Remove decl.
|
||||
|
||||
2012-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* xdisp.c (fast_set_selected_frame): Rename from update_tool_bar_unwind.
|
||||
|
|
|
@ -63,10 +63,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#ifndef HAVE_UNISTD_H
|
||||
extern void *sbrk ();
|
||||
#endif
|
||||
|
||||
#include <fcntl.h>
|
||||
|
||||
#ifdef USE_GTK
|
||||
|
|
|
@ -1148,7 +1148,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
|
|||
newdir = "/";
|
||||
}
|
||||
else
|
||||
getwd (adir);
|
||||
getcwd (adir, MAXPATHLEN + 1);
|
||||
newdir = adir;
|
||||
}
|
||||
|
||||
|
|
80
src/sysdep.c
80
src/sysdep.c
|
@ -101,7 +101,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#define _P_WAIT 0
|
||||
int _cdecl _spawnlp (int, const char *, const char *, ...);
|
||||
int _cdecl _getpid (void);
|
||||
extern char *getwd (char *);
|
||||
#endif
|
||||
|
||||
#include "syssignal.h"
|
||||
|
@ -134,12 +133,12 @@ char*
|
|||
get_current_dir_name (void)
|
||||
{
|
||||
char *buf;
|
||||
char *pwd;
|
||||
char *pwd = getenv ("PWD");
|
||||
struct stat dotstat, pwdstat;
|
||||
/* If PWD is accurate, use it instead of calling getwd. PWD is
|
||||
/* If PWD is accurate, use it instead of calling getcwd. PWD is
|
||||
sometimes a nicer name, and using it may avoid a fatal error if a
|
||||
parent directory is searchable but not readable. */
|
||||
if ((pwd = getenv ("PWD")) != 0
|
||||
if (pwd
|
||||
&& (IS_DIRECTORY_SEP (*pwd) || (*pwd && IS_DEVICE_SEP (pwd[1])))
|
||||
&& stat (pwd, &pwdstat) == 0
|
||||
&& stat (".", &dotstat) == 0
|
||||
|
@ -155,7 +154,6 @@ get_current_dir_name (void)
|
|||
return NULL;
|
||||
strcpy (buf, pwd);
|
||||
}
|
||||
#ifdef HAVE_GETCWD
|
||||
else
|
||||
{
|
||||
size_t buf_size = 1024;
|
||||
|
@ -179,22 +177,6 @@ get_current_dir_name (void)
|
|||
return NULL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
else
|
||||
{
|
||||
/* We need MAXPATHLEN here. */
|
||||
buf = malloc (MAXPATHLEN + 1);
|
||||
if (!buf)
|
||||
return NULL;
|
||||
if (getwd (buf) == NULL)
|
||||
{
|
||||
int tmp_errno = errno;
|
||||
free (buf);
|
||||
errno = tmp_errno;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return buf;
|
||||
}
|
||||
#endif
|
||||
|
@ -521,7 +503,7 @@ sys_subshell (void)
|
|||
const char *sh = 0;
|
||||
|
||||
#ifdef DOS_NT /* MW, Aug 1993 */
|
||||
getwd (oldwd);
|
||||
getcwd (oldwd, sizeof oldwd);
|
||||
if (sh == 0)
|
||||
sh = (char *) egetenv ("SUSPEND"); /* KFS, 1994-12-14 */
|
||||
#endif
|
||||
|
@ -2238,60 +2220,6 @@ emacs_readlink (char const *filename, char initial_buf[READLINK_BUFSIZE])
|
|||
&emacs_norealloc_allocator, careadlinkatcwd);
|
||||
}
|
||||
|
||||
#ifdef USG
|
||||
/*
|
||||
* All of the following are for USG.
|
||||
*
|
||||
* On USG systems the system calls are INTERRUPTIBLE by signals
|
||||
* that the user program has elected to catch. Thus the system call
|
||||
* must be retried in these cases. To handle this without massive
|
||||
* changes in the source code, we remap the standard system call names
|
||||
* to names for our own functions in sysdep.c that do the system call
|
||||
* with retries. Actually, for portability reasons, it is good
|
||||
* programming practice, as this example shows, to limit all actual
|
||||
* system calls to a single occurrence in the source. Sure, this
|
||||
* adds an extra level of function call overhead but it is almost
|
||||
* always negligible. Fred Fish, Unisoft Systems Inc.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Warning, this function may not duplicate 4.2 action properly
|
||||
* under error conditions.
|
||||
*/
|
||||
|
||||
#if !defined (HAVE_GETWD) || defined (BROKEN_GETWD)
|
||||
|
||||
#ifndef MAXPATHLEN
|
||||
/* In 4.1, param.h fails to define this. */
|
||||
#define MAXPATHLEN 1024
|
||||
#endif
|
||||
|
||||
char *
|
||||
getwd (char *pathname)
|
||||
{
|
||||
char *npath, *spath;
|
||||
extern char *getcwd (char *, size_t);
|
||||
|
||||
block_input (); /* getcwd uses malloc */
|
||||
spath = npath = getcwd ((char *) 0, MAXPATHLEN);
|
||||
if (spath == 0)
|
||||
{
|
||||
unblock_input ();
|
||||
return spath;
|
||||
}
|
||||
/* On Altos 3068, getcwd can return @hostname/dir, so discard
|
||||
up to first slash. Should be harmless on other systems. */
|
||||
while (*npath && *npath != '/')
|
||||
npath++;
|
||||
strcpy (pathname, npath);
|
||||
free (spath); /* getcwd uses malloc */
|
||||
unblock_input ();
|
||||
return pathname;
|
||||
}
|
||||
|
||||
#endif /* !defined (HAVE_GETWD) || defined (BROKEN_GETWD) */
|
||||
#endif /* USG */
|
||||
|
||||
/* Directory routines for systems that don't have them. */
|
||||
|
||||
#ifdef HAVE_DIRENT_H
|
||||
|
|
14
src/w32.c
14
src/w32.c
|
@ -908,8 +908,18 @@ static char startup_dir[MAXPATHLEN];
|
|||
|
||||
/* Get the current working directory. */
|
||||
char *
|
||||
getwd (char *dir)
|
||||
getcwd (char *dir, size_t dirsize)
|
||||
{
|
||||
if (!dirsize)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
}
|
||||
if (dirsize <= strlen (startup_dir))
|
||||
{
|
||||
errno = ERANGE;
|
||||
return NULL;
|
||||
}
|
||||
#if 0
|
||||
if (GetCurrentDirectory (MAXPATHLEN, dir) > 0)
|
||||
return dir;
|
||||
|
@ -1825,7 +1835,7 @@ init_environment (char ** argv)
|
|||
memcpy (*envp, "COMSPEC=", 8);
|
||||
}
|
||||
|
||||
/* Remember the initial working directory for getwd. */
|
||||
/* Remember the initial working directory for getcwd. */
|
||||
/* FIXME: Do we need to resolve possible symlinks in startup_dir?
|
||||
Does it matter anywhere in Emacs? */
|
||||
if (!GetCurrentDirectory (MAXPATHLEN, startup_dir))
|
||||
|
|
|
@ -163,7 +163,6 @@ extern int sys_spawnve (int, char *, char **, char **);
|
|||
extern void register_child (int, int);
|
||||
|
||||
extern void sys_sleep (int);
|
||||
extern char *getwd (char *);
|
||||
extern int sys_link (const char *, const char *);
|
||||
|
||||
|
||||
|
@ -181,4 +180,3 @@ extern ssize_t emacs_gnutls_push (gnutls_transport_ptr_t p,
|
|||
#endif /* HAVE_GNUTLS */
|
||||
|
||||
#endif /* EMACS_W32_H */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue