* Makefile.in (DLL_OFILES): Add ntea.o.
* cygwin.din (getxattr, listxattr, removexattr, setxattr, lgetxattr,
llistxattr, lremovexattr, lsetxattr, fgetxattr, flistxattr,
fremovexattr, fsetxattr): Export Linux extended attribute functions.
Sort.
* errno.cc (errmap): Add mappings for ERROR_EAS_DIDNT_FIT,
ERROR_EAS_NOT_SUPPORTED, ERROR_EA_LIST_INCONSISTENT,
ERROR_EA_TABLE_FULL, ERROR_FILE_CORRUPT, ERROR_INVALID_EA_NAME.
* fhandler.h (class fhandler_base): Declare new fgetxattr and
fsetxattr methods.
(class fhandler_disk_file): Ditto.
* fhandler.cc (fhandler_base::fgetxattr): New method.
(fhandler_base::fsetxattr): New method.
* fhandler_disk_file.cc (fhandler_disk_file::fgetxattr): New method.
(fhandler_disk_file::fsetxattr): New method.
* ntdll.h (STATUS_EA_TOO_LARGE): Define.
(STATUS_NONEXISTENT_EA_ENTRY): Define.
(STATUS_NO_EAS_ON_FILE): Define.
* ntea.cc (read_ea): Rewrite for long pathnames and for using with
Linux extended attribute functions.
(write_ea): Ditto.
(getxattr_worker): New static function.
(getxattr): New function.
(lgetxattr): New function.
(fgetxattr): New function.
(listxattr): New function.
(llistxattr): New function.
(flistxattr): New function.
(setxattr_worker): New static function.
(setxattr): New function.
(lsetxattr): New function.
(fsetxattr): New function.
(removexattr): New function.
(lsetxattr): New function.
(fsetxattr): New function.
* security.h (read_ea): Change declaration according to above changes.
(write_ea): Ditto.
* include/cygwin/version.h: Bump API minor version.
2008-02-10 23:43:04 +08:00
|
|
|
2008-02-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_OFILES): Add ntea.o.
|
|
|
|
* cygwin.din (getxattr, listxattr, removexattr, setxattr, lgetxattr,
|
|
|
|
llistxattr, lremovexattr, lsetxattr, fgetxattr, flistxattr,
|
|
|
|
fremovexattr, fsetxattr): Export Linux extended attribute functions.
|
|
|
|
Sort.
|
|
|
|
* errno.cc (errmap): Add mappings for ERROR_EAS_DIDNT_FIT,
|
|
|
|
ERROR_EAS_NOT_SUPPORTED, ERROR_EA_LIST_INCONSISTENT,
|
|
|
|
ERROR_EA_TABLE_FULL, ERROR_FILE_CORRUPT, ERROR_INVALID_EA_NAME.
|
|
|
|
* fhandler.h (class fhandler_base): Declare new fgetxattr and
|
|
|
|
fsetxattr methods.
|
|
|
|
(class fhandler_disk_file): Ditto.
|
|
|
|
* fhandler.cc (fhandler_base::fgetxattr): New method.
|
|
|
|
(fhandler_base::fsetxattr): New method.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fgetxattr): New method.
|
|
|
|
(fhandler_disk_file::fsetxattr): New method.
|
|
|
|
* ntdll.h (STATUS_EA_TOO_LARGE): Define.
|
|
|
|
(STATUS_NONEXISTENT_EA_ENTRY): Define.
|
|
|
|
(STATUS_NO_EAS_ON_FILE): Define.
|
|
|
|
* ntea.cc (read_ea): Rewrite for long pathnames and for using with
|
|
|
|
Linux extended attribute functions.
|
|
|
|
(write_ea): Ditto.
|
|
|
|
(getxattr_worker): New static function.
|
|
|
|
(getxattr): New function.
|
|
|
|
(lgetxattr): New function.
|
|
|
|
(fgetxattr): New function.
|
|
|
|
(listxattr): New function.
|
|
|
|
(llistxattr): New function.
|
|
|
|
(flistxattr): New function.
|
|
|
|
(setxattr_worker): New static function.
|
|
|
|
(setxattr): New function.
|
|
|
|
(lsetxattr): New function.
|
|
|
|
(fsetxattr): New function.
|
|
|
|
(removexattr): New function.
|
|
|
|
(lsetxattr): New function.
|
|
|
|
(fsetxattr): New function.
|
|
|
|
* security.h (read_ea): Change declaration according to above changes.
|
|
|
|
(write_ea): Ditto.
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
2008-02-10 23:19:08 +08:00
|
|
|
2008-02-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* libc/ftw.cc (ftw): Allow nfds < 0 for glibc compatibility.
|
|
|
|
* libc/nftw.c (nftw): Ditto.
|
|
|
|
|
2008-02-08 02:59:40 +08:00
|
|
|
2008-02-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Set access to
|
2008-02-08 04:38:39 +08:00
|
|
|
read/write if handle is connected to a tty or console.
|
2008-02-08 02:59:40 +08:00
|
|
|
* fhandler_dsp.cc (fhandler_dev_dsp::dup): Set open flags correctly
|
|
|
|
after duplicating from archetype.
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::dup): Ditto.
|
|
|
|
(fhandler_pty_master::dup): Ditto.
|
|
|
|
|
2008-02-07 06:04:16 +08:00
|
|
|
2008-02-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* miscfuncs.cc (next_char): Fix typos in comment.
|
|
|
|
* strfuncs.cc: Remove cygserver guards.
|
|
|
|
|
2008-02-07 02:24:50 +08:00
|
|
|
2008-02-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_console::trunc_buf): Add to use as cache for
|
|
|
|
truncated multibyte characters on input.
|
|
|
|
(fhandler_console::write_replacement_char): Declare new method.
|
|
|
|
* fhandler_console.cc (CONVERT_LIMIT): Raise to 64K.
|
|
|
|
(fhandler_console::fhandler_console): Initialize trunc_buf.
|
|
|
|
(ERR): Define as independent value again.
|
|
|
|
(fhandler_console::write_replacement_char): New method to print
|
|
|
|
replacement chars.
|
|
|
|
(fhandler_console::write_normal): Add handling for truncated multibyte
|
|
|
|
sequences. Call next_char instead of pathetic CharNextExA function.
|
|
|
|
Don't change src, rather just work with found later on.
|
|
|
|
* miscfuncs.cc (is_cp_multibyte): Move here from strfuncs.cc.
|
|
|
|
Don't call Windows function, restrict to well-known ANSI/OEM codepages
|
|
|
|
and UTF-8.
|
|
|
|
(next_char): Call CharNextExA only for doublebyte codepages.
|
|
|
|
Implement for UTF-8 here.
|
|
|
|
* strfuncs.cc (is_cp_multibyte): Move to miscfuncs.cc.
|
|
|
|
* winsup.h (next_char): Declare.
|
|
|
|
* include/limits.h (MB_LEN_MAX): Set to maximum value of MB_CUR_MAX
|
|
|
|
as defined by newlib for now.
|
|
|
|
|
2008-02-06 01:37:10 +08:00
|
|
|
2008-02-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* autoload.cc (CharToOemA): Remove.
|
|
|
|
(CharNextExA): Define.
|
|
|
|
* environ.cc (codepage_init): Un-static. Set active_codepage to
|
|
|
|
active codepage. Default to ansi regardless of buf pointer.
|
|
|
|
* fhandler.h (dev_console::get_console_cp): New method.
|
|
|
|
(dev_console::con_to_str): Change declaration according to new
|
|
|
|
implementation.
|
|
|
|
(dev_console::str_to_con): Ditto.
|
|
|
|
* fhandler_console.cc (cp_convert): Remove.
|
|
|
|
(dev_console::con_to_str): Redefine to take WCHAR as incoming console
|
|
|
|
char.
|
|
|
|
(dev_console::get_console_cp): Return correct codepage according to
|
|
|
|
alternate_charset_active setting.
|
|
|
|
(dev_console::str_to_con): Redefine to create WCHAR buffer for console
|
|
|
|
output.
|
|
|
|
(fhandler_console::read): Read console input as WCHARs.
|
|
|
|
(base_chars): Fix typo in comment.
|
|
|
|
(fhandler_console::char_command): Save and restore console output
|
|
|
|
buffer using UNICODE functions.
|
|
|
|
(fhandler_console::write_normal): Convert to write output in UNICODE.
|
|
|
|
Use CharNextExA to recognize multibyte characters in input. Workaround
|
|
|
|
problem with UTF-8 and MultiByteToWideChar. Simplify the loop for
|
|
|
|
printing "normal" characters.
|
|
|
|
* strfuncs.cc (active_codepage): New variable to store active codepage.
|
|
|
|
(get_cp): Call codepage_init() if active_codepage is uninitialized.
|
|
|
|
Just return active_codepage.
|
|
|
|
(is_cp_multibyte): New function.
|
|
|
|
* winsup.h (active_codepage): Declare.
|
|
|
|
(codepage_init): Declare.
|
|
|
|
(is_cp_multibyte): Declare.
|
|
|
|
|
2008-02-04 20:00:19 +08:00
|
|
|
2008-02-03 Brian Dessent <brian@dessent.net>
|
|
|
|
|
|
|
|
* smallprint.cc (__small_vsprintf): Use HEAP_NOTHEAP for type.
|
|
|
|
* strfuncs.cc (sys_wcstombs_alloc): Guard use of ccalloc
|
|
|
|
to !__OUTSIDE_CYGWIN__ for use in cygserver.
|
|
|
|
(sys_mbstowcs_alloc): Ditto.
|
|
|
|
|
2008-02-01 21:11:57 +08:00
|
|
|
2008-02-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* miscfuncs.cc (cygwin_wcsncasecmp): Never access more than n
|
|
|
|
characters.
|
|
|
|
(cygwin_strncasecmp): Ditto. Fix for strings longer than n.
|
|
|
|
|
2008-02-01 20:37:51 +08:00
|
|
|
2008-02-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* string.h: Re-enable inline strcasematch and strncasematch
|
|
|
|
implementations and rename to ascii_strcasematch/ascii_strncasematch.
|
|
|
|
* dcrt0.cc: Replace str[n]casematch with ascii_str[n]casematch where
|
|
|
|
applicable.
|
|
|
|
* environ.cc: Ditto.
|
|
|
|
* fhandler_process.cc: Ditto.
|
|
|
|
* hookapi.cc: Ditto.
|
|
|
|
* path.cc: Ditto.
|
|
|
|
* spawn.cc: Ditto.
|
|
|
|
* strace.cc: Ditto.
|
|
|
|
* syscalls.cc: Ditto.
|
|
|
|
* uinfo.cc: Ditto.
|
|
|
|
* winf.cc: Ditto.
|
|
|
|
|
2008-02-01 04:26:01 +08:00
|
|
|
2008-01-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* dcrt0.cc (dll_crt0_1): Use GetCommandLineW and convert to current
|
|
|
|
codepage.
|
|
|
|
* environ.cc (set_file_api_mode): Always set file api to ANSI if not
|
|
|
|
using the OEM codepage.
|
|
|
|
(codepage_init): Allow "utf8" codepage.
|
|
|
|
* fhandler_clipboard.cc (set_clipboard): Convert clipbuf to void and
|
|
|
|
cast as needed. Always convert input to wide char and write
|
|
|
|
CF_UNICODETEXT to clipboard.
|
|
|
|
(fhandler_dev_clipboard::read): Read CF_UNICODETEXT from clipboard and
|
|
|
|
convert to current codepage if CYGWIN_NATIVE format is not available.
|
|
|
|
* fhandler_console.cc: Drop redundant undef.
|
|
|
|
* smallprint.cc (__small_vsprintf): Convert PWCHAR and UNICODE_STRING
|
|
|
|
to current codepage for printing.
|
|
|
|
* strfuncs.cc: Use PWCHAR throughout.
|
|
|
|
(get_cp): Return CP_UTF8 for utf8_cp codepage setting.
|
|
|
|
(sys_wcstombs): Allow NULL target buffer.
|
|
|
|
(sys_wcstombs_alloc): New function.
|
|
|
|
(sys_mbstowcs_alloc): Ditto.
|
|
|
|
* winsup.h (codepage_type): Add utf8_cp.
|
|
|
|
(HEAP_NOTHEAP): Define.
|
|
|
|
(sys_wcstombs_alloc): Declare.
|
|
|
|
(sys_mbstowcs_alloc): Declare.
|
|
|
|
|
2008-01-31 22:18:49 +08:00
|
|
|
2008-01-31 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* cygheap.h (struct cwdstuff): Add dir member to store cwd handle.
|
|
|
|
(cwdstuff::get_handle): New method.
|
|
|
|
* path.cc (cwdstuff::set): When doit is true, always try to get
|
|
|
|
directory handle. Fail if duplicating handle fails. Store handle
|
|
|
|
in dir. Fix potential SEGV when setting drive_length.
|
|
|
|
|
2008-01-28 20:19:30 +08:00
|
|
|
2008-01-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc: Fix Samba version in comment.
|
|
|
|
|
2008-01-25 01:29:29 +08:00
|
|
|
2008-01-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* path.cc (fs_info::update): Fix old-style Samba test to support
|
|
|
|
recent as well as upcoming Samba releases.
|
|
|
|
|
2008-01-23 01:43:22 +08:00
|
|
|
2008-01-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* ntdll.h (struct _FILE_FS_OBJECTID_INFORMATION): Define.
|
|
|
|
* path.cc (struct smb_extended_info): Define.
|
|
|
|
(fs_info::update): Request object id info to get Samba information.
|
|
|
|
Set flags according to new implementation.
|
|
|
|
* path.h (struct fs_info): Add samba_version to status_flags.
|
|
|
|
Implement flags() and samba_version() using IMPLEMENT_STATUS_FLAG.
|
|
|
|
|
2008-01-21 22:51:55 +08:00
|
|
|
2008-01-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Open file with
|
|
|
|
READ_CONTROL for Vista/Longhorn's sake.
|
|
|
|
|
2008-01-16 01:42:10 +08:00
|
|
|
2008-01-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* Makefile.in (install-libs): Overwrite newlib's libg.a with symlink
|
|
|
|
to libcygwin.a.
|
|
|
|
|
2008-01-15 21:45:42 +08:00
|
|
|
2008-01-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* Makefile.in (DLL_OFILES): Remove memmem.o.
|
|
|
|
* memmem.cc: Remove in favor of newlib implementation.
|
|
|
|
|
2008-01-08 00:51:54 +08:00
|
|
|
2008-01-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
|
|
* fhandler.h: Update copyright.
|
|
|
|
* include/limits.h: Ditto.
|
|
|
|
|
2008-01-07 02:37:20 +08:00
|
|
|
2008-01-06 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
|
|
|
|
* fhandler.h (fhandler_base::is_tty): Make bool.
|
|
|
|
(fhandler_serial::is_tty): Ditto.
|
|
|
|
(fhandler_termios::is_tty): Ditto.
|
|
|
|
(fhandler_base::is_slow): Return bool value.
|
|
|
|
(fhandler_socket::is_slow): Ditto.
|
|
|
|
(fhandler_serial::is_slow): Ditto.
|
|
|
|
(fhandler_console::is_slow): Ditto.
|
|
|
|
(fhandler_tty_common::is_slow): Ditto.
|
|
|
|
(fhandler_tty_master::is_slow): Ditto.
|
|
|
|
(fhandler_dev_null::is_slow): Ditto.
|
|
|
|
|
2008-01-07 02:31:35 +08:00
|
|
|
2008-01-06 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
|
|
|
|
* include/limits.h (TTY_NAME_MAX): Increase size to same as linux to
|
|
|
|
allow for (at least) null terminating byte for "/dev/console".
|
|
|
|
|
2008-01-02 03:07:36 +08:00
|
|
|
2008-01-01 Christopher Faylor <me+cygwin@cgf.cx>
|
|
|
|
|
|
|
|
* tty.cc: Update copyright.
|
|
|
|
* pipe.cc: Ditto.
|
|
|
|
|
2008-01-02 02:51:23 +08:00
|
|
|
2008-01-01 Christopher Faylor <me+cygwin@cgf.cx>
|
* cygwin.din (_f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf,
_f_lrintl, _f_rint, _f_rintf, _f_rintl): Export fast *rint* functions.
(lrint, lrintf, rint, rintf): Redirect exports to alias _f_ versions.
(llrint, llrintf, llrintl, lrintl, rintl): Add exports aliasing _f_*
versions likewise.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2007-12-31 05:12:08 +08:00
|
|
|
|
2008-01-02 02:51:23 +08:00
|
|
|
* newsym: First stab at understanding data as well as functions.
|
* cygwin.din (_f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf,
_f_lrintl, _f_rint, _f_rintf, _f_rintl): Export fast *rint* functions.
(lrint, lrintf, rint, rintf): Redirect exports to alias _f_ versions.
(llrint, llrintf, llrintl, lrintl, rintl): Add exports aliasing _f_*
versions likewise.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2007-12-31 05:12:08 +08:00
|
|
|
|
2008-01-02 02:51:23 +08:00
|
|
|
* pipe.cc (fhandler_pipe::init): Move more intelligence here.
|
|
|
|
(fhandler_pipe::create): Simplify based on above change.
|
2007-12-22 21:26:47 +08:00
|
|
|
|
2008-01-02 02:51:23 +08:00
|
|
|
* tty.cc (tty_list::allocate): Remove non-NT code.
|
2007-12-22 21:26:47 +08:00
|
|
|
|