Age | Commit message (Collapse) | Author |
|
more closely aligned to Glibc.
|
|
runpath if runpath is not NULL.
|
|
language/TERRITORY combinations explicitely. Explain why.
|
|
|
|
(internal_setlocale): Ditto.
(initial_setlocale): Ditto.
(setlocale): Ditto.
* strfuncs.cc (__sjis_wctomb): Revert previous patch.
(__sjis_mbtowc): Ditto.
* syscalls.cc: Move setlocale-related functions to nlsfuncs.cc.
|
|
differ between SJIS and Windows codepage 932, if charset is "SJIS".
(__sjis_mbtowc): Ditto.
(_jis_wctomb): Remove.
(__jis_mbtowc): Remove.
|
|
allow correct comparison using wcscmp.
|
|
|
|
* autoload.cc (LocaleNameToLCID): Define.
* cygwin.din (strfmon): Export.
* nlsfuncs.cc: New file. Define a lot of internal functions called
from setlocale.
(wcscoll): Implement locale-aware here, using CompareStringW function.
(strcoll): Ditto.
(wcsxfrm): Implement locale-aware here, usingLCMapStringW function.
(strxfrm): Ditto.
(__set_charset_from_locale): Replace __set_charset_from_codepage.
Return Linux-compatible charset.
* strfuncs.cc (__set_charset_from_codepage): Remove.
* wchar.h (__set_charset_from_codepage): Drop definition.
* wincap.h (wincaps::has_localenames): New element.
* wincap.cc: Implement above element throughout.
* libc/strfmon.c: New file.
* libc/strptime.cc: Remove locale constant strings in favor of
access to locale-specifc data.
(strptime): Point _CurrentTimeLocale to locale-specific data.
Throughout use correct locale-specific format fields for all
locale-specific formats.
* include/monetary.h: New file.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
|
|
charset is ASCII.
|
|
|
|
on accepted socket.
|
|
flag exactly according to flags, as on Linux.
* net.cc (cygwin_accept): Maintain BSD semantics here.
|
|
* fhandler.h (fhandler_socket::accept4): Rename from accept. Take
additional flag parameter.
* fhandler_socket.cc (fhandler_socket::accept4): Ditto. Handle
SOCK_NONBLOCK and SOCK_CLOEXEC flags.
* net.cc (cygwin_socket): Handle SOCK_NONBLOCK and SOCK_CLOEXEC flags
in type. Check for invalid flag values.
(socketpair): Ditto.
(cygwin_accept): Accommodate renaming of fhandler_socket::accept
function to accept4.
(accept4): New function.
* posix.sgml: Mention accept4 as GNU extensions.
* include/cygwin/socket.h (SOCK_NONBLOCK): Define.
(SOCK_CLOEXEC): Define.
(_SOCK_FLAG_MASK): Define when building Cygwin.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* include/sys/socket.h (accept4): Declare.
|
|
|
|
calling the application's main.
* syscalls.cc (internal_setlocale): Don't reset locale to "C here.
Change comment accordingly.
|
|
(pipe2): Export.
* dtable.cc (dtable::dup_worker): Take additional flags parameter.
Handle O_CLOEXEC flag.
(dtable::dup3): Rename from dup2. Take additional flags parameter.
Check for valid flags. Drop check for newfd == oldfd.
* dtable.h (dtable::dup_worker): Add flags parameter.
(dtable::dup3): Rename from dup2.
* fcntl.cc (fcntl64): Add F_DUPFD_CLOEXEC case.
* fhandler.h (fhandler_mailslot::get_object_attr): Add flags parameter.
* fhandler.cc (fhandler_base::open): Use security attribute with
inheritance according to setting of O_CLOEXEC flag.
* fhandler_console.cc (fhandler_console::open): Ditto.
* fhandler_fifo.cc (sec_user_cloexec): New inline function to
create security attribute with inheritance according to setting of
O_CLOEXEC flag.
(fhandler_fifo::open): Call sec_user_cloexec to fetch security
attribute.
(fhandler_fifo::wait): Ditto.
* fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
* fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Take
additional flags parameter. Use security attribute with inheritance
according to setting of O_CLOEXEC flag.
(fhandler_mailslot::open): Call get_object_attr with flags parameter.
* fhandler_registry.cc (fhandler_registry::open): Call set_close_on_exec
on real handles to accommodate O_CLOEXEC flag.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
* fhandler_tape.cc: Create mutex with inheritance according to setting
of O_CLOEXEC flag.
* pipe.cc: Replace usage of O_NOINHERIT with O_CLOEXEC.
(fhandler_pipe::init): Simplify setting close_on_exec flag.
(fhandler_pipe::open): Remove setting close_on_exec flag.
(fhandler_pipe::create): Use security attribute with inheritance
according to setting of O_CLOEXEC flag.
(pipe2): New exported function.
* posix_ipc.cc: Throughout, open backing files with O_CLOEXEC
flag to follow POSIX semantics.
* security.h (sec_none_cloexec): New define.
* syscalls.cc (dup): Add missing extern "C" qualifier. Accommodate
renaming of dtable::dup2 to dtable::dup3.
(dup2): Ditto. Check newfd == oldfd here.
(dup3): New function. Check newfd == oldfd here.
(open): Set close_on_exec flag according to O_CLOEXEC flag before
calling fhandler->open.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
|
|
|
termios settings of slave console.
|
|
to rename an AF_LOCAL socket or when trying to replace an AF_LOCAL
socket.
|
|
* mount.cc (fs_info::update): Check for NWFS filesystem. Set
has_buggy_basic_info, if so. Add comment to explain why.
(fillout_mntent): Add "nwfs" string to fs_names array.
* mount.h (enum fs_info_type): Add nwfs.
(class fs_info): Add has_buggy_basic_info status flag. Add accessors
for has_buggy_basic_info and is_nwfs.
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Accommodate
filesystems with broken FileBasicInformation handling.
* path.cc (symlink_info::check): Ditto.
* path.h (path_conv::has_buggy_basic_info): Add method.
|
|
back into build_fh_name.
(build_fh_name): Drop unused HANDLE parameter. Drop call to pc.fillin.
Remove disabled build_fh_name with UNICODE_STRING name parameter.
* dtable.h (build_fh_name): Drop HANDLE parameter from declaration.
Remove declaration for build_fh_name with UNICODE_STRING name parameter.
* path.cc (path_conv::fillin): Remove.
(symlink_info::check): Fix comment.
* path.h (path_conv::fillin): Remove declaration.
* dir.cc: Accommodate change in build_fh_name parameters throughout.
* sec_acl.cc: Ditto.
* syscalls.cc: Ditto.
* ntea.cc (getxattr_worker): Fix debug output.
(setxattr_worker): Ditto.
* times.cc (utimens_worker): Ditto.
|
|
(format_proc_cpuinfo): Replace szBuffer with a union in_buf. Use type
correct throughout. Add a couple of missing or newer cpu flags. Allow
certain AMD flags for intel as well.
|
|
PLARGE_INTEGER.
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle):
Accommodate fstat_helper change of timestamp arguments.
(fhandler_base::fstat_by_name): Ditto.
(fhandler_base::fstat_helper): Define with timestamps as PLARGE_INTEGER.
Accommodate in call to to_timestruc_t.
|
|
to all created tokens.
* sec_helper.cc (well_known_users_sid): Define as BUILTIN\Users.
* security.h (well_known_users_sid): Declare.
|
|
Do the changelog shuffle.
|
|
globify to prevent creation of unglobbed filenames in the wrong character set.
|
|
value.
* fhandler_socket.cc (fhandler_socket::connect): Add false as second
parameter to wait_for_events call.
(fhandler_socket::accept): Ditto.
(fhandler_socket::send_internal): Fix typo in call to wait_for_events.
|
|
* include/pty.h (openpty, forkpty): Mark last two arguments const,
to match glibc 2.8.
* libc/bsdlib.cc (openpty, forkpty): Likewise.
|
|
as the backspace keycode.
|
|
FILE_ATTRIBUTE_DIRECTORY in a certain error condition. Explain why.
|
|
(fhandler_fifo::select_write): Ditto.
(fhandler_fifo::select_except): Ditto.
|
|
conversion from POSIX "." to Win32 ".\\".
|
|
a NULL return when executable isn't found in $PATH. Convert NULL
to "".
(execvpe): Ditto.
* spawn.cc (spawn_guts): Return with EFAULT if prog_arg is NULL.
Return with ENOENT if prog_arg is empty string. Add a comment.
|
|
for Alt modifier generically for function keys and keypad keys.
Distinguish Normal, Ctrl, Shift, Ctrl-Shift rather
than Normal, Ctrl, Shift, Alt, so that in combination with generic
Alt handling all 8 combinations of these modifiers are distinguished.
(keytable): Add escape sequences for remaining modified
function keys as a compatible extension using rxvt escape codes.
Also distinguish keypad keys modified with Ctrl, Shift, Ctrl-Shift
using xterm-style modifier coding.
|
|
GetCurrentThread/NtCurrentThread.
* dcrt0.cc (dll_crt0_0): Duplicate main thread handle to hMainThread
again.
|
|
|
|
graphics mode and transform wide characters in ASCII small
letter range to corresponding graphics.
(__vt100_conv): Table to transform small ASCII letters to line
drawing graphics for use in VT100 graphics mode.
(write_normal): Check for SO/SI control characters to
enable/disable VT100 graphics mode.
(base_chars): Enable SO/SI control characters for detection.
(write): Check for ESC ( 0 / ESC ( B escape sequences to
enable/disable VT100 graphics mode. Also detect ">" while
parsing ESC [ sequences to distinguish specific requests.
(char_command): Distinguish Secondary from Primary Device Attribute
request to report more details about cygwin console terminal version.
* fhandler.h (vt100_graphics_mode_active): New flag to indicate mode.
(saw_greater_than_sign): New parse flag for ESC [ > sequences.
(gotparen, gotrparen): New state values to parse ESC ( / ) sequences.
* fhandler_console.cc (read): Allow combined Alt-AltGr modifiers
to also produce an ESC prefix like a plain Alt modifier, e.g. to make
Alt-@ work on a keyboard where @ is AltGr-q.
|
|
|
|
according to context. Throughout, replace hMainThread with
GetCurrentThread/NtCurrentThread according to context.
* dcrt0.cc (dll_crt0_0): Drop duplication of GetCurrentProcess to
hMainProc. Drop duplication of GetCurrentThread to hMainThread.
* dtable.cc (dtable::stdio_init): Remove useless comment.
* globals.cc (hMainProc): Remove.
(hMainThread): Remove.
* ntdll.h (NtCurrentProcess): Define.
(NtCurrentThread: Define.
|
|
* fhandler_registry.cc: Call UNICODE registry functions throughout
and convert to multibyte using current locale's charset. Accommodate
throughout.
(must_encode): Take wchar_t.
(encode_regname): Convert from wchar_t *.
(decode_regname): Convert to wchar_t *.
|
|
(func-cygwin-conv-path-list): Fix typo.
(func-cygwin-posix-path-list-p): Ditto.
|
|
files in this case, instead of moving them to the recycler. Create
even more unique filename. Add comment to explain filename.
(unlink_nt): Remove code returning with EBUSY on remote shares.
Set bin_stat to move_to_bin except on NFS. Add comment to explain.
|
|
(sleep): Avoid uninitialized memory.
|
|
events (for completion of mouse reporting mode 1000) and mouse
movement events (for additional mouse reporting modes 1002 and 1003).
Use mouse_aware() as a guard and only condition for mouse
reporting in order to enforce consistence of read() and select().
Add focus reports (for additional focus reporting mode 1004).
(mouse_aware): Enable detection of additional mouse events for select().
Tune function to precisely match actual reporting criteria.
Move adjustment of mouse position (by window scroll offset)
here to avoid duplicate code.
(char_command): Initialization of enhanced mouse reporting modes.
Initialization of focus reporting mode.
* fhandler.h (use_mouse): Change flag (bool->int) to indicate
additional mouse modes. Add flag to indicate focus reporting.
(mouse_aware): Move enhanced function into fhandler_console.cc.
* select.cc (peek_console): Use modified mouse_aware() for more
general detection of mouse events. Also check for focus reports.
|
|
(reg_key::build_reg): Don't set class when creating key.
|
|
on stream sockets under systems supporting enhanced socket security.
|
|
to 2 rather than 9. Add entries for mode 22 (normal, not bold)
28 (visible, not invisible), 25 (not blinking).
|
|
setting earlier. Reevaluate POSIXLY_CORRECT if optreset is set to !0.
Handle a leading '-' in options independently of posixly_correct.
|