2730 lines
100 KiB
Plaintext
2730 lines
100 KiB
Plaintext
2009-10-02 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Move cxx_malloc reset kluge from here.
|
|
(check_sanity_and_sync): to here.
|
|
|
|
2009-09-30 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* path.cc (has_dot_last_component): Rewrite to detect some corner cases
|
|
that were previously uncaught.
|
|
|
|
2009-09-30 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_console.cc (beep): Move up to avoid forward declaration.
|
|
(fhandler_console::read): Just beep on characters invalid in current
|
|
charset. Add comment.
|
|
|
|
2009-09-29 Eric Blake <ebb9@byu.net>
|
|
|
|
* syscalls.cc (rename): Fix regression in rename("dir","d/").
|
|
|
|
2009-09-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::recv_internal): Always call
|
|
WSARecv on SOCK_STREAM sockets.
|
|
|
|
2009-09-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class dev_console): Constify charset parameter of
|
|
str_to_con.
|
|
* fhandler_console.cc (dev_console::con_to_str): Simplify. Always
|
|
default to the current internal locale.
|
|
(dev_console::get_console_cp): Always use codepage 437 for alternate
|
|
charset.
|
|
(dev_console::str_to_con): Constify charset parameter.
|
|
(fhandler_console::write_normal): Always use codepage 437 for alternate
|
|
charset. Otherwise always default to the current internal locale.
|
|
Replace ASCII SO with ASCII CAN.
|
|
* strfuncs.cc: Tweka comments according to below changes.
|
|
(sys_cp_wcstombs): Constify charset parameter. Convert all wchar_t
|
|
values in the Unicode private use area U+F0xx to the singlebyte
|
|
counterpart. Drop special handling creating ASCII SO sequence from
|
|
U+DCxx value. Rearrange for performance. Replace ASCII SO with
|
|
ASCII CAN.
|
|
(sys_cp_mbstowcs): Constify charset parameter. Replace ASCII SO with
|
|
ASCII CAN. Drop special case for U+DCxx ASCII SO sequences. Always
|
|
create a replacement from the Unicode private use area U+F0xx for
|
|
invalid byte values in a multibyte sequence. Do the same for wchar_t
|
|
values from the U+F0xx range to make them roundtrip safe.
|
|
* wchar.h (sys_cp_wcstombs): Constify charset parameter.
|
|
(sys_cp_mbstowcs): Ditto.
|
|
|
|
2009-09-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.cc (cygheap_init): Default locale.charset to "UTF-8".
|
|
* dcrt0.cc (dll_crt0_1): Call setlocale (LC_CTYPE, "") here, just
|
|
before resetting application locale to "C".
|
|
* environ.cc (environ_init): Drop code setting locale here.
|
|
* syscalls.cc (check_codepage): Break out check for required codepage
|
|
from internal_setlocale.
|
|
(internal_setlocale): Just convert CWD and $PATH from old charset to
|
|
new charset and set internal charset.
|
|
(setlocale): Change accordingly. Don't require LC_ALL or LC_CTYPE to
|
|
store old locale value. Always call internal_setlocale if charset
|
|
changed due to locale environment changes.
|
|
|
|
2009-09-26 Eric Blake <ebb9@byu.net>
|
|
|
|
* exec.cc (fexecve): New function.
|
|
* cygwin.din (execvpe, fexecve): Export new fexecve and existing
|
|
execvpe.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
* posix.sgml: Mention them.
|
|
|
|
2009-09-26 Eric Blake <ebb9@byu.net>
|
|
|
|
* syscalls.cc (link): Delete obsolete comment. Reject directories
|
|
and missing source up front.
|
|
(rename): Use correct errno for trailing '.'. Detect empty
|
|
strings. Allow trailing slash to newpath iff oldpath is
|
|
directory.
|
|
* dir.cc (mkdir): Reject dangling symlink with trailing slash.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Reject
|
|
trailing slash.
|
|
* fhandler.cc (fhandler_base::link): Match Linux errno.
|
|
|
|
2009-09-25 Eric Blake <ebb9@byu.net>
|
|
|
|
* syscalls.cc (fchmodat): lchmod is not yet implemented.
|
|
(euidaccess): New function.
|
|
* path.cc (realpath): Update comment.
|
|
(canonicalize_file_name): New function.
|
|
* include/cygwin/stdlib.h (canonicalize_file_name): Declare it.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
* cygwin.din: Export canonicalize_file_name, eaccess, euidaccess.
|
|
* posix.sgml: Mention them.
|
|
|
|
2009-09-25 Eric Blake <ebb9@byu.net>
|
|
|
|
* fhandler.h (fhandler_base::fhaccess): Add parameter.
|
|
* security.h (check_file_access, check_registry_access): Likewise.
|
|
* security.cc (check_file_access, check_registry_access)
|
|
(check_access): Implement new parameter.
|
|
* fhandler.cc (fhandler_base::fhaccess): Likewise.
|
|
(device_access_denied): Update caller.
|
|
* syscalls.cc (access, faccessat): Update callers.
|
|
* spawn.cc (find_exec, fixup): Likewise.
|
|
|
|
2009-09-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix_ipc.cc (mq_open): Avoid closing the same descriptor twice in
|
|
case of errors.
|
|
(sem_open): Ditto.
|
|
|
|
2009-09-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* kernel32.cc (CreateMutexW): Use correct access mask.
|
|
(CreateSemaphoreW): Ditto.
|
|
|
|
2009-09-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (__set_charset_from_codepage): Fetch current ANSI
|
|
codepage if cp is 0.
|
|
|
|
2009-09-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (sys_cp_wcstombs): Convert lone surrogate pair
|
|
second halves to unambiguous ASCII SO sequence. When converting
|
|
chars invalid in current codepage to ASCII SO sequence, make
|
|
sure to check for surrogate pair second half only if at least
|
|
one wide characters is left. Decrement nwc if valid second half has
|
|
been converted.
|
|
(sys_cp_mbstowcs): Improve ASCII SO handling. Never break from loop
|
|
if invalid character has been found. Recognize ASCII SO sequence
|
|
representing originally invalid mulitbyte char converted into a
|
|
lone surrogate pair second half. Convert accordingly.
|
|
|
|
2009-09-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (WSARecv): Define.
|
|
* fhandler_socket.cc (fhandler_socket::recv_internal): Call WSARecv
|
|
instead of WSARecvFrom if no name parameter is given. Explain why.
|
|
|
|
2009-09-22 Eric Blake <ebb9@byu.net>
|
|
|
|
* syscalls.cc (faccessat): Fix typo, reject bad flags.
|
|
(fchmodat, fchownat, fstatat, utimensat, linkat, unlinkat): Reject
|
|
bad flags.
|
|
|
|
2009-09-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (sys_cp_mbstowcs): Reset shift state after handling
|
|
invalid multibyte sequence.
|
|
|
|
2009-09-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink_worker): Rework error handling to generate Linux
|
|
compatible errno in case of trailing slash in newpath.
|
|
|
|
2009-09-22 Eric Blake <ebb9@byu.net>
|
|
|
|
* dtable.h (OPEN_MAX_MAX): New macro.
|
|
* resource.cc (getrlimit) [RLIMIT_NOFILE]: Use it.
|
|
* dtable.cc (dtable::extend): Likewise.
|
|
* fcntl.cc (fcntl64): Obey POSIX rule with too-large F_DUPFD.
|
|
* syscalls.cc (dup2): Likewise.
|
|
|
|
2009-09-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.h (cwdstuff::get_posix): Convert to const inline method just
|
|
returning pointer to posix path.
|
|
(cwdstuff::reset_posix): Convert to non-inline method taking a wchar_t
|
|
pointer.
|
|
* path.cc (cwdstuff::set): Revert change from 2009-05-13. Set posix
|
|
to valid incoming path again.
|
|
(cwdstuff::reset_posix): New implementation setting posix path from
|
|
incoming wchar_t path. Explain usage.
|
|
(cwdstuff::get_posix): Drop implementation.
|
|
(cwdstuff::get): Drop special case to handle empty posix path.
|
|
* syscalls.cc (internal_setlocale): Store old posix cwd as wide char
|
|
path. Restore posix cwd using new charset. Explain why.
|
|
|
|
2009-09-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Drop faking hardlink
|
|
creation on filesystems not supporting hardlinks.
|
|
|
|
2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Add another hack to REALLY make sure that
|
|
cxx_malloc is always set to the cygwin version.
|
|
|
|
2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* external.cc (cygwin_internal): Add hack to always reset cxx_malloc to
|
|
proper value.
|
|
|
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Relocate wayward
|
|
comment.
|
|
|
|
2009-09-19 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* exceptions.cc (sigpacket::process): Explicitly set thread-specific
|
|
handler function to zero to avoid transferring to incorrect location.
|
|
(_cygtls::call_signal_handler): Don't transfer to handler if there is
|
|
no handler to transfer to.
|
|
|
|
2009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* exceptions.cc (sigpacket::process): Give sigwait() processing
|
|
precedence even when a handler is present.
|
|
|
|
* syscalls.cc (getpagesize): Change return to 'int'.
|
|
|
|
2009-09-16 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* ntea.c (write_ea): Don't abort if not-samba.
|
|
|
|
2009-09-01 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* select.cc (peek_console): Always check window size when there is ANY
|
|
keyboard activity.
|
|
|
|
2009-08-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.h (INTERIX_SYMLINK_COOKIE): Define.
|
|
* path.cc (symlink_info::check_sysfile): Read Interix symlinks as well.
|
|
|
|
2009-08-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::open): Only set R/O attribute if ACLs
|
|
are not used.
|
|
|
|
2009-08-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (fs_info::update): Add comment.
|
|
* path.cc (symlink_info::check_reparse_point): Return -1 for volume
|
|
mount points. Explain why.
|
|
(symlink_info::check): Call fs.update again for volume mount points.
|
|
Explain why.
|
|
|
|
2009-08-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* globals.cc (ro_u_volume): New R/O unicode string.
|
|
* path.cc (symlink_info::check_reparse_point): Fix check for volume
|
|
mount points to work on Vista and later as well.
|
|
|
|
2009-08-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (__set_charset_from_codepage): Add codepages 20866
|
|
(KOI8-R) and 21866 (KOI8-U).
|
|
|
|
2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dll_init.h (has_dtors): New flag.
|
|
(run_dtors): New wrapper function which avoids calling dtors more than
|
|
once.
|
|
* dll_init.cc (dll_global_dtors): Use dll.run_dtors wrapper.
|
|
(dll_list::detach): Ditto.
|
|
(dll_list::alloc): Set has_dtors flag.
|
|
|
|
2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fcntl.cc (fcntl64): Detect negative fd as error.
|
|
|
|
2009-08-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mmap.cc (mmap64): Allocate fh_disk_file on cygheap. Delete
|
|
explicitely before returning.
|
|
|
|
2009-08-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (build_fh_dev): Take additional bool parameter indicating
|
|
whether set_name should be called or not.
|
|
(dtable::dup_worker): Call build_fh_pc with new second parameter set
|
|
to false. Explain why. If fhandler's dup failed, delete rather than
|
|
cfree newfh and set newfh to NULL to indicate failure correctly.
|
|
* dtable.h (build_fh_pc): Change declaration according to above change.
|
|
Default set_name parameter to true.
|
|
* mmap.cc (mmap_record::free_fh): Delete rather than cfree fh.
|
|
|
|
2009-08-18 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dtable.cc (dtable::fixup_after_exec): Close any popen'ed file handles here.
|
|
* fhandler.h (fhandler_*::ispipe): New function.
|
|
(fhandler_base::get_popen_pid): Define virtual function.
|
|
(fhandler_*::isdevice): Make const.
|
|
(fhandler_*::isfifo): Ditto.
|
|
|
|
2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* syscalls.cc (popen): Reorganize slightly for clarity. Fix a comment.
|
|
|
|
2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* syscalls.cc (popen): Rewrite to accommodate situations where stdin,
|
|
stdout, or stderr are closed.
|
|
|
|
2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* pipe.cc (fhandler_pipe::create_selectable): Add -pipe to default pipe names.
|
|
|
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Use bool/true/false
|
|
for what is actually a boolean variable.
|
|
|
|
2009-08-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix length
|
|
check for ".." dir.
|
|
|
|
2009-08-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Change comment
|
|
to be fair.
|
|
|
|
2009-08-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Remove
|
|
ill-advised attempt to optimize "." and ".." handling by checking for
|
|
specific position in directory listing. Explain why.
|
|
(fhandler_disk_file.cc (fhandler_disk_file::readdir): Ditto.
|
|
Special-case opening file on NFS to fetch inode number and add longish
|
|
comment to explain why.
|
|
|
|
2009-08-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* (fhandler_socket::getsockname): Fix length returned for unbound
|
|
AF_LOCAL sockets.
|
|
(fhandler_socket::getpeername): Ditto.
|
|
* net.cc (socketpair): Don't set sun_path and peer_sun_path to
|
|
make sure getsockname and getpeername return the correct values
|
|
for AF_LOCAL sockets.
|
|
|
|
2009-08-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::accept): Use sizeof rather
|
|
then constant size. Truncate returned data, but return full address
|
|
length as per POSIX.
|
|
(fhandler_socket::getsockname): Truncate returned data, but return full
|
|
address length as per POSIX.
|
|
(fhandler_socket::getpeername): Ditto.
|
|
|
|
2009-08-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class fhandler_socket): Add peer_sun_path member.
|
|
(fhandler_socket::set_peer_sun_path): New method.
|
|
(fhandler_socket::get_peer_sun_path): New method.
|
|
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
|
|
peer_sun_path to NULL.
|
|
(fhandler_socket::~fhandler_socket): Free peer_sun_path if necessary.
|
|
(fhandler_socket::dup): Duplicate peer_sun_path.
|
|
(fhandler_socket::accept): Ditto. Return fake unbound peer content
|
|
and len in case of AF_LOCAL sockets.
|
|
(fhandler_socket::getsockname): Always use local sockaddr_storage to
|
|
store socket address and copy over to incoming address. Handle every
|
|
namelen correctly per POSIX.
|
|
(fhandler_socket::getpeername): Ditto. Add code path to return
|
|
correct value for AF_LOCAL sockets.
|
|
(fhandler_socket::set_peer_sun_path): New method.
|
|
* net.cc (socketpair): Set peer_sun_path to empty string, just like
|
|
sun_path.
|
|
|
|
2009-08-13 Corinna Vinschen <corinna@vinschen.de>
|
|
Dave Korn <dave.korn.cygwin@googlemail.com>
|
|
|
|
* cxx.cc (default_cygwin_cxx_malloc): Enhance commenting.
|
|
* dll_init.cc (dll_dllcrt0_1): Likewise.
|
|
* dlfcn.cc (dlopen): Prevent dlopen()'d DLL from installing any
|
|
cxx malloc overrides.
|
|
* include/cygwin/cygwin_dll.h (__dynamically_loaded): New variable.
|
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Check it and only
|
|
install cxx malloc overrides when statically loaded. Extend comments.
|
|
|
|
2009-08-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::accept): Always use local
|
|
sockaddr_storage to store peer address and copy over to incoming
|
|
peer address if available. Truncate data as necessary according
|
|
to POSIX.
|
|
|
|
2009-08-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/limits.h (NGROUPS_MAX): Set to a more sane value.
|
|
* include/sys/param.h (NGROUPS): Ditto.
|
|
|
|
2009-08-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* spawn.cc (av::fixup): Check shell scripts for executability only on
|
|
filesystems/mounts supporting real permissions.
|
|
|
|
2009-08-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (DEV_SOCKET): New static WCHAR string. Name of
|
|
the native NT socket device.
|
|
(dtable::init_std_file_from_handle): Remove unused tmp_pathbuf
|
|
variable. Move check for sockets into FILE_TYPE_PIPE clause.
|
|
Rely on handle_to_fn having recognized socket, or check if
|
|
getsockopt works to accommodate NT4 shortcoming.
|
|
(handle_to_fn): Use tmp_pathbuf for OBJECT_NAME_INFORMATION
|
|
buffer and simplify code due to that. Check name returned by
|
|
NtQueryObject for socket device.
|
|
|
|
2009-08-10 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler_console.cc (create_invisible_console_workaround): Fix size
|
|
of cmd in the way originally intended.
|
|
|
|
2009-08-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_console.cc (create_invisible_console_workaround): Fix
|
|
size of cmd to take spaces into account.
|
|
|
|
2009-08-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Fix comment to
|
|
document change in the Windows 7 workaround.
|
|
* wincap.cc (wincapc::init): Don't set has_console_handle_problem
|
|
to false on 32 bit systems.
|
|
|
|
2009-08-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_getnameinfo): Force setting NI_NUMERICSERV only
|
|
on Windows 2003 and earlier, only if the port number doesn't
|
|
resolve to a well-known service. Change comment accordingly.
|
|
|
|
2009-08-05 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygheap.h (cygheap_debug::endh): Delete.
|
|
* debug.cc (lock_debug::acquired): Delete.
|
|
(lock_debug::lock_debug): Simplify.
|
|
(lock_debug::unlock): Ditto.
|
|
(find_handle): Don't set endh here.
|
|
(add_handle): Add new handle to beginning of the list rather than
|
|
trying to maintain an end list pointer.
|
|
(delete_handle): Minor optimization.
|
|
(mark_closed): Make logic clearer.
|
|
(verify_handle): Lock handle list before scanning.
|
|
(setclexec): Ditto.
|
|
(modify_handle): Ditto.
|
|
(newh): Don't lock handle list here. Assume caller did this.
|
|
(mark_closed): Ditto.
|
|
(close_handle): Remove unneeded #if.
|
|
* dtable.cc (dtable::dup2): Tweak debug output.
|
|
|
|
2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* path.cc (patch_conv::check): Zero path before setting it.
|
|
|
|
2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::send_internal): Just use wmem
|
|
size if the length exceeds it.
|
|
* net.cc (fdsock): Use 65535 as window size, just like the comment
|
|
says or we run into problems with DuplicateHandle.
|
|
|
|
* path.cc (patch_conv::check): Use set_path to set invalid filename.
|
|
* path.h (path_conv::path_conv): Ditto.
|
|
|
|
2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.h (pdrive_buf): Defensively allocate one extra byte.
|
|
|
|
2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.h (fhandler_cygdrive:DRVSZ): New enum.
|
|
(pdrive_buf): New place to hold information about cygdrive.
|
|
* fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Store drive
|
|
info in pdrive_buf since get_win32_name() could now be too small to
|
|
hold everything.
|
|
(fhandler_cygdrive::rewinddir): Reset pdrive to pdrive_buf.
|
|
(fhandler_cygdrive::closedir): Ditto.
|
|
* pipe.cc (fhandler_pipe::init): Be more defensive when referencing
|
|
get_win32_name(). Rework logic which made a copy of the POSIX path and
|
|
then never used it.
|
|
|
|
2009-08-02 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* sigproc.cc (stopped_or_terminated): Don't return a match when stopsig
|
|
== SIGCONT and not WCONTINUED.
|
|
* termios.cc (tcsetpgrp): Improve debugging output.
|
|
|
|
2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygheap_malloc.h: New file.
|
|
* cygheap.h: Remove stuff now included in cygheap_malloc.h and include
|
|
that file. Make cygheap_init a standard c++ function. Remove unneeded
|
|
child_info declaration.
|
|
* path.h: Include cygheap_malloc.h. Remove extra cstrdup declaration.
|
|
(path_conv): Reorganize to group variables together.
|
|
(path_conv::path): Make const char *.
|
|
(path_conv::known_suffix): Ditto.
|
|
(path_conv::normalized_path): Ditto.
|
|
(path_conv::path_conv): Reorganize initializers to reflect new element
|
|
ordering.
|
|
(path_conv::get_win32): Change return value to const char *.
|
|
(path_conv::set_path): Move back here from spawn.cc.
|
|
(parh_conv::modifiable_path): New function.
|
|
* path.cc (path_conv::add_ext_from_sym): Accommodate const'ness of
|
|
known_suffixes.
|
|
(path_conv::set_normalized_path): Ditto for normalized_path.
|
|
(path_conv::check): Use modifiable_path whereever we need to modify the
|
|
path element. Use set_path to set the path.
|
|
(path_conv::~path_conv): Accommodate new const'ness.
|
|
* spawn.cc (perhaps_suffix): Declare ext as const since that's what is
|
|
being returned.
|
|
(path_conv::set_path): Move back to path.h.
|
|
* winf.f (linebuf): Perform minor cleanup.
|
|
(linebuf::fromargv): Change second parameter to const.
|
|
* winf.cc (linebuf::fromargv): Ditto.
|
|
|
|
2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* path.h (path_conv::set_path): Change return value.
|
|
* spawn.cc (path_conv::set_path): Return newly set value.
|
|
(find_exec): Set retval to newly set value when calling set_path.
|
|
|
|
2009-07-31 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* spawn.cc (find_exec): Fix one more path where retval was not set.
|
|
|
|
2009-07-31 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* spawn.cc (find_exec): Stop relying on the ability to set retval to a
|
|
fixed path_conv buffer and set it on the fly instead.
|
|
|
|
2009-07-30 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.h (cstrdup): Fix declaration.
|
|
|
|
2009-07-29 Dave Korn <dave.korn.cygwin@googlemail.com>
|
|
|
|
* globals.cc (enum exit_states::ES_GLOBAL_DTORS): Delete.
|
|
* dcrt0.cc (__main): Schedule dll_global_dtors to run
|
|
atexit before global dtors.
|
|
(do_exit): Delete test for ES_GLOBAL_DTORS and call to
|
|
dll_global_dtors.
|
|
|
|
2009-07-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.h (class path_conv): Convert path from char array to char *.
|
|
Initialize to NULL in constructors. Drop normalized_path_size member.
|
|
(path_conv::size): Remove.
|
|
(path_conv::operator =): Always copy with sizeof path_conv. Always
|
|
duplicate path on cygheap.
|
|
(path_conv::set_path): Move implementation to spawn.cc.
|
|
* path.cc (path_conv::set_normalized_path): Always allocate
|
|
normalized_path on cygheap.
|
|
(path_conv::check): Don't work on path, rather allocate THIS_path in
|
|
TLS and use it throughout. When finished, allocate path on cygheap
|
|
and copy over. Defer tacking on extension after having copied path.
|
|
* spawn.cc (path_conv::set_path): Implement here.
|
|
|
|
2009-07-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.h (enum fs_info_type): New type.
|
|
(IMPLEMENT_FS_FLAG): New define.
|
|
(class fs_info): Convert filesystem type status flags into an enum
|
|
fs_info_type. Add cifs FS. Revert change to has_buggy_open and
|
|
has_buggy_fileid_dirinfo. Make them normal; status flags again.
|
|
Implement is_FS functions using IMPLEMENT_FS_FLAG.
|
|
* mount.cc (fs_info::update): Define MINIMAL_WIN_NTFS_FLAGS and
|
|
FS_IS_WINDOWS_NTFS. Add comment. Only test remote filesystems
|
|
for "NTFS" once. Add is_cifs check using FS_IS_WINDOWS_NTFS.
|
|
Set has_buggy_open flag for SUNWNFS. Set has_buggy_fileid_dirinfo
|
|
flag for UNIXFS and all cifs type filesystems. Only check for
|
|
caseinsensitivity once.
|
|
(fillout_mntent): Create locale fs_names array. Use for setting
|
|
_my_tls.locals.mnt_type.
|
|
|
|
2009-07-27 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* posix.sgml (std-notes): Remove obsolete reference to CYGWIN=server.
|
|
|
|
2009-07-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix.sgml (std-notes): Add flock restriction.
|
|
|
|
2009-07-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_console.cc (set_console_title): Set buffer size to
|
|
TITLESIZE + 1. Call sys_mbstowcs with correct destination length.
|
|
|
|
2009-07-24 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* sigproc.h (wait_for_sigthread): Eliminate parameter.
|
|
* sigproc.cc (wait_for_sigthread): Ditto. Don't synchronize with
|
|
wait_sig after receiving an event that it is ready to go.
|
|
(init_sig_pipe): New function.
|
|
(wait_sig): Call init_sig_pipe to create pipes for communicating
|
|
signals to this process. Don't send sigCONT signal when initializing.
|
|
* fork.cc (frok::child): Accommodate wait_for_sigpipe parameter change.
|
|
|
|
2009-07-24 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.h (fhandler_*::write): Make ssize_t/__stdcall.
|
|
(fhandler_*::write_overlapped): Ditto.
|
|
(fhandler_*::raw_write): Ditto.
|
|
(fhandler_*::readv): Ditto.
|
|
(fhandler_*::writev): Ditto.
|
|
(fhandler_*::raw_read): Make __stdcall.
|
|
* fhandler: Accommodate changes to read/write functions throughout.
|
|
* fhandler_clipboard.cc: Ditto.
|
|
* fhandler_console.cc: Ditto.
|
|
* fhandler_dsp.cc: Ditto.
|
|
* fhandler_fifo.cc: Ditto.
|
|
* fhandler_mailslot.cc: Ditto.
|
|
* fhandler_mem.cc: Ditto.
|
|
* fhandler_mem.cc: Ditto.
|
|
* fhandler_random.cc: Ditto.
|
|
* fhandler_tape.cc: Ditto.
|
|
* fhandler_tty.cc: Ditto.
|
|
* fhandler_virtual.cc: Ditto.
|
|
* fhandler_windows.cc: Ditto.
|
|
* fhandler_zero.cc: Ditto.
|
|
* syscalls.cc (readv): Use ssize_t as temp variable.
|
|
|
|
* fhandler.cc (fhandler_base::read): Coerce returned len to signed or
|
|
it will never be treated as < 0.
|
|
(fhandler_base::wait_overlapped): Minimize calls to GetLastError.
|
|
Remove duplicate debugging test. Fix error return.
|
|
|
|
* fhandler.h (fhandler_fifo::fifo_name): Declare new function.
|
|
(fhandler_fifo::close): Ditto.
|
|
(fhandler_fifo::dup): Ditto.
|
|
(fhandler_fifo::close_on_exec): Ditto.
|
|
* fhandler.cc (fhandler_fifo::fifo_name): Define new function.
|
|
(FIFO_BUF_SIZE): New define.
|
|
(cnp): Ditto.
|
|
(fhandler_fifo::open): Rework. Use cnp to open named pipe. Always
|
|
open write side as a client. Open dummy client when writing and can't
|
|
connect.
|
|
(wait): Rework. Implement fifo_wait_for_next_client. Handle signals
|
|
during connect better. Add new fifo_wait_for_server code which polls
|
|
(sigh) waiting for server.
|
|
(fhandler_fifo::raw_read): Handle transition states when one client
|
|
closes and another is available.
|
|
(fhandler_fifo::close): Define.
|
|
(fhandler_fifo::dup): Ditto.
|
|
(fhandler_fifo::close_on_exec): Ditto.
|
|
|
|
2009-07-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (internal_setlocale): Fix typo in GBK codepage.
|
|
|
|
2009-07-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (unlink_nt): Ignore sharing violation on NFS. Align
|
|
comments.
|
|
|
|
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.h (fs_info::fsn): New member.
|
|
(fs_info::clear): Clear fsn.
|
|
(fs_info::fsname): New read accessor for fsn.
|
|
* mount.cc (fs_info::update): Fill in fsn member with lowercased
|
|
filesystem name if filesystem is not well-known. Fall back to
|
|
"unknown" if filesystem name is missing.
|
|
(fillout_mntent): Print filesystem name retrieved in fs_info::update
|
|
rather than static string "unknown".
|
|
|
|
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (fs_info::update): Revert to open filesystem with access set
|
|
to READ_CONTROL. If that fails, try additionally with FILE_READ_DATA.
|
|
|
|
2009-07-22 Eric Blake <ebb9@byu.net>
|
|
|
|
* exceptions.cc (handle_exceptions): Set si_addr according to
|
|
POSIX for SIGSEGV.
|
|
|
|
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (fs_info::update): Open filesystem with access set to 0.
|
|
Explain why.
|
|
|
|
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc: Revert accidental checkin.
|
|
|
|
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink_info::check): Handle STATUS_NOT_SUPPORTED from
|
|
NtCreateFile just like STATUS_EAS_NOT_SUPPORTED.
|
|
|
|
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (fillout_mntent): Fix typo (noexec -> notexec).
|
|
|
|
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink_info::check): Fix typo in comment.
|
|
|
|
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (enum del_lock_called_from): New enumeration.
|
|
(fhandler_base::del_my_locks): Declare taking a del_lock_called_from
|
|
as argument.
|
|
* fhandler.cc (fhandler_base::close): Call del_my_locks with "on_close".
|
|
(fhandler_base::fixup_after_fork): Call del_my_locks with "after_fork".
|
|
(fhandler_base::fixup_after_exec): Call del_my_locks with "after_exec".
|
|
* flock.cc (fhandler_base::del_my_locks): Take del_lock_called_from
|
|
as argument. Call node->del_my_locks with NULL handle in after_exec
|
|
case. Explain why.
|
|
|
|
2009-07-21 Eric Blake <ebb9@byu.net>
|
|
|
|
* dtable.cc (dup2): Correct return value for no-op.
|
|
|
|
2009-07-21 Corinna Vinschen <corinna@vinschen.de>
|
|
Eric Blake <ebb9@byu.net>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Add special case
|
|
for MVFS. Explain why.
|
|
(fhandler_disk_file::utimens): Drop local variables lastaccess and
|
|
lastwrite. Copy timestamps right into FILE_BASIC_INFORMATION structure
|
|
to avoid copying them twice.
|
|
|
|
2009-07-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* wincap.h (wincaps::has_always_all_codepages): New element.
|
|
* wincap.cc: Implement above element throughout.
|
|
* wchar.h (__sjis_mbtowc): Declare.
|
|
(__eucjp_mbtowc): Ditto.
|
|
(__gbk_mbtowc): Ditto.
|
|
(__kr_mbtowc): Ditto.
|
|
(__big5_mbtowc): Ditto.
|
|
* syscalls.cc (internal_setlocale): Convert to char * function.
|
|
Return parameter by default. Return NULL if request to use a
|
|
charset can't be satisfied due to missing codepage support in the
|
|
underlying OS. Fix comment.
|
|
(setlocale): Store original locale. Restore to original locale if
|
|
internal_setlocale returns NULL.
|
|
|
|
2009-07-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fork.cc (fork): Create local tmp_pathbuf. Explain why.
|
|
|
|
2009-07-18 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* exceptions.cc (sig_handle_tty_stop): Set stopsig to SIGCONT when
|
|
continuing.
|
|
(stopped_or_terminated): Honor WCONTINUED.
|
|
* wait.cc (wait4): Ditto.
|
|
* include/cygwin/wait.h (WCONTINUED): Define.
|
|
(__W_CONTINUED): Ditto.
|
|
(WIFCONTINUED): Ditto.
|
|
|
|
2009-07-18 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* libstdcxx_wrapper.cc (operator delete): Remove stray space in
|
|
asm name.
|
|
|
|
2009-07-17 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygtls.cc (_cygtls::init_exception_handler): Test for e, not e->prev
|
|
or we could still end up adding our handler twice. Add comment
|
|
explaining what we're doing.
|
|
* dll_init.cc (dll_dllcrt0_1): Clarify comment.
|
|
|
|
2009-07-17 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygtls.cc (_cygtls::init_exception_handler): Avoid adding our
|
|
exception handler twice.
|
|
|
|
2009-07-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (unlink_nt): Just return when a sharing violation
|
|
occurs on remote filesystems.
|
|
|
|
2009-07-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* globals.cc: Improve comment on R/O UNICODE_STRINGs.
|
|
* mount.h (class fs_info): Add is_mvfs bit.
|
|
* mount.cc (fs_info::update): Recognize MVFS remote filesystem.
|
|
(fillout_mntent): Reorder filesystem checks for speed. Add
|
|
mvfs, unixfs, and sunwnfs filesystem types.
|
|
* path.h (class path_conv): Add fs_is_mvfs method.
|
|
* path.cc (symlink_worker): On MVFS, always create symlinks as
|
|
Windows shortcuts. Explain why.
|
|
|
|
2009-07-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (unlink_nt): First remove the R/O DOS attribute with
|
|
FILE_WRITE_ATTRIBUTES access only, then re-open the file for DELETE.
|
|
Explain why.
|
|
|
|
2009-07-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Remove file
|
|
attribute check already done in NtSetAttributesFile.
|
|
|
|
2009-07-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* globals.cc: Reorder constant UNICODE_STRINGs for clarity.
|
|
* mount.h (fs_info::sttaus): Move filesystem type flags into
|
|
substructure. Add union to allow simple test for having set any
|
|
one filesystem type flag. Replace has_buggy_open flag with is_sunwnfs
|
|
flag. Replace has_buggy_fileid_dirinfo with is_unixfs flag.
|
|
(fs_info::got_fs): New private method.
|
|
(fs_info::has_buggy_open): New explicit implementation.
|
|
(fs_info::has_buggy_fileid_dirinfo): Ditto.
|
|
* mount.cc (fs_info::update): Optimize filesystem checks for speed.
|
|
* winsup.h (IMPLEMENT_STATUS_FLAG): Change write accessor to return
|
|
value just set.
|
|
|
|
2009-07-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_netdrive.cc (GET_RESOURCE_INFO): Remove.
|
|
(thread_netdrive): Drop GET_RESOURCE_INFO case.
|
|
(fhandler_netdrive::exists): Use GET_RESOURCE_OPENENUM info class
|
|
to check for existance.
|
|
|
|
2009-07-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_netdrive.cc (fhandler_netdrive::readdir): Remove useless
|
|
alloca.
|
|
|
|
2009-07-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (cwdstuff::set): Only fix up UNC path in win32 so as not
|
|
to overwrite incoming path.
|
|
|
|
2009-07-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Throughout avoid having to initialize constant UNICODE_STRINGs.
|
|
* globals.cc: Define constant UNICODE_STRINGs and store in .rdata
|
|
section.
|
|
* fhandler_disk_file.cc: Throughout, use readonly UNICODE_STRINGs
|
|
rather then initializing local UNICODE_STRING variable where
|
|
applicable.
|
|
* fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
|
|
* flock.cc (inode_t::inode_t): Ditto.
|
|
* mmap.cc: Ditto.
|
|
* syscalls.cc: Ditto.
|
|
* mount.cc (fs_info::update): Ditto.
|
|
* path.cc: Ditto.
|
|
|
|
* ntdll.h (RtlEqualUnicodePathPrefix): Redefine to take prefix as
|
|
UNICODE_STRING.
|
|
(RtlEqualUnicodePathSuffix): Redefine to take suffix as UNICODE_STRING.
|
|
* fhandler_disk_file.cc: Accommodate throughout.
|
|
* mount.cc (fs_info::update): Ditto.
|
|
* path.cc (cwdstuff::set): Ditto.
|
|
* syscalls.cc: Ditto.
|
|
|
|
2009-07-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* globals.cc (active_codepage): Remove.
|
|
|
|
2009-07-12 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* how-spawn-works.txt: Add "out of date" note.
|
|
* how-vfork-works.txt: Ditto.
|
|
|
|
2009-07-12 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* Makefile.in: Don't do anything special with any RCS directories.
|
|
|
|
* ntdll.h (PROCESSINFOCLASS): Remove unneeded trailing comma.
|
|
|
|
* pinfo.cc (_pinfo::dup_proc_pipe): Remove unneeded assignment.
|
|
|
|
* sigproc.cc (sig_send): Don't send signal to myself if this is an exec
|
|
stub.
|
|
|
|
2009-07-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Don't use
|
|
FileAllInformation info class since it needs a big buffer. Add a
|
|
comment.
|
|
|
|
2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* winbase.h (ilockexch): Avoid making 'ret' volatile.
|
|
(ilockcmpexch): Likewise.
|
|
|
|
2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* Makefile.in (DLL_OFILES): Add libstdcxx_wrapper.o
|
|
(libstdcxx_wrapper_CFLAGS): Add flags for new module.
|
|
(_cygwin_crt0_common_STDINCFLAGS): Define per-file override.
|
|
(libstdcxx_wrapper_STDINCFLAGS, cxx_STDINCFLAGS): Likewise.
|
|
* cxx.cc: Include "cygwin-cxx.h".
|
|
(operator new): Tweak prototype for full standards compliance.
|
|
(operator new[]): Likewise.
|
|
(operator new (nothrow)): New fallback function.
|
|
(operator new[] (nothrow), operator delete (nothrow),
|
|
operator delete[] (nothrow)): Likewise.
|
|
(default_cygwin_cxx_malloc): New struct of pointers to the above,
|
|
for final last-resort fallback default.
|
|
* cygwin-cxx.h: New file.
|
|
(struct per_process_cxx_malloc): Define.
|
|
(default_cygwin_cxx_malloc): Declare extern.
|
|
* cygwin.din (__wrap__ZdaPv): Export new wrapper.
|
|
(__wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
|
|
__wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
|
|
__wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
|
|
__wrap__ZnwjRKSt9nothrow_t): Likewise.
|
|
* globals.cc (__cygwin_user_data): Init newly-repurposed 'forkee'
|
|
field (now 'cxx_malloc') to point to default_cygwin_cxx_malloc.
|
|
* libstdcxx_wrapper.cc: New file.
|
|
(__wrap__ZdaPv, __wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
|
|
__wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
|
|
__wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
|
|
__wrap__ZnwjRKSt9nothrow_t): Define wrapper functions for libstdc++
|
|
malloc operators and their overrides.
|
|
* winsup.h (default_cygwin_cxx_malloc): Declare extern.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
* include/sys/cygwin.h (struct per_process_cxx_malloc): Forward
|
|
declare here.
|
|
(struct per_process::forkee): Rename and repurpose from this ...
|
|
(struct per_process::cxx_malloc): ... to this.
|
|
* lib/_cygwin_crt0_common.cc: Include cygwin-cxx.h.
|
|
(WEAK): Define shorthand helper macro.
|
|
(__cygwin_cxx_malloc): Define and populate with weak references
|
|
to whatever libstdc++ malloc operators will be visible at final
|
|
link time for Cygwin apps and dlls.
|
|
(_cygwin_crt0_common): Always look up cygwin DLL's internal
|
|
per_process data, and don't test for (impossible) failure. Inherit
|
|
any members of __cygwin_cxx_malloc that we don't have overrides
|
|
for from the DLL's default and store the resulting overall set of
|
|
overrides back into the DLL's global per_process data.
|
|
|
|
2009-07-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygtls.cc (_cygtls::remove): Fix typo.
|
|
|
|
2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* Makefile.in (clean): Clean generated files in srcdir.
|
|
* tlsoffsets.h: Regenerate.
|
|
|
|
2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygtls.cc (_cygtls::remove): Avoid closing a NULL handle.
|
|
|
|
2009-07-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::recv_internal): Convert wsabuf
|
|
and wsacnt to references. Fix handling of WSAEMSGSIZE.
|
|
|
|
2009-07-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygtls.h (struct _local_storage): Add thread storage pointers for
|
|
memory used by socket select functions. Combine them into a single
|
|
struct select.
|
|
* cygtls.cc: Accommodate above change throughout.
|
|
(_cygtls::init_thread): Drop initalizing of sockevt to
|
|
INVALID_HANDLE_VALUE.
|
|
(_cygtls::fixup_after_fork): Reset sockevt to NULL.
|
|
(_cygtls::remove): Don't use sockevt value to bail out prematurely.
|
|
Set sockevt to NULL. Free malloced select members.
|
|
* select.h (struct select_socket_info): Drop max_w4 member.
|
|
* select.cc (thread_socket): Use INFINITE timeout value if number of
|
|
objects to wait for is <= MAXIMUM_WAIT_OBJECTS. Use num_w4 member
|
|
of select_socket_info struct rather than dropped max_w4.
|
|
(init_tls_select_info): New inline function to initialize TLS select
|
|
members.
|
|
(start_thread_socket): Just call init_tls_select_info to initialize TLS
|
|
select members and use them later on.
|
|
(socket_cleanup): Don't free select_socket_info pointer members since
|
|
they are thread local now.
|
|
|
|
2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dtable.cc (handle_to_fn): Detect failing NtQueryObject.
|
|
|
|
2009-07-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc: Delete stray CR.
|
|
|
|
2009-07-05 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler_console.cc: Change workstation -> windows station
|
|
throughout.
|
|
|
|
2009-07-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* autoload.cc (SetParent): Add new import.
|
|
* fhandler.h (fhandler_console::create_invisible_console): Declare new
|
|
function.
|
|
(create_invisible_console_workaround): Ditto.
|
|
* fhandler_console.cc (fhandler_console::create_invisible_console):
|
|
Define new function.
|
|
(create_invisible_console_workaround): Ditto. Add too much code to
|
|
deal with broken Windows 7. Use a helper app to start an invisible
|
|
console window.
|
|
(fhandler_console::need_invisible): Reorganize to use helper functions
|
|
to create invisible console.
|
|
|
|
* spawn.cc (spawn_guts): Avoid zeroing already zeroed fields in si.
|
|
|
|
2009-07-04 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* autoload.cc (AttachConsole): Correct size of args.
|
|
|
|
2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dcrt0.cc (jit_debug): New global.
|
|
(initial_env): Set jit_debug when we are automatically starting a gdb
|
|
process.
|
|
* dtable.cc (dtable::get_debugger_info): Don't tty tricks when we are
|
|
being debugged by our own captive gdb, as determined by jit_debug ==
|
|
true.
|
|
(dtable::init_std_file_from_handle): Detect errors when initializing a
|
|
tty early rather than at random points later.
|
|
* fhandler.h (fhandler_*::init): Return int to indicate
|
|
success/failure.
|
|
* fhandler.cc (fhandler_base::init): Reflect change in return value.
|
|
* pipe.cc (fhandler_pipe::init): Ditto.
|
|
(fhandler_pipe::create_selectable): Don't say we're retrying when we
|
|
aren't.
|
|
* fhandler_console.cc (fhandler_console::init): Ditto. Return
|
|
success/failure.
|
|
* fhandler_serial.cc (fhandler_serial::init): Ditto.
|
|
* fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
|
|
(fhandler_tty_slave::open): Make debugging output more detailed.
|
|
* tty.cc (tty_list::terminate): Don't close I/O handles before all
|
|
slaves have checked in.
|
|
(tty::slave_alive): Make a non-inlined function. Check if tty pipe
|
|
handles can be created as an additional exists check.
|
|
* tty.h (tty::slave_alive): Just define here.
|
|
|
|
2009-07-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix.sgml: Add fpurge and mkstemps to BSD list.
|
|
|
|
2009-07-03 Eric Blake <ebb9@byu.net>
|
|
|
|
* cygwin.din (fpurge, mkstemps): New exports.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
* mktemp.cc (_gettemp): Add parameter.
|
|
(mkstemps): New function.
|
|
(mkstemp, mkdtemp, mktemp): Adjust clients.
|
|
|
|
2009-07-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc: Fix typo in comment.
|
|
(ShowWindowAsync): Define.
|
|
(AttachConsole): Define.
|
|
* fhandler_console.cc (fhandler_console::need_invisible): Add band-aid
|
|
for Windows 7 AllocConsole bug.
|
|
|
|
2009-07-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (get_xp_ifs): Fix typo in comment.
|
|
|
|
2009-07-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class fhandler_socket): Add class members and methods
|
|
to store and retrieve the SO_RCVBUF and SO_SNDBUF sizes.
|
|
* fhandler_socket.cc (fhandler_socket::dup): Duplicate new members.
|
|
(fhandler_socket::send_internal): Check for SO_SNDBUF size and
|
|
restrict send to 1 byte less per KB 823764. Leave loop immediately
|
|
if WSASendMsg has been used.
|
|
* net.cc (fdsock): Change comment again. Set buffer sizes to 65536.
|
|
Store values in fhandler_socket.
|
|
(cygwin_setsockopt): Store SO_RCVBUF and SO_SNDBUF sizes in
|
|
fhandler_socket.
|
|
(cygwin_sendto): Drop call to sig_dispatch_pending.
|
|
(cygwin_recvfrom): Ditto.
|
|
(cygwin_recvmsg): Ditto.
|
|
(cygwin_sendmsg): Ditto.
|
|
|
|
2009-06-30 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* select.h: New file split from fhandler.h.
|
|
(select_record::select_record): Define do-nothing constructor for "new"
|
|
to avoid gratuitous zeroing.
|
|
(select_info): New base class.
|
|
(select_pipe_info): New class with methods for dealing with pipes.
|
|
(select_socket_info): New class with methods for dealing with sockets.
|
|
(select_serial_info): Dummy class for serial.
|
|
(select_mailslot_info): Dummy class for mailslots.
|
|
(select_stuff): Define device_specific_* as actual classes rather than
|
|
void *.
|
|
* dtable.h (dtable::select_read): Accommodate return value change to
|
|
'bool' and argument change to "select_stuff".
|
|
(dtable::select_write): Ditto.
|
|
(dtable::select_except): Ditto.
|
|
* dtable.cc (dtable::select_read): Accommodate return value change to
|
|
'bool' and argument change to "select_stuff".
|
|
(dtable::select_write): Ditto.
|
|
(dtable::select_except): Ditto.
|
|
* fhandler.h: Excise select-related classes.
|
|
(fhandler_*::select_read): Change argument to select_stuff.
|
|
(fhandler_*::select_write): Ditto.
|
|
(fhandler_*::select_except): Ditto.
|
|
* select.cc (UNIX_FD_ZERO): Use memset rather than bzero.
|
|
(select_stuff::test_and_set): Change return type to bool. Allocate
|
|
select_record on entry and let fhandler_*::select_* operate on the
|
|
start.next field of select_stuff.
|
|
(pipeinf): Delete.
|
|
(select_pipe_info::select_pipe_info): New constructor. Allocates event
|
|
for controlling pipe waits.
|
|
(select_pipe_info::~select_pipe_info): New destructor. Destroy event.
|
|
Stop thread.
|
|
(select_pipe_info::add_watch_handle): New function.
|
|
(thread_pipe): Wait for the hEvent part of any overlapped pipes before
|
|
peeking.
|
|
(start_thread_pipe): Don't allocate device_specific_pipe stuff here.
|
|
Assume that it has been allocated earlier.
|
|
(pipe_cleanup): Rely on select_pipe_info destructor to clean up pipe
|
|
paraphenalia.
|
|
(fhandler_*::select_*): Derive select_record from new select_stuff
|
|
argument.
|
|
(fhandler_pipe::select_*): Ditto. Allocate pipe-specific field if not
|
|
already allocated.
|
|
(serialinf): Delete.
|
|
(thread_serial): serialinf -> select_serial_info.
|
|
(fhandler_base::ready_for_read): Rewrite to accommodate change in
|
|
argument to fhandler_*::select_*.
|
|
(socketinf): Delete.
|
|
(thread_socket): socketinf -> select_socket_info.
|
|
(mailslotinf): Delete.
|
|
(thread_mailslot): mailslotinf -> select_mailslot_info.
|
|
|
|
2009-06-30 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.cc (fhandler_base::has_ongoing_io): Accept an argument
|
|
indicating whether the overlapped event should be tested.
|
|
(fhandler_base::read_overlapped): Pass is_overlapped state to
|
|
has_ongoing_io.
|
|
(fhandler_base::write_overlapped): Ditto.
|
|
* fhandler.h (fhandler_base::has_ongoing_io): Accommodate argument
|
|
change.
|
|
* select.cc (peek_pipe): Ditto.
|
|
|
|
2009-06-30 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (fdsock): Set default socket buffer sizes to 65520. Change
|
|
comment accordingly.
|
|
* fhandler_socket.cc (fhandler_socket::send_internal): Set maximum
|
|
send size to 65520 as well.
|
|
|
|
2009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* select.cc (peek_pipe): Turn on (temporarily?) the experimental code
|
|
which tries to determine when a pipe is writable.
|
|
|
|
2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* select.cc (peek_pipe): Use has_ongoing_io() to determine if the pipe
|
|
is ready for writing rather than performing brute-force checks.
|
|
|
|
2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.h (fhandler_base::has_ongoing_io): Declare new function.
|
|
* fhandler.cc (fhandler_base::has_ongoing_io): Define new function.
|
|
(fhandler_base::read_overlapped): Use has_ongoing_io to avoid writing
|
|
when handle has not completed last I/O.
|
|
(fhandler_base::write_overlapped): Ditto.
|
|
* select.cc (peek_pipe): Be more careful about accessing hEvent field
|
|
from get_overlapped().
|
|
|
|
2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* gendef (cleanup): Rename from 'nocr'. Remove comments and trailing
|
|
spaces.
|
|
* cygwin.din: Add long-needed comment describing what
|
|
dll_crt0__FP11per_process demangles to.
|
|
|
|
* select.cc (peek_pipe): Flag handle as not ready for write if event is
|
|
not signalled.
|
|
* fhandler.cc (fhandler_base::setup_overlapped): Establish event as
|
|
already signalled.
|
|
(fhandler_base::wait_overlapped): Don't reset event after we've
|
|
successfully waited. MSDN documentation says that this happens
|
|
automatically after a WriteFileEx/ReadFileEx.
|
|
|
|
2009-06-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* wincap.h (wincaps::has_broken_alloc_console): New element.
|
|
* wincap.cc: Implement above element throughout.
|
|
|
|
2009-06-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sec_auth.cc (lsaauth): Close unused handle.
|
|
(lsaprivkeyauth): Ditto.
|
|
|
|
2009-06-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sec_auth.cc (get_server_groups): Ignore errors from
|
|
get_user_local_groups.
|
|
|
|
2009-06-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* spawn.cc (spawn_guts): Don't run additional check for Win32
|
|
incompatible CWD if newargv.fixup bailed out already.
|
|
(av::fixup): Check shell scripts for executability.
|
|
|
|
2009-06-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (chdir): Check error conditions first.
|
|
|
|
2009-06-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::recv_internal): Mark WSARecvMsg
|
|
as NO_COPY.
|
|
|
|
2009-06-16 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.cc (fhandler_base::read_overlapped): Use a better variable
|
|
name.
|
|
|
|
2009-06-16 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.cc (fhandler_base::read_overlapped): Preserve len when
|
|
looping due to received signal.
|
|
|
|
2009-06-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (get_flags): New static function to generate interface flags
|
|
value.
|
|
(get_ipv4fromreg_ipcnt): New static function to fetch number of
|
|
configured IPv4 addresses for a given NIC from registry.
|
|
(get_ipv4fromreg): New static function to fetch configured IPv4
|
|
addresses for a given NIC from registry.
|
|
(get_friendlyname): New static function to generate friendly name.
|
|
(get_hwaddr): New static function to copy hardware address.
|
|
(get_xp_ifs): Restructure slightly. Add code to generate IPv4 entries
|
|
entries for interfaces which are disconnected.
|
|
|
|
2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* errno.cc (errmap): Add mapping for ERROR_IO_INCOMPLETE.
|
|
* fhandler.cc (fhandler_base::fcntl): Fix comment.
|
|
(fhandler_base::wait_overlapped): Accept an optional len parameter.
|
|
Use the len parameter when WriteFile fails with ERROR_IO_PENDING. Make
|
|
debug output less alarming.
|
|
(fhandler_base::write_overlapped): Pass len to wait_overlapped.
|
|
* fhandler.h (fhandler_base::wait_overlapped): Add an optional argument
|
|
denoting the number of characters intended to be written.
|
|
|
|
* fhandler_tty.cc (fhandler_pty_master::close): Don't close archetype
|
|
handles when cygwin is still initializing since the handles aren't
|
|
actually opened at that point.
|
|
|
|
2009-06-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* localtime.cc (time2): Take another stab at fixing a compiler warning.
|
|
|
|
2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* localtime.cc (time2): Take a stab at fixing a compiler warning.
|
|
|
|
2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.cc (fhandler_base::wait_overlapped): Honor nonblocking flag
|
|
for writes. Don't reset event handle when we see a ERROR_IO_PENDING.
|
|
|
|
* sigproc.cc (stopped_or_terminated): Use bool constants for
|
|
consistency.
|
|
|
|
* wait.cc (wait4): Remove nonsensical comment.
|
|
|
|
2009-06-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::recv_internal): Set namelen
|
|
pointer to NULL if name pointer is NULL. Explain why.
|
|
|
|
2009-06-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* localtime.cc (time2): Change "spring gap" to "spring forward gap"
|
|
in comment.
|
|
|
|
2009-06-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* localtime.cc (time2): Add workaround for spring forward gap problem.
|
|
Add explaining comment.
|
|
|
|
2009-06-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* Makefile.in (SUBLIBS): Add librt.a.
|
|
(librt.a): New rule to build librt.a.
|
|
|
|
2009-06-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix_ipc.cc (check_path): Fix typo in comment. Align naming
|
|
convention rules to Linux. Handle backslash same as slash. Add
|
|
comment.
|
|
|
|
2009-06-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (GetSystemTimes): Remove.
|
|
* fhandler_proc.cc (format_proc_uptime): Use global system_info rather
|
|
than retrieving a local copy of the SYSTEM_INFO. Drop call to
|
|
GetSystemTimes and retrieve SystemPerformanceInformation on all systems
|
|
again with buffer size big enough for 64 bit systems.
|
|
(format_proc_stat): Use global system_info rather than retrieving a
|
|
local copy of the SYSTEM_INFO. Retrieve SystemPerformanceInformation
|
|
with buffer size big enough for 64 bit systems.
|
|
|
|
2009-06-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (GetSystemTimes): Define.
|
|
* fhandler_proc.cc (format_proc_uptime): Use GetSystemInfo to retrieve
|
|
processor count. Use GetSystemTimes when available to retrieve system
|
|
idle time. Improve debug output.
|
|
(format_proc_stat): Use GetSystemInfo to retrieve processor
|
|
count. Improve debug output. Ignore if SystemPerformanceInformation
|
|
returns error. Explain why.
|
|
|
|
2009-06-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fork.cc (frok::parent): Remove ancient code erroneously flushing
|
|
stdout.
|
|
|
|
2009-06-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygerrno.h (save_errno::~save_errno): Set errno directly to avoid
|
|
flooding debug output.
|
|
|
|
2009-06-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink_info::check): Return with error set to ENOENT if
|
|
STATUS_NO_MEDIA_IN_DEVICE is returned.
|
|
|
|
2009-06-07 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygheap.h (mini_cygheap): New struct.
|
|
(init_cygheap): Inherit locale field via mini_cygheap.
|
|
* cygheap.cc (cygheap_at_start): Define new variable.
|
|
(cygheap): Initialize as cygheap_at_start so that locale information is
|
|
always available.
|
|
(cygheap_init): Initialize cygheap iff it is set to cygheap_at_start.
|
|
* shared_info.h (memory_init): Accommodate argument change.
|
|
* memory.cc (memory_init): Accept an argument indicating whether
|
|
cygheap should be initialized or not.
|
|
* dcrt0.cc (child_info_fork::handle_fork): Pass false to memory_init().
|
|
(child_info_spawn::handle_spawn): Ditto.
|
|
(dll_crt0_0): Pass true to memory_init when not forking or execing.
|
|
|
|
* cygheap.h (cygheap_types::HEAP_2_DLL): New enum.
|
|
* dll_init.h (dll): Remove unused namelen field.
|
|
(dll_list::load_after_fork): Accommodate change in arguments.
|
|
* dll_init.cc (dll_list::alloc): Allocate dll information in the cygwin
|
|
heap.
|
|
(dll_list::detach): Free dll information from the cygwin heap.
|
|
(dll_list::load_after_fork): Use dll information in the cygwin heap
|
|
directly rather than querying parent.
|
|
* fork.cc (frok::first_dll): Delete.
|
|
(frok::child): Don't report on first_dll. Don't pass it to
|
|
load_on_fork.
|
|
(frok::parent): Don't set first_dll.
|
|
(fork): Ditto.
|
|
|
|
2009-06-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dll_init.cc (dll_list::alloc): Allocate memory using a section
|
|
object. Explain why. Drop call to GetSystemInfo, rather call
|
|
getpagesize to get allocation granularity. Only align to allocation
|
|
granularity under WOW64. Use roundup2 to align.
|
|
(dll_list::detach): Call NtUnmapViewOfSection instead of VirtualFree.
|
|
|
|
2009-06-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mmap.cc: Use NtUnmapViewOfSection instead of UnmapViewOfFile
|
|
throughout for symmetry.
|
|
(fhandler_dev_mem::munmap): Use correct process handle in call to
|
|
NtUnmapViewOfSection.
|
|
|
|
2009-06-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dll_init.h (struct dll): Set size of name element to ANYSIZE_ARRAY.
|
|
* dll_init.cc: Fix formatting.
|
|
(dll_list::alloc): Only allocate as much memory for struct dll as
|
|
necessary for given DLL name.
|
|
(dll_list::load_after_fork): Only read a single page of parent memory.
|
|
Only read more if namelen indicates that it's necessary.
|
|
|
|
2009-06-05 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* winbase.h (ilockexch): Fix asm constraints.
|
|
(ilockcmpexch): Likewise.
|
|
|
|
2009-06-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* heap.cc (heap_init): Fix typo in comment.
|
|
|
|
2009-06-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_clipboard.cc: Avoid calling system_printf.
|
|
(set_clipboard): Add basic error checking. Set errno here. Per MSDN,
|
|
don't call GlobalFree on data block transferred to clipboard.
|
|
(fhandler_dev_clipboard::write): Drop setting errno after call to
|
|
set_clipboard.
|
|
(fhandler_dev_clipboard::read): Add basic error checking. Simplify code.
|
|
|
|
2009-06-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_console.cc (set_console_title): Convert title string to
|
|
wchar_t and call SetConsoleTitleW.
|
|
|
|
2009-06-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Allow Ctrl-Space to
|
|
emit a NUL byte.
|
|
|
|
2009-06-04 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* thread.cc (__cygwin_lock_lock): Delete racy optimisation.
|
|
(__cygwin_lock_unlock): Likewise.
|
|
|
|
2009-06-03 IWAMURO Motnori <deenheart@gmail.com>
|
|
|
|
* strfuncs.cc (sys_cp_mbstowcs): Fix condition.
|
|
|
|
2009-06-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (sys_cp_wcstombs): Implement reverse functionality
|
|
of the change to sys_cp_mbstowcs from 2009-05-30.
|
|
(sys_cp_mbstowcs): Slightly reformat. Fix comment to accommodate
|
|
change to sys_cp_wcstombs. Don't write to *ptr if dst is NULL.
|
|
|
|
2009-06-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Convert Alt-Backspace
|
|
to \033\177 or to \377 dependent on the setting of dev_state->metabit.
|
|
|
|
2009-06-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (path_conv::check): Don't call set_exec for files on "noacl"
|
|
mount points.
|
|
|
|
2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* strfuncs.cc (sys_cp_mbstowcs): Treat src as unsigned char *. Convert
|
|
failure of f_mbtowc into a single malformed utf-16 value.
|
|
|
|
2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygwin/include/sys/termios.h: Make default erase character "^?".
|
|
|
|
2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Convert backspace key
|
|
to DEL.
|
|
|
|
2009-05-29 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* path.cc (cwdstuff::set): Rewrite previous change to properly test the
|
|
end of the buffer.
|
|
|
|
2009-05-28 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* path.cc (cwdstuff::set): Avoid removing a nonexistent trailing slash.
|
|
|
|
2009-05-20 Eric Blake <ebb9@byu.net>
|
|
|
|
* net.cc (gethostby_helper): Use correct signedness.
|
|
|
|
2009-05-18 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* mount.cc (mount_info::add_item): Avoid using any-old '/' as
|
|
indicating root.
|
|
|
|
2009-05-18 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* mount.cc (mount_info::got_usr_bin): Mark as NO_COPY.
|
|
(mount_info::got_usr_lib): Ditto.
|
|
(mount_info::root_idx): Ditto.
|
|
|
|
2009-05-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* wchar.h (sys_mbstowcs): Add missing __stdcall attribute.
|
|
|
|
2009-05-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.cc (cygheap_init): Set Cygwin default locale values.
|
|
* cygheap.h (struct cygheap_locale): New structure.
|
|
(struct user_heap_info): Add cygheap_locale member locale.
|
|
* dcrt0.cc (dll_crt0_1): Revert to calling _setlocale_r so that only
|
|
the applications locale is reverted to "C".
|
|
* environ.cc (environ_init): Remove unused got_lc variable.
|
|
* fhandler.h (class dev_console): Remove now unsed locale variables.
|
|
* fhandler_console.cc (fhandler_console::get_tty_stuff): Remove
|
|
setting dev_console's locale members.
|
|
(dev_console::con_to_str): Use internal locale settings. Default to
|
|
__ascii_wctomb if charset is "ASCII".
|
|
(fhandler_console::write_normal): Ditto.
|
|
* strfuncs.cc (__ascii_wctomb): Drop declaration.
|
|
(__db_wctomb): Use fixed value 2 instead of not
|
|
necessarily matching MB_CUR_MAX.
|
|
(__eucjp_wctomb): Use 3 instead of MB_CUR_MAX.
|
|
(sys_cp_wcstombs): Remove special case for "C" locale.
|
|
(sys_wcstombs): Implement here. Use internal locale data stored on
|
|
cygheap.
|
|
(sys_cp_mbstowcs): Remove special case for "C" locale.
|
|
(sys_mbstowcs): Implement here. Use internal locale data stored on
|
|
cygheap.
|
|
* syscalls.cc (internal_setlocale): New function to set cygheap locale
|
|
data and to reset CWD posix path.
|
|
(setlocale): Just call internal_setlocale from here if necessary.
|
|
* wchar.h (__ascii_wctomb): Declare.
|
|
(sys_wcstombs): Don't define inline, just declare.
|
|
(sys_mbstowcs): Ditto.
|
|
|
|
2009-05-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* mount.cc (mount_info::init): Remove MOUNT_CYGWIN_EXEC setting when
|
|
auto-mounting /usr/bin.
|
|
|
|
2009-05-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (oopts): Add a no-op "auto" option.
|
|
(mount_info::create_root_entry): Set root dir to MOUNT_IMMUTABLE rather
|
|
than to MOUNT_OVERRIDE.
|
|
|
|
2009-05-13 Corinna Vinschen <corinna@vinschen.de>
|
|
Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* mount.cc (mount_info::got_usr_bin): Define.
|
|
(mount_info::got_usr_lib): Ditto.
|
|
(mount_info::root_idx): Ditto.
|
|
(mount_info::create_root_entry): Create root entry as immutable and
|
|
flag as automatic.
|
|
(mount_info::init): Remove "Huh? No /etc/fstab..." warning.
|
|
Unconditionally call from_fstab for user and system tables. Fill in
|
|
/usr/bin and /usr/lib if they have not been specified in /etc/fstab.
|
|
(oopts): Alphabetize. Add "override" option to allow overriding
|
|
immutable mount points.
|
|
(mount_info::add_item): Accommodate new MOUNT_IMMUTABLE flag intended
|
|
for root mount.
|
|
(mount_info::add_item): Detect "/usr/bin", "/usr/lib", and "/" and set
|
|
appropriate global state.
|
|
(fillout_mntent): Add ,auto to mount points added by Cygwin DLL.
|
|
(mount): Remove masking of MOUNT_SYSTEM. Allow user to shoot
|
|
themselves. Add comment.
|
|
* mount.h (mount_info::got_usr_bin): Declare.
|
|
(mount_info::got_usr_lib): Ditto.
|
|
(mount_info::root_idx): Ditto.
|
|
* include/sys/mount.h: Reformat enum.
|
|
Add MOUNT_{OVERRIDE,IMMUTABLE,AUTOMATIC}.
|
|
|
|
2009-05-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.h (cwdstuff): Convert to class. Make posix and dir private.
|
|
(cwdstuff::get_posix): New method.
|
|
(cwdstuff::reset_posix): New method.
|
|
* dcrt0.cc (dll_crt0_1): Call setlocale rather than _setlocale_r.
|
|
* environ.cc (environ_init): Ditto. Prefer "C" locale over current
|
|
codepage default locale.
|
|
* path.cc (chdir): Use cwdstuff::get_posix method instead of accessing
|
|
cwdstuff::posix directly.
|
|
(cwdstuff::set): Defer creating posix path to first usage.
|
|
(cwdstuff::get_posix): Create posix path if it's empty, and return it.
|
|
(cwdstuff::get): Create posix path if it's empty.
|
|
* strfuncs.cc (sys_cp_wcstombs): Use UTF-8 conversion in the "C"
|
|
locale.
|
|
(sys_cp_mbstowcs): Ditto.
|
|
* syscalls.cc (gen_full_path_at): Fetch CWD posix path locked.
|
|
(setlocale): Implement here. Reset CWD posix path.
|
|
|
|
2009-05-09 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* cygwin/version.h (CYGWIN_VERSION_CYGWIN_CONV): New define.
|
|
|
|
2009-05-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Add workaround for
|
|
Windows 7 64 bit issue. Add lengthy comment to explain what happens.
|
|
* wincap.h (wincaps::has_console_handle_problem): New element.
|
|
* wincap.cc: Implement above element throughout.
|
|
(wincap_7): New wincaps structure for NT 6.1 kernels.
|
|
(wincapc::init): Set has_console_handle_problem to false for 32 bit
|
|
systems.
|
|
|
|
2009-05-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sec_auth.cc (str2uni_cat): Move from here...
|
|
* path.cc (str2uni_cat): ...to here. Simplify. Make static inline.
|
|
(get_nt_native_path): Use RtlAppendUnicodeToString rather than
|
|
str2uni_cat for constant strings for speed.
|
|
* security.h (str2uni_cat): Drop declaration.
|
|
|
|
2009-05-08 Corinna Vinschen <corinna@vinschen.de>
|
|
IWAMURO Motonori <deenheart@gmail.com>
|
|
|
|
* strfuncs.cc (sys_cp_wcstombs): save and restore previous errno value.
|
|
(sys_cp_mbstowcs): Ditto.
|
|
|
|
2009-05-08 IWAMURO Motonori <deenheart@gmail.com>
|
|
|
|
* strfuncs.cc (sys_cp_wcstombs): Set errno to 0 before converting
|
|
wide char to SO/UTF-8 sequence.
|
|
|
|
2009-05-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/sys/select.h: Guard definitions with __USE_W32_SOCKETS as
|
|
the accompanying fd_set definitions in newlib's sys/types.h.
|
|
|
|
2009-05-06 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler_console.cc (fhandler_console::ioctl): Properly treat
|
|
TIOCLINUX argument as a char.
|
|
* fhandler_tty.cc (fhandler_tty_slave::ioctl): Use coercion to properly
|
|
set char value.
|
|
|
|
2009-05-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* libc/minires.c (scanline): Fix type in calls to ctype functions
|
|
to stay in unsigned char range for char values >= 0x80.
|
|
* regex/regcomp.c: Ditto, throughout.
|
|
* regex/regex2.h (ISWORD): Ditto.
|
|
|
|
2009-05-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.cc (cygheap_init): Set umask to a sane default.
|
|
* uinfo.cc (cygheap_user::ontherange): Don't use HOMEDRIVE/HOMEPATH
|
|
to set HOME. Default to /home/USERNAME.
|
|
|
|
2009-05-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (set_file_sd): Drop using FILE_OPEN_FOR_RECOVERY flag in
|
|
call to NtOpenFile.
|
|
* exceptions.cc (open_stackdumpfile): Ditto in call to NtCreateFile.
|
|
* fhandler.cc (fhandler_base::open): Ditto. Simplify setting
|
|
create_options.
|
|
|
|
* mount.cc (fs_info::update): Recognize offline storage.
|
|
(fillout_mntent): Report UDF and offline storage.
|
|
* mount.h (class fs_info): Add is_csc_cache status flag.
|
|
|
|
2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler_console.cc (fhandler_console::write_console): Eliminate
|
|
unneeded debugging output.
|
|
(fhandler_console::write_normal): Eliminate unneeded __seterrno.
|
|
|
|
2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* libc/minires.c (scanline): Accommodate ctype changes which disallow
|
|
use of an unadorned char argument to is* macros.
|
|
* regex/regcomp.c: Ditto, throughout.
|
|
* regex/regex2.h (ISWORD): Ditto.
|
|
|
|
2009-05-03 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.h (fhandler_console::MAX_WRITE_CHARS): Declare.
|
|
(fhandler_console::write_replacement_char): Declare as inline.
|
|
(fhandler_console::write_console): Declare new function.
|
|
* fhandler_console.cc (fhandler_console::MAX_WRITE_CHARS): Define.
|
|
(handler_console::write_console): Define.
|
|
(fhandler_console::write_replacement_char): Define as inline.
|
|
(fhandler_console::write_normal): Use write_console when writing
|
|
buffers of unknown length.
|
|
|
|
2009-04-26 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* include/cygwin/socket.h: Define SOL_IPV6.
|
|
|
|
2009-04-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ctype.cc (__set_ctype): Copy exact part of the current active
|
|
character class array.
|
|
|
|
2009-04-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* flock.cc (lf_setlock): Handle border case which results in WFMO loop
|
|
exiting with ret == WAIT_TIMEOUT gracefully. Add a system_printf to
|
|
uncover other potential problems with WFMO loop.
|
|
|
|
2009-04-18 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* mkimport: Specify .text for stub explicitly.
|
|
* speclib: Add a dummy '.idata$7' section referring to the dll
|
|
associated with the real import library.
|
|
|
|
2009-04-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc (globify): Only call mbtowc for non-ascii chars.
|
|
|
|
2009-04-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc (globify): Make multibyte-aware.
|
|
|
|
2009-04-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* flock.cc (class inode_t): Add i_wait member and matching methods
|
|
wait(), unwait(), and waiting().
|
|
(inode_t::inode_t): Initialize i_wait to 0.
|
|
(fhandler_disk_file::lock): Only remove node if no other thread is
|
|
waiting for a blocking lock.
|
|
(lf_setlock): Manipulate node->i_wait to signal that a thread is
|
|
waiting for a blocking lock in this node.
|
|
(lf_findoverlap): Reinstantiate SELF test as in original code.
|
|
|
|
2009-04-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dlfcn.cc (get_full_path_of_dll): Just return a bool value. Drop
|
|
local path_conv in favor of getting it as parameter. Add local string
|
|
buffer instead of getting it as parameter.
|
|
(dlopen): Accommodate get_full_path_of_dll change. Fetch WCHAR Windows
|
|
path from path_conv variable and call LoadLibraryW.
|
|
|
|
2009-04-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ntdll.h (STATUS_LOCK_NOT_GRANTED): Define.
|
|
* syscalls.cc (unlink_nt): Handle STATUS_LOCK_NOT_GRANTED same as
|
|
STATUS_SHARING_VIOLATION. Add lengthy comment to explain why.
|
|
|
|
2009-04-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (path_conv::get_wide_win32_path): Allow relative paths.
|
|
(cygwin_conv_path): In case of CCP_POSIX_TO_WIN_W, convert relative
|
|
paths to absolute paths if the relative pathname length exceeds
|
|
MAX_PATH.
|
|
|
|
2009-04-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* libc/bsdlib.cc: Align copyright with upstream.
|
|
* libc/fnmatch.c: Ditto.
|
|
* libc/fts.c: Ditto.
|
|
* libc/inet_addr.c: Ditto.
|
|
* libc/inet_network.c: Ditto.
|
|
* libc/rcmd.cc: Ditto.
|
|
* libc/rexec.cc: Ditto.
|
|
|
|
2009-04-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* speclib: Really revert to using tempdir.
|
|
|
|
2009-04-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* speclib: Revert to using tempdir.
|
|
|
|
2009-04-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* localtime.cc (tzload): Implement setting __tzrule's offset member
|
|
using newlib's __gettzinfo () interface also when tzload returns
|
|
successfully.
|
|
|
|
2009-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
|
|
|
|
* include/stdint.h (intptr_t): Remove long from type.
|
|
(uintptr_t): Likewise.
|
|
(INTPTR_MIN): Remove 'L' suffix.
|
|
(INTPTR_MAX, UINTPTR_MAX): Likewise.
|
|
|
|
2009-04-12 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* speclib: Initial stab at cleaning up temp files. More work needed.
|
|
* mkimport: Ditto.
|
|
|
|
2009-04-12 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* Makefile.in (clean): Clean globals.h.
|
|
(LIBCOS): Depend on globals.h.
|
|
|
|
2009-04-11 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* mkimport: New script to perform all operations necessary to create
|
|
libcygwin.a.
|
|
* rmsym: Delete.
|
|
* newsym: Delete.
|
|
* Makefile.in (toolopts): New variable which holds options relating to
|
|
binutils/gcc tools.
|
|
(speclib): Use toolopts. Add symbols to avoid copying to special
|
|
libraries.
|
|
(OBSOLETE_FUNCTIONS): Delete.
|
|
(NEW_FUNCTIONS): Change to represent an argument to new mkimport
|
|
script.
|
|
(libcygwin.a): Use only new mkimport script to create libcygwin.a.
|
|
Only rely on ${LIBCOS}.
|
|
(*/lib*.a): Simplify speclib dependencies.
|
|
(speclib): Accept toolchain options. Convert every argument to
|
|
absolute path. Simplify parsing of nm output. Accommodate new
|
|
exclude option.
|
|
|
|
2009-04-11 Dave Korn <dave.korn.cygwin@googlemail.com>
|
|
|
|
* include/stdint.h (INTPTR_MIN, INTPTR_MAX): Add 'L' suffix.
|
|
(WINT_MAX): Add 'U' suffix.
|
|
|
|
2009-04-10 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* speclib: Use a more robust method to derive full file path.
|
|
|
|
2009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* speclib: Semi-revert to previous version but don't try to generate
|
|
well-formed import library. Instead, just extract appropriate symbols
|
|
and let later libcygwin.a on link line fill in the rest of the import
|
|
stuff.
|
|
* gendef: Hopefully no-op modification to allow easier post-processing
|
|
on symbol values.
|
|
|
|
2009-04-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (try_to_bin): Use tmp_pathbuf buffer to allocate infobuf
|
|
rather than using the stack.
|
|
|
|
2009-04-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (try_to_bin): Fix alignment of infobuf.
|
|
|
|
2009-04-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fchown): Catch an
|
|
error when changing the user account on a standalone Samba server.
|
|
Explain why.
|
|
* sec_acl.cc (setacl): Accommodate additional parameter to set_file_sd.
|
|
* sec_helper.cc (SECURITY_SAMBA_UNIX_AUTHORITY): Define.
|
|
(well_known_samba_unix_user_fake_sid): Define.
|
|
* security.cc (set_file_sd): Take additional parameter if ownership
|
|
should be changed. Restrict requested permissions accordingly.
|
|
(set_file_attribute): Accommodate additional parameter to set_file_sd.
|
|
* security.h (well_known_samba_unix_user_fake_sid): Declare.
|
|
(set_file_sd): Align declaration to above change.
|
|
|
|
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/stdint.h (int_least32_t): Define as int.
|
|
(uint_least32_t): Ditto, unsigned.
|
|
(int_fast16_t): Define as int.
|
|
(int_fast32_t): Ditto.
|
|
(uint_fast16_t): Ditto, unsigned.
|
|
(uint_fast32_t): Ditto.
|
|
(UINT32_MAX): Remove `L' long marker.
|
|
(UINT_LEAST32_MAX): Ditto.
|
|
(UINT_FAST16_MAX): Ditto.
|
|
(UINT_FAST32_MAX): Ditto.
|
|
(INT32_C): Ditto.
|
|
(UINT32_C): Ditto.
|
|
|
|
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc: Change WCHAR to wchar_t in multibyte<->widechar
|
|
conversion functions throughout.
|
|
* wchar.h: Ditto in declarations. Guard them __INSIDE_CYGWIN__.
|
|
|
|
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class dev_console): Add members con_mbtowc, con_wctomb,
|
|
and con_charset.
|
|
(dev_console::str_to_con): Take mbtowc function pointer and charset
|
|
as additional parameters.
|
|
* fhandler_console.cc (fhandler_console::get_tty_stuff): Initialize
|
|
aforementioned new members. Explain why.
|
|
(dev_console::con_to_str): Remove useless comment. Call new
|
|
sys_cp_wcstombs function rather than sys_wcstombs.
|
|
(dev_console::str_to_con): Take mbtowc function pointer and charset
|
|
as additional parameters. Call sys_cp_mbstowcs accordingly.
|
|
(fhandler_console::write_normal): Only initialize f_mbtowc and charset
|
|
once. Accommodate changed str_to_con.
|
|
* strfuncs.cc (sys_cp_wcstombs): Renamed from sys_wcstombs. Take
|
|
wctomb function pointer and charset as parameters. Use throughout.
|
|
(sys_cp_mbstowcs): Take wctomb function pointer and charset as
|
|
parameters instead of codepage. Remove matching local variables and
|
|
their initialization.
|
|
* wchar.h (ENCODING_LEN): Define as in newlib.
|
|
(__mbtowc): Use mbtowc_p typedef for declaration.
|
|
(wctomb_f): New type.
|
|
(wctomb_p): New type.
|
|
(__wctomb): Declare.
|
|
(__utf8_wctomb): Use wctomb_f typedef for declaration.
|
|
(sys_cp_wcstombs): Move declaration from winsup.h here.
|
|
(sys_wcstombs): Ditto.
|
|
(sys_wcstombs_alloc): Ditto.
|
|
(sys_cp_mbstowcs): Ditto.
|
|
(sys_mbstowcs): Ditto.
|
|
(sys_mbstowcs_alloc): Ditto.
|
|
* winsup.h: Move declaration of sys_FOO functions to wchar.h. Include
|
|
wchar.h instead.
|
|
|
|
2009-04-06 Earl Chew <earl_chew@agilent.com>
|
|
|
|
* libc/rexec.cc (ruserpass): Use fstat64 instead of fstat.
|
|
|
|
2009-04-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc: Add comment to explain why we can't support JIS
|
|
for now.
|
|
(__db_wctomb): Alwaus use WC_NO_BEST_FIT_CHARS.
|
|
(__jis_wctomb): Just call __ascii_wctomb from here.
|
|
(__eucjp_wctomb): Convert to standalone implementation to fix up the
|
|
difference between eucJP and CP 20932 affecting JIS-X-0212 characters.
|
|
Explain.
|
|
(__kr_wctomb): Use codepage 949.
|
|
(__db_mbtowc): Reorder code slightly. Always use MB_ERR_INVALID_CHARS
|
|
in call to MultiByteToWideChar. Fix a problem with singlebyte
|
|
sequences. Fix a bug in '\0' handling. Reset state->__count on
|
|
successful return from non-zero state.
|
|
(__jis_mbtowc): Just call __ascii_mbtowc from here.
|
|
(__eucjp_mbtowc): Convert to standalone implementation to fix up the
|
|
difference between eucJP and CP 20932 affecting JIS-X-0212 characters.
|
|
(__kr_mbtowc): Use codepage 949.
|
|
(__set_charset_from_codepage): Handle codepage 20932 as eucJP.
|
|
|
|
2009-04-05 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* Makefile.in: Use all compile options when calculating magic values.
|
|
* shared_info.h (CURR_SHARED_MAGIC): Revert erroneous value.
|
|
* child_info.h (CURR_CHILD_INFO_MAGIC): Update.
|
|
|
|
* fhandler.h (acquire_output_mutex): Remove unneeded ';'.
|
|
(release_output_mutex): Ditto.
|
|
|
|
2009-04-05 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* net.cc: Undefine NOERROR and DELETE to avoid compiler warnings.
|
|
* shared_info.h (CURR_SHARED_MAGIC): Update.
|
|
* spawn.cc (spawn_guts): Avoid copying one line command line argument
|
|
if it hasn't been filled out.
|
|
|
|
2009-04-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/asm/byteorder.h (__ntohl): Prototype before define to avoid
|
|
a warning with -Wmissing-prototypes. Use _ELIDABLE_INLINE macro from
|
|
_ansi.h.
|
|
(__ntohs): Ditto.
|
|
|
|
2009-04-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* environ.cc (build_env): Fix length calculation of resulting
|
|
wide char environment string.
|
|
|
|
2009-04-02 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* include/netdb.h: #include <inttypes.h>, <netinet/in.h>,
|
|
and <sys/socket.h> per SUSv3.
|
|
|
|
2009-04-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (sys_cp_mbstowcs): Check if ASCII SO is followed by at
|
|
least two chars and the next byte is a valid UTF-8 start byte before
|
|
trying to convert the followup bytes as UTF-8 sequence.
|
|
|
|
2009-03-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* shm.cc (struct shm_attached_list): Convert access type to ULONG.
|
|
(fixup_shms_after_fork): Fix comment. Use NtMapViewOfSection rather
|
|
than MapViewOfFileEx to recreate shared memory regions. Add function
|
|
name to api_fatal output.
|
|
(shmat): Use NtMapViewOfSection to create shared memory region
|
|
top-down.
|
|
|
|
2009-03-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ctype.cc: Remove implementation of ctype functions in favor of
|
|
pointer-based newlib implementation.
|
|
(_ctype_b): Declare.
|
|
(__ctype_cp): Move to newlib. Declare.
|
|
(__ctype_iso): Ditto.
|
|
(__set_ctype): Implement changing __ctype_ptr__. Only copy character
|
|
class data in applications built under older Cygwin.
|
|
* cygwin.din (__ctype_ptr__): Export.
|
|
* include/ctype.h: Remove in favor of newlib implementation.
|
|
* include/cygwin/config.h (__EXPORT): Define alongside __IMPORT.
|
|
* include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE):
|
|
Define check for old vs. new ctype implementation.
|
|
Bump API minor number.
|
|
|
|
2009-03-28 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* Makefile.in: Perform some minor cleanup. Revamp speclib handling.
|
|
* speclib: Rewrite to create libraries with dlltool rather than
|
|
attempting surgery on libcygwin.a.
|
|
|
|
2009-03-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (inet_ntop6): Convert to lowercase hex digits on the fly.
|
|
|
|
2009-03-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_getaddrinfo): Check hints for non-NULL before
|
|
checking its content.
|
|
|
|
2009-03-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class fhandler_fifo): Rename read/write methods to
|
|
raw_read/raw_write.
|
|
* fhandler_fifo.cc: Ditto.
|
|
|
|
2009-03-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (pathconf): Fix memory leak.
|
|
|
|
2009-03-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink_worker): Write target filename as UTF-16 string
|
|
with leading BOM marker.
|
|
(symlink_info::check_shortcut): If check for leading BOM marker
|
|
succeeds, read filename as UTF-16 string.
|
|
(symlink_info::check_sysfile): Ditto.
|
|
|
|
2009-03-26 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* include/asm/byteorder.h (__ntohl): Align definition to ISO C99.
|
|
(__ntohs): Ditto.
|
|
|
|
2009-03-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (__set_charset_from_codepage): Revert to translating
|
|
codepage 936 to "GBK".
|
|
|
|
2009-03-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (sys_wcstombs): Don't convert ASCII SO into two
|
|
ASCII SO's.
|
|
|
|
2009-03-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* environ.cc (environ_init): Break from locale loop after first hit.
|
|
* fhandler_console.cc (fhandler_console::write_normal): Print a SO
|
|
sequence using always valid Unicode chars.
|
|
|
|
2009-03-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (__kr_wctomb): Use codepage 51949 rather than 50949.
|
|
(__kr_mbtowc): Ditto.
|
|
(__set_charset_from_codepage): Ditto. Translate codepage 936 to
|
|
"GB2312" and drop the charset name "GBK".
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (__kr_wctomb): Use codepage 50949 rather than 949.
|
|
(__kr_mbtowc): Ditto.
|
|
(__set_charset_from_codepage): Translate codepages 949 and 50949 to
|
|
"EUCKR" and drop the charset name "CP949".
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* strfuncs.cc (sys_cp_mbstowcs): Don't read beyond src + nms.
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* shared_info.h (CURR_SHARED_MAGIC): Update.
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* wchar.h: Replace UINT with unsigned int.
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* wchar.h: Remove erroneous "C" specifier from extern declaration.
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ctype.cc (_CTYPE_DATA_0_127): Add _B class to TAB character.
|
|
(__ctype_default): New character class array for default ASCII
|
|
character set.
|
|
(__ctype_iso): New array of character class array for ISO charsets.
|
|
(__ctype_cp): Ditto for singlebyte Windows codepages.
|
|
(tolower): Implement as distinct function to support any singlebyte
|
|
charset.
|
|
(toupper): Ditto.
|
|
(__set_ctype): New function to copy singlebyte character classes
|
|
corresponding to current charset to ctype_b array.
|
|
Align copyright text to upstream.
|
|
* dcrt0.cc (dll_crt0_1): Reset current locale to "C" per POSIX.
|
|
* environ.cc (set_file_api_mode): Remove.
|
|
(codepage_init): Remove.
|
|
(parse_thing): Remove "codepage" setting.
|
|
(environ_init): Set locale according to environment settings, or
|
|
to current codepage, before converting environment to multibyte.
|
|
* fhandler.h (fhandler_console::write_replacement_char): Drop argument.
|
|
* fhandler_console.cc (dev_console::str_to_con): Call sys_cp_mbstowcs
|
|
rather than MultiByteToWideChar.
|
|
(fhandler_console::write_replacement_char): Always print a funny
|
|
half filled square if a character isn't in the current charset.
|
|
(fhandler_console::write_normal): Convert to using __mbtowc
|
|
rather than next_char.
|
|
* fork.cc (frok::child): Drop call to set_file_api_mode.
|
|
* globals.cc (enum codepage_type) Remove.
|
|
(current_codepage): Remove.
|
|
* miscfuncs.cc (cygwin_wcslwr): Unused, dangerous. Remove.
|
|
(cygwin_wcsupr): Ditto.
|
|
(is_cp_multibyte): Remove.
|
|
(next_char): Remove.
|
|
* miscfuncs.h (is_cp_multibyte): Drop declaration.
|
|
(next_char): Ditto.
|
|
* strfuncs.cc (get_cp): Remove.
|
|
(__db_wctomb): New function to implement _wctomb_r functionality for
|
|
doublebyte charsets using WideCharToMultiByte.
|
|
(__sjis_wctomb): New function to replace unusable newlib function.
|
|
(__jis_wctomb): Ditto.
|
|
(__eucjp_wctomb): Ditto.
|
|
(__gbk_wctomb): New function.
|
|
(__kr_wctomb): Ditto.
|
|
(__big5_wctomb): Ditto.
|
|
(__db_mbtowc): New function to implement _mbtowc_r functionality for
|
|
doublebyte charsets using MultiByteToWideChar.
|
|
(__sjis_mbtowc): New function to replace unusable newlib function.
|
|
(__jis_mbtowc): Ditto.
|
|
(__eucjp_mbtowc): Ditto.
|
|
(__gbk_mbtowc): New function.
|
|
(__kr_mbtowc): New function
|
|
(__big5_mbtowc): New function
|
|
(__set_charset_from_codepage): New function.
|
|
(sys_wcstombs): Reimplement, basically using same wide char to multibyte
|
|
conversion as newlib's application level functions. Plus extras.
|
|
Add lengthy comment to explain. Change return type to size_t.
|
|
(sys_wcstombs_alloc): Just use sys_wcstombs. Change return type to
|
|
size_t.
|
|
(sys_cp_mbstowcs): Replace sys_mbstowcs, take additional codepage
|
|
argument. Explain why. Change return type to size_t.
|
|
(sys_mbstowcs_alloc): Just use sys_mbstowcs. Change return type to
|
|
size_t.
|
|
* wchar.h: Declare internal functions implemented in strfuncs.cc.
|
|
(wcscasecmp): Remove.
|
|
(wcsncasecmp): Remove.
|
|
(wcslwr): Remove.
|
|
(wcsupr): Remove.
|
|
* winsup.h (codepage_init): Remove declaration.
|
|
(get_cp): Ditto.
|
|
(sys_wcstombs): Align declaration to new implementation.
|
|
(sys_wcstombs_alloc): Ditto.
|
|
(sys_cp_mbstowcs): Add declaration.
|
|
(sys_mbstowcs): Define as inline function.
|
|
(sys_mbstowcs_alloc): Align declaration to new implementation.
|
|
(set_file_api_mode): Remove declaration.
|
|
* include/ctype.h (isblank): Redefine to use _B character class.
|
|
(toupper): Remove ASCII-only definition.
|
|
(tolower): Ditto.
|
|
|
|
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sec_auth.cc (str2buf2uni): Remove.
|
|
* security.h (str2buf2uni): Remove declaration.
|
|
|
|
2009-03-24 Yaakov Selkowitz <yselkowitz@cygwin.com>
|
|
|
|
* include/mntent.h: Remove declarations of nonexistant addmntent
|
|
and hasmntopt. Update and clarify the /etc/mtab comment.
|
|
|
|
2009-03-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and
|
|
PUNICODE_STRING arguments.
|
|
(__small_vswprintf): Ditto.
|
|
|
|
2009-03-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/asm/byteorder.h (__constant_ntohs): Remove declaration.
|
|
(__constant_ntohl): Ditto.
|
|
|
|
2009-03-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wordexp, wordfree.
|
|
* posix.sgml: Move them to SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-22 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* include/sys/un.h: #include <string.h> for strlen.
|
|
|
|
2009-03-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dlfcn.cc (get_full_path_of_dll): Revert patch from 2008-07-16.
|
|
|
|
2009-03-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* cygwin.din: Export log2, log2f as functions.
|
|
* posix.sgml: Add them to SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sec_auth.cc (lsaauth): Remove local definitions of struct
|
|
_TOKEN_LINKED_TOKEN and TokenLinkedToken in favor of definitions
|
|
from winnt.h.
|
|
(lsaprivkeyauth): As in lsaauth, fetch linked token if available and
|
|
return that in favor of default token.
|
|
|
|
2009-03-15 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
|
|
|
* errno.cc (_sys_errlist): Add ESTRPIPE.
|
|
|
|
2009-03-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcsdup.
|
|
* posix.sgml: Add wcsdup to SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/inttypes.h: Remove "l" size specifier from all 16 and 32 bit
|
|
definitions.
|
|
|
|
2009-03-14 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* path.cc (warn_msdos): Don't warn about MS-DOS filenames encountered
|
|
during initialization.
|
|
|
|
2009-03-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* gendef: Remove STABS directives.
|
|
|
|
2009-03-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mktemp.cc: Remove STABS specific link-time warning. Align copyright
|
|
text to upstream.
|
|
|
|
2009-03-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* flock.cc: Fix lockf copyright to latest version.
|
|
|
|
2009-03-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (path_conv::isgood_inode): Move to be defined
|
|
earlier.
|
|
(get_ino_by_handle): Take additional path_conv argument, accommodate
|
|
throughout. Only use FileId if isgood_inode check is true.
|
|
(fhandler_base::open_fs): Simplify setting ino due to above change.
|
|
(readdir_get_ino): Make sure to return always a non-zero inode number.
|
|
(fhandler_disk_file::readdir): Always open file in dir with
|
|
FILE_OPEN_REPARSE_POINT so as not to open wrong file.
|
|
Drop call to isgood_inode here.
|
|
* path.cc (symlink_info::check): Call fs.update in case we're fetching
|
|
file information from call to NtQueryDirectoryFile.
|
|
|
|
2009-03-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* flock.cc (fhandler_disk_file::lock): Don't test file open mode in
|
|
case of flock-type locks. Explain why.
|
|
|
|
2009-03-12 Brian Ford <Brian.Ford@FlightSafety.com>
|
|
|
|
* gethostby_helper: Fix typos in DEBUGGING case.
|
|
|
|
2009-03-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcscasecmp, wcsncasecmp.
|
|
* posix.sgml: Move wcscasecmp, wcsncasecmp to SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wscanf, fwscanf, swscanf, vwscanf, vfwscanf,
|
|
vswscanf.
|
|
* posix.sgml: Move fwscanf, swscanf, vwscanf, vfwscanf, vswscanf
|
|
to SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_socket::wait_for_events): Take additional
|
|
parameter "dontwait".
|
|
* fhandler_socket.cc (fhandler_socket::wait_for_events): Act as if the
|
|
socket is non-blocking if dontwait is true.
|
|
(fhandler_socket::recv_internal): Use incoming MSG_DONTWAIT flag to
|
|
set the wait_for_events dontwait parameter.
|
|
(fhandler_socket::send_internal): Ditto. Optimize code slightly.
|
|
* include/cygwin/socket.h (MSG_DONTWAIT): Define.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcsftime.
|
|
* posix.sgml: Move wcsftime to SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-06 Pierre A. Humblet <pierre@phumblet.no-ip.org>
|
|
|
|
* cygwin.din: Export gethostbyname2.
|
|
* net.cc: define _CYGWIN_IN_H and include resolv.h.
|
|
(realloc_ent): New function.
|
|
(dup_ent): Call realloc_ent.
|
|
(memcpy4to6): New function.
|
|
(dn_length1): New function.
|
|
(gethostby_helper): New function.
|
|
(gethostbyname2): New function.
|
|
* posix.sgml: Add gethostbyname2.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
* libc/minires.c (get_options): Look for "inet6" and apply bounds
|
|
to "retry" and "retrans".
|
|
(res_ninit): Set the default options at the beginning.
|
|
(dn_expand): Fix "off by one".
|
|
|
|
2009-03-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wprintf, fwprintf, swprintf, vwprintf, vfwprintf,
|
|
vswprintf. Sort.
|
|
* posix.sgml: Move fwprintf, swprintf, vwprintf, vfwprintf, vswprintf
|
|
to SUSv4 list. Sort SUSv4 list.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-03-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc (disable_dep): Disable. Explain why.
|
|
(dll_crt0_0): Disable calling disable_dep. Explain why.
|
|
|
|
2009-03-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc: Include asm/byteorder.h.
|
|
(htonl): Move to end of file. Add comment to explain why. Align
|
|
definition to POSIX. Use related macro from asm/byteorder.h.
|
|
(ntohl): Ditto.
|
|
(htons): Ditto.
|
|
(ntohs): Ditto.
|
|
* include/asm/byteorder.h: Revert previous patch.
|
|
|
|
2009-03-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/asm/byteorder.h: Disable optimization when building
|
|
Cygwin network code.
|
|
|
|
2009-02-26 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* dtable.cc (dtable::select_read): Add ability to override fh.
|
|
* fhandler.h (fhandler_fifo::select_read): Declare new function.
|
|
(fhandler_fifo::select_write): Ditto.
|
|
(fhandler_fifo::select_except): Ditto.
|
|
* select.cc (peek_pipe): Treat certain classes of pipe errors as "no
|
|
data".
|
|
(fhandler_fifo::select_read): Define new function.
|
|
(fhandler_fifo::select_write): Ditto.
|
|
(fhandler_fifo::select_except): Ditto.
|
|
|
|
* shared_info.h (CURR_SHARED_MAGIC): Update.
|
|
|
|
2009-02-23 Sjors Gielen <mailinglist@dazjorz.com>
|
|
|
|
* Makefile.in: Add DESTDIR functionality.
|
|
|
|
2009-02-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sec_auth.cc (get_user_local_groups): Simplify LookupAccountName code.
|
|
|
|
2009-02-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (NetLocalGroupEnum): Remove.
|
|
(NetLocalGroupGetMembers): Remove.
|
|
(NetUserGetLocalGroups): Add.
|
|
* sec_auth.cc (is_group_member): Remove function.
|
|
(get_user_local_groups): Get user as string instead of as SID.
|
|
Call NetUserGetLocalGroups instead of NetLocalGroupEnum. Drop call
|
|
to is_group_member.
|
|
(get_server_groups): Call get_user_local_groups with user name instead
|
|
of user SID.
|
|
|
|
2009-02-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* winver.rc: Fix Copyright date.
|
|
|
|
2009-02-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export mbsnrtowcs and wcsnrtombs.
|
|
* posix.sgml: Move mbsnrtowcs and wcsnrtombs to SUSv4 section.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-18 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export open_wmemstream.
|
|
* posix.sgml: Move open_wmemstream to SUSv4 section.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export reallocf.
|
|
* malloc_wrapper.cc( reallocf): New function.
|
|
* posix.sgml: Add reallocf to BSD section.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
* libc/fts.c: Remove erroneous reallocf definition.
|
|
|
|
2009-02-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcstoimax, wcstoumax.
|
|
* posix.sgml: Move wcstoimax and wcstoumax to SUSv4 section.
|
|
* include/inttypes.h: Declare wcstoimax and wcstoumax.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcsnlen.
|
|
* posix.sgml: Move wcsnlen to SUSv4 section.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* environ.cc (_getenv_r): New function.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix.sgml: Move dirfd to SUSv4 section.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix.sgml: Move interfaces deprecated in SUSv4 to deprecated
|
|
interfaces section. Move interfaces added in SUSv4 to SUSv4
|
|
section or, if unimplemented, add them to the unimplemented interfaces
|
|
section.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* posix.sgml: Merge SUSv3 and SUSv4 section into a single SUSv4 section.
|
|
Move Solaris calls now in SUSv4 to SUSv4 section. Rename unimplemented
|
|
section to refer to SUSv4. Add note about missing interfaces.
|
|
Move wcstod and wcstof from unimplemented to SUSv4 section.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (mount_info::from_fstab_line): Make cygdrive posix=0 by
|
|
default as documented.
|
|
|
|
2009-02-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcstod and wcstof.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (open): Handle O_DIRECTORY flag.
|
|
* include/fcntl.h: Add SUSv4 flags O_DIRECTORY, O_EXEC and O_SEARCH.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_floppy.cc (fhandler_dev_floppy::open): Fix format. Add
|
|
code to allow to read disk and CD/DVD devices in full length. Explain
|
|
why.
|
|
(fhandler_dev_floppy::raw_read): Add current position to debug output.
|
|
|
|
* include/sys/sched.h: New stub file to override newlib file with
|
|
clashing definitions.
|
|
|
|
2009-02-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din: Export wcstok.
|
|
* posix.sgml: Move wcstok from unimplemented to susv3.
|
|
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
2009-02-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_proc.cc (proc_tab): Add entry for mounts symlink.
|
|
(format_proc_mounts): New function to implement mounts symlink.
|
|
* fhandler_process.cc (process_tab): Add entry for mounts file.
|
|
(format_process_mounts): New function to implement mounts file.
|
|
|
|
2009-02-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (alloc_sd): Disable generating default permission entries
|
|
for directories.
|
|
|
|
2009-01-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix inode number
|
|
evaluation for faked "." entry.
|
|
|
|
* mount.cc (fs_info::update): Move setting of is_cdrom after checking
|
|
for caseinsensitivity. Recognize UDF in is_cdrom case and set
|
|
caseinsensitive flag according to UDF brokenness determined by OS.
|
|
Add comment to explain why.
|
|
* mount.h (class fs_info): Add is_udf status flag.
|
|
* path.cc (symlink_info::check): Add workaround for UDF bug in
|
|
terms of casesensitivity on certain OSes.
|
|
* wincap.h (wincaps::has_broken_udf): New element.
|
|
* wincap.cc: Implement above element throughout.
|
|
|
|
2009-01-27 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* fhandler.cc (fhandler_base::wait_overlapped): Set bytes to -1 on
|
|
EINTR or real error.
|
|
(fhandler_base::write_overlapped): Assume that bytes_written will
|
|
contain proper error value.
|
|
* pipe.cc (fhandler_pipe::fhandler_pipe): Set uninterruptible_io since
|
|
signals are handled by pipe functions now.
|
|
|
|
2009-01-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* shared.cc (shared_name): New function for WCHAR names.
|
|
(open_shared): Take name parameter as WCHAR. Accommodate throughout.
|
|
* shared_info.h ((CURR_SHARED_MAGIC): Redefine.
|
|
(shared_name): Add declaration for function taking a WCHAR name.
|
|
(open_shared): Change declaration according to above change.
|
|
* pinfo.cc (pinfo::init) : Accommodate above change.
|
|
|
|
2009-01-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* grp.cc (getgrgid_r): Simplify code by using stpcpy.
|
|
(getgrnam_r): Ditto.
|
|
* passwd.cc (getpwuid_r32): Simplify code by using stpcpy.
|
|
(getpwnam_r): Ditto.
|
|
|
|
2009-01-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (pwdgrp::load): Open file with FILE_OPEN_FOR_BACKUP_INTENT
|
|
flag.
|
|
|
|
2009-01-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (mount_info::from_fstab): Open fstab file with
|
|
FILE_OPEN_FOR_BACKUP_INTENT flag.
|
|
|
|
2009-01-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* smallprint.cc (__small_vsprintf): Use already available buffer tmp
|
|
in wfillin case.
|
|
|
|
2009-01-22 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* select.cc (peek_serial): Add hack to allow proper operation with
|
|
com0com driver.
|
|
|
|
2009-01-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Remove USE_SERVER define. Accommodate throughout.
|
|
* configure.in: Remove --enable-server option.
|
|
* configure: Regenerate.
|
|
* environ.cc: Remove CYGWIN=server setting.
|
|
|
|
2009-01-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_procnet.cc: Reorganize global procnet content data into a
|
|
new struct virt_tab_t. Accommodate throughout.
|
|
|
|
* fhandler.h: Fix copyright dates.
|
|
* fhandler_process.cc: Ditto.
|
|
* fhandler_registry.cc: Ditto.
|
|
|
|
2009-01-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* devices.h (FH_PROCESSFD): New device type.
|
|
* dtable.cc (build_fh_pc): Add case for FH_PROCESSFD.
|
|
* fhandler.h (class fhandler_virtual): Drop bufalloc member.
|
|
* fhandler_virtual.h: New header.
|
|
* fhandler_proc.cc: Remove types proc_type_t and proc_tab_t in favor
|
|
of types virt_type_t and virt_tab_t from fhandler_virtual.h.
|
|
Change prototypes of format_XXX functions accordingly.
|
|
(proc_tab): Drop size member info.
|
|
(fhandler_proc::fill_filebuf): Don't allocate filebuf here. Allocate
|
|
it in the format_XXX functions.
|
|
* fhandler_process.cc: Reorganize global process content data into a
|
|
new struct virt_tab_t. Accommodate throughout.
|
|
(format_process_winexename): New function.
|
|
(format_process_winpid): New function.
|
|
(format_process_exename): New function.
|
|
(format_process_root): New function.
|
|
(format_process_cwd): New function.
|
|
(format_process_cmdline): New function.
|
|
(format_process_ppid): New function.
|
|
(format_process_uid): New function.
|
|
(format_process_pgid): New function.
|
|
(format_process_sid): New function.
|
|
(format_process_gid): New function.
|
|
(format_process_ctty): New function.
|
|
(format_process_fd): New function.
|
|
* fhandler_procnet.cc (fhandler_procnet::fill_filebuf): Don't use
|
|
bufalloc.
|
|
* fhandler_registry.cc (fhandler_registry::fill_filebuf): Define
|
|
bufalloc locally.
|
|
* fhandler_virtual.cc (fhandler_virtual::fhandler_virtual): Drop
|
|
initialization of bufalloc.
|
|
(fhandler_virtual::dup): Drop copying bufalloc.
|
|
|
|
2009-01-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* thread.h (struct pthread_rwlock::RWLOCK_READER): Add counter n.
|
|
* thread.cc (pthread_rwlock::rdlock): If a thread already owns a
|
|
read lock, just count the number of locks for it, per SUSv4.
|
|
(pthread_rwlock::tryrdlock): Ditto.
|
|
(pthread_rwlock::unlock): If a thread has more than one concurrent
|
|
read locks, just count down.
|
|
|
|
2009-01-20 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (WSAIoctl): Reintroduce.
|
|
(WSASendMsg): Define.
|
|
* fhandler.h (class fhandler_socket): Change definition of recv_internal
|
|
and send_internal to take WSAMSG pointer as parameter.
|
|
* fhandler_socket.cc (WSAID_WSARECVMSG): Define.
|
|
(LPFN_WSARECVMSG): Define.
|
|
(WSASendMsg): Declare.
|
|
(get_ext_funcptr): New function to fetch address of WSARecvMsg.
|
|
(fhandler_socket::recv_internal): Take just a LPWSAMSG parameter.
|
|
Change code accordingly. If control information is requested,
|
|
fetch address of WSARecvMsg and use that instead of WSARecvFrom.
|
|
(fhandler_socket::recvfrom): Change return type to ssize_t as
|
|
declared in fhandler.h. Accommodate changes to recv_internal.
|
|
(fhandler_socket::recvmsg): Ditto. Make sure that control information
|
|
is only requested if system, address family, and socket type support it.
|
|
(fhandler_socket::send_internal): Take just a LPWSAMSG parameter
|
|
and the flags. Change code accordingly. If control information is
|
|
provided, use WSASendMsg instead of WSASendTo.
|
|
(fhandler_socket::sendto): Drop useless comment. Accommodate changes
|
|
to send_internal.
|
|
(fhandler_socket::sendmsg): Ditto. Make sure that control information
|
|
is only provided if system, address family, and socket type support it.
|
|
* wincap.h (wincaps::has_recvmsg): New element.
|
|
(wincaps::has_sendmsg): New element
|
|
* wincap.cc: Implement above elements throughout.
|
|
* include/cygwin/socket.h (CMSG_ALIGN): Phrase in terms of alignment
|
|
of type struct cmsghdr.
|
|
|
|
2009-01-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mmap.cc (mmap64): Fix condition checking if anonymous mapping beyond
|
|
EOF is required.
|
|
|
|
2009-01-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_proc.cc: Reorganize global proc content data into a new
|
|
struct proc_tab_t. Accommodate throughout.
|
|
(format_proc_version): New function.
|
|
(format_proc_loadavg): New function.
|
|
(format_proc_self): New function.
|
|
|
|
* resource.cc (getrlimit): Return correct rlim_max value for
|
|
RLIMIT_NOFILE.
|
|
|
|
2009-01-16 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* Fix copyright dates.
|
|
|
|
2009-01-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* libc/getopt.c (parse_long_options): Use fix from NetBSD's getopt
|
|
to avoid false ambiguities.
|
|
|
|
2009-01-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (enum bin_status): New type.
|
|
(try_to_bin): Return bin_status. Rename win32_path to pc. Rename h
|
|
to fh. Rename fh to tmp_fh. Add code to set delete dispostion and
|
|
more code to replace file moved to bin by another, temporary file.
|
|
Add comments to explain why.
|
|
(unlink_nt): Replace move_to_bin with bin_stat. Only set bin_stat
|
|
to move_to_bin for non-remote files. As a last resort, call try_to_bin
|
|
if setting delete-on-close failed. Only re-set R/O DOS attribute
|
|
and only close handle if it's still valid.
|
|
|
|
2009-01-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* errno.cc (errmap): Set errno to ENOENT instead of ENOSHARE throughout.
|
|
* path.cc (path_conv::check): Set to and check for ENOENT instead of
|
|
ENOSHARE.
|
|
|
|
* path.cc (symlink_info::check): Fix Samba 3.2.x comment.
|
|
|
|
2009-01-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mount.cc (mount_info::from_fstab_line): Always convert drive
|
|
letter in native path to uppercase.
|
|
* path.cc (normalize_win32_path): Ditto.
|
|
(path_prefix_p): Revert previous patch.
|
|
|
|
* path.cc (symlink_info::check): Check for STATUS_INVALID_PARAMETER
|
|
return code to circumvent weird behaviour of Samba 3.2.x shares.
|
|
|
|
2009-01-09 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* include/sys/cygwin.h (CW_SETERRNO): Define.
|
|
* external.cc (CW_SETERRNO): Implement.
|
|
* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 192 to
|
|
reflect the above change.
|
|
|
|
* path.cc (path_prefix_p): Treat X: as equivalent to x:.
|
|
|
|
* mkglobals_h: Remove unneeded #define.
|
|
|
|
* spawn.cc (spawn_guts): Avoid overly wordy initialization to zero.
|
|
|
|
2009-01-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* libc/fts.c (fts_build): Use DT_DIR case on Cygwin.
|
|
(fts_ufslinks): Fix using wrong structure member in Cygwin-specific
|
|
code.
|
|
|
|
2009-01-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ntdll.h: Reorder NT status flags. Fix a case difference. Add
|
|
STATUS_CANNOT_DELETE flag.
|
|
* syscalls.cc (unlink_nt): Change initial NtOpenFile to request
|
|
FILE_SHARE_DELETE sharing mode. Change comment accordingly.
|
|
If setting delete disposition failed with STATUS_CANNOT_DELETE, try
|
|
to delete using delete-on-close. Explain why.
|
|
Rearrange setting R/O DOS attribute after trying to delete. Simplify
|
|
comment.
|
|
|
|
2009-01-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Only add .exe if
|
|
original file has .exe as well.
|
|
* path.cc (path_conv::is_binary): Only recognize Windows 32 and 64 bit
|
|
apps as binaries.
|
|
|
|
2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
Remove unneeded header files from source files throughout.
|
|
Update copyrights where appropriate.
|
|
|
|
* globals.cc: New file for generic global variables.
|
|
* mkglobals_h: New script to generate globals.h.
|
|
* mkstatic: New script used to build a (currently non-working) static
|
|
libcygwin_s.a.
|
|
* Makefile.in: Add unused rule to build a non-working libcygwin_s.a.
|
|
(DLL_OFILES): Add globals.o. Make all objects rely on globals.h.
|
|
(globals.h): New target. Generate globals.h.
|
|
* cygtls.h: Honor new CYGTLS_HANDLE define to control when the HANDLE
|
|
operator is allowed in _cygtls.
|
|
* dcrt0.cc: Move most globals to globals.cc.
|
|
* init.cc: Ditto.
|
|
* environ.cc (strip_title_path): Remove now-unneeded extern.
|
|
* fhandler_serial.cc (fhandler_serial::open): Ditto.
|
|
* pinfo.cc: Ditto.
|
|
(commune_process): Ditto.
|
|
* shared.cc: Ditto.
|
|
* glob.cc: Ditto.
|
|
* strace.cc: Ditto.
|
|
* exceptions.cc: Define CYGTLS_HANDLE before including winsup.h.
|
|
* path.cc (stat_suffixes): Move here.
|
|
* security.h: Add forward class path_conv declaration.
|
|
* smallprint.cc (__small_vsprintf): Make a true c++ function.
|
|
(__small_sprintf): Ditto.
|
|
(small_printf): Ditto.
|
|
(console_printf): Ditto.
|
|
(__small_vswprintf): Ditto.
|
|
(__small_swprintf): Ditto.
|
|
* spawn.cc (spawn_guts): Remove _stdcall decoration in favor of
|
|
regparm.
|
|
(hExeced): Move to globals.cc
|
|
* strfuncs.cc (current_codepage): Ditto.
|
|
(active_codepage): Ditto.
|
|
* sync.cc (lock_process::locker): Move here from dcrt0.cc.
|
|
* syscalls.cc (stat_suffixes): Move to path.cc.
|
|
* tty.cc (tty::create_master): Uncapitalize fatal warning for
|
|
consistency.
|
|
* winsup.h: Include globals.h to declare most of the grab bag list of
|
|
globals which were previously defined here.
|
|
|
|
* mount.h: Move USER_* defines back to shared_info.h.
|
|
|
|
* speclib: Force temporary directory cleanup.
|
|
|
|
2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
* speclib: Rewrite completely in perl. Avoid multiple nm calls.
|