/* Remote File-I/O communications
- Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005-2012 Free Software Foundation, Inc.
This file is part of GDB.
#include "remote-fileio.h"
#include "event-loop.h"
#include "target.h"
+#include "filenames.h"
#include <fcntl.h>
#include <sys/time.h>
#ifdef __CYGWIN__
-#include <sys/cygwin.h> /* For cygwin_conv_to_full_posix_path. */
-#include <cygwin/version.h>
-#if CYGWIN_VERSION_DLL_MAKE_COMBINED(CYGWIN_VERSION_API_MAJOR,CYGWIN_VERSION_API_MINOR) < 181
-# define CCP_POSIX_TO_WIN_A 0
-# define CCP_WIN_A_TO_POSIX 2
-# define cygwin_conv_path(op, from, to, size) \
- (op == CCP_WIN_A_TO_POSIX) ? \
- cygwin_conv_to_full_posix_path (from, to) : \
- cygwin_conv_to_win32_path (from, to)
-#endif
+#include <sys/cygwin.h> /* For cygwin_conv_path. */
#endif
#include <signal.h>
cygwin_conv_path (CCP_WIN_A_TO_POSIX, newpath, newfullpath,
PATH_MAX);
len = strlen (oldfullpath);
- if (newfullpath[len] == '/'
- && !strncmp (oldfullpath, newfullpath, len))
+ if (IS_DIR_SEPARATOR (newfullpath[len])
+ && !filename_ncmp (oldfullpath, newfullpath, len))
errno = EINVAL;
else
errno = EEXIST;
if (fd == FIO_FD_CONSOLE_IN || fd == FIO_FD_CONSOLE_OUT)
{
remote_fileio_to_fio_uint (1, fst.fst_dev);
+ memset (&st, 0, sizeof (st));
st.st_mode = S_IFCHR | (fd == FIO_FD_CONSOLE_IN ? S_IRUSR : S_IWUSR);
st.st_nlink = 1;
#ifdef HAVE_GETUID
st.st_uid = getuid ();
-#else
- st.st_uid = 0;
#endif
#ifdef HAVE_GETGID
st.st_gid = getgid ();
-#else
- st.st_gid = 0;
#endif
- st.st_rdev = 0;
- st.st_size = 0;
#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
st.st_blksize = 512;
#endif
remote_fio_ctrl_c_flag = 0;
remote_fio_no_longjmp = 0;
- ex = catch_exceptions (uiout, do_remote_fileio_request, (void *)buf,
+ ex = catch_exceptions (current_uiout,
+ do_remote_fileio_request, (void *)buf,
RETURN_MASK_ALL);
switch (ex)
{