/* Client process that communicates with GNU Emacs acting as server.
- Copyright (C) 1986, 1987, 1994, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1986-1987, 1994, 1999-2011 Free Software Foundation, Inc.
This file is part of GNU Emacs.
# define CLOSE_SOCKET closesocket
# define INITIALIZE() (initialize_sockets ())
+char *w32_getenv (char *);
+#define egetenv(VAR) w32_getenv(VAR)
+
#else /* !WINDOWSNT */
# include "syswait.h"
# define WCONTINUED 8
# endif
+#define egetenv(VAR) getenv(VAR)
+
#endif /* !WINDOWSNT */
#undef signal
#include <stdarg.h>
#include <ctype.h>
#include <stdio.h>
-#include "getopt.h"
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
+#include <getopt.h>
+#include <unistd.h>
#include <pwd.h>
#include <sys/stat.h>
char *(getcwd) (char *, size_t);
#endif
-#ifdef WINDOWSNT
-char *w32_getenv (char *);
-#define egetenv(VAR) w32_getenv(VAR)
-#else
-#define egetenv(VAR) getenv(VAR)
-#endif
-
#ifndef VERSION
#define VERSION "unspecified"
#endif
\f
/* Name used to invoke this program. */
-char *progname;
+const char *progname;
/* The second argument to main. */
char **main_argv;
{
while (data)
{
- int dlen = strlen (data);
+ size_t dlen = strlen (data);
if (dlen + sblen >= SEND_BUFFER_SIZE)
{
int part = SEND_BUFFER_SIZE - sblen;
\f
int
-file_name_absolute_p (const unsigned char *filename)
+file_name_absolute_p (const char *filename)
{
/* Sanity check, it shouldn't happen. */
if (! filename) return FALSE;
#ifdef WINDOWSNT
/* X:\xxx is always absolute. */
- if (isalpha (filename[0])
+ if (isalpha ((unsigned char) filename[0])
&& filename[1] == ':' && (filename[2] == '\\' || filename[2] == '/'))
return TRUE;
{
tmpdir = egetenv ("TMPDIR");
if (!tmpdir)
- tmpdir = "/tmp";
+ {
+#ifdef DARWIN_OS
+#ifndef _CS_DARWIN_USER_TEMP_DIR
+#define _CS_DARWIN_USER_TEMP_DIR 65537
+#endif
+ size_t n = confstr (_CS_DARWIN_USER_TEMP_DIR, NULL, (size_t) 0);
+ if (n > 0)
+ {
+ tmpdir = alloca (n);
+ confstr (_CS_DARWIN_USER_TEMP_DIR, tmpdir, n);
+ }
+ else
+#endif
+ tmpdir = "/tmp";
+ }
socket_name = alloca (strlen (tmpdir) + strlen (server_name)
+ EXTRA_SPACE);
sprintf (socket_name, "%s/emacs%d/%s",
#endif /* ! HAVE_STRERROR */
-/* arch-tag: f39bb9c4-73eb-477e-896d-50832e2ca9a7
- (do not change this comment) */
/* emacsclient.c ends here */