* dtable.cc: Define various device-related string constants as wide character

constants.
(dtable::init_std_file_from_handle): Reorganize pipe handling to try to catch
special tty case.
(build_fh_name_worker): Declare for common use.
(build_fh_name): Define char version.
(build_fh_name): Define (currently unused) UNICODE_STRING version.
(decode_tty): Detect if pipe is actually a cygwin tty, returning the tty name
in the buffer.
(handle_to_fn): Reorganize to use wide characters.
* dtable.h (build_fh_name): Declare (currently unused) UNICODE_STRING version.
* fhandler_tty.cc (fhandler_pty_master::setup): Use
fhandler_pipe::create_selectable to create a pipe with a given name.
* pipe.cc (pipe_handler): Make returned handle inheritable.
(fhandler_pipe::create_selectable): Take an optional name.  Use a standard
cygwin introducer for the name.
* path.cc (path_conv::check): Make first argument const.
* path.h (path_conv::check): Ditto for declaration.
(path_conv::path_conv): Ditto for UNICODE_STRING version.
This commit is contained in:
Christopher Faylor
2008-03-22 21:04:16 +00:00
parent b00c2ef98f
commit 1ffe3e67b1
9 changed files with 239 additions and 156 deletions

View File

@ -1,7 +1,7 @@
/* path.cc: path support.
/* path.cc: path support.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007 Red Hat, Inc.
2006, 2007, 2008 Red Hat, Inc.
This file is part of Cygwin.
@ -790,7 +790,7 @@ getfileattr (const char *path, bool managed) /* path has to be always absolute.
realy nothing but converting to char *, until path_conv handles
wide-char paths directly. */
void
path_conv::check (PUNICODE_STRING src, unsigned opt,
path_conv::check (const UNICODE_STRING *src, unsigned opt,
const suffix_info *suffixes)
{
tmp_pathbuf tp;