Commit Graph

8019 Commits

Author SHA1 Message Date
Christopher Faylor 90f5de33d5 * fhandler.cc (fhandler_base::setup_overlapped): Revert to starting with handle
in signalled state as it seems to fix some hangs.
2010-02-18 15:07:38 +00:00
Chris Sutcliffe 954e9f99fb 2010-02-17 LRN <lrn1986@gmail.com>
* include/shlguid.h (IID_IFolderView): Define.
        * include/shlobj.h (IFolderView interface): Define.
        * lib/shell32.c (IID_IFolderView): Export.
2010-02-18 13:01:56 +00:00
Corinna Vinschen 16e235b5ad * new-features.sgml (ov-new1.7.2): Accommodate name change of getlocale
to locale.
	* setup2.sgml (setup-locale-how): Ditto.
2010-02-17 15:02:17 +00:00
Corinna Vinschen ce4f5f76ab * Makefile.in (CYGWIN_BINS): Rename getlocale to locale.
* getlocale.c: Rename to ...
	* locale.cc: Revamp to add full functionality of POSIX locale(1) tool,
	as far as Cygwin supports it.
	* utils.sgml (getlocale): Move and rename to ...
	(locale): Accommodate new functionality.
2010-02-17 15:01:56 +00:00
Chris Sutcliffe f94e2b9f58 2010-02-14 Roumen Petrov <rumen@users.sourceforge.net>
Issue [2134161]: time64 functions and types for msvcrt >= 8.0
        (initial implementation)

        * new type: __time32_t

        * new structures: _finddata32_t, _finddata32i64_t, _finddata64i32_t,
        __stat32, _stat32i64, _stat64i32, __timeb32, __utimbuf32,
        __wfinddata32_t, _wfinddata32i64_t, _wfinddata64i32_t

        * new functions: _ctime32, _difftime32, _difftime64, _findfirst32
        _findfirst32i64, _findfirst64i32, _findnext32, _findnext32i64,
        _findnext64i32, _fstat32, _fstat32i64, _fstat64i32, _ftime32,
        _futime32, _gmtime32, _localtime32, _mkgmtime32, _mkgmtime64,
        _mktime32, _stat32, _stat32i64, _stat64i32, _time32, _utime32,
        _wctime32, _wfindfirst32, _wfindfirst32i64, _wfindfirst64i32,
        _wfindnext32, _wfindnext32i64, _wfindnext64i32, _wstat32,
        _wstat32i64, _wstat64i32,_wutime32

        * new define _USE_32BIT_TIME_T set 32 or 64 aliases for: time_t,
        ctime, difftime, _findfirst, _findfirsti64, _findnext, _findnexti64,
        _fstat, _fstati64, _ftime, _futime, gmtime, localtime, mktime,
        _stat, _stati64, time, _utime, _wctime, _wfindfirst, _wfindfirsti64,
        _wfindnext, _wfindnexti64, _wstat, _wstati64, _wutime
2010-02-17 02:41:06 +00:00
Corinna Vinschen 0da7a27a1b * new-features.sgml (ov-new1.7.2): Add native DOS path and UNC path
change.
	* pathnames.sgml (pathnames-intro): Make the Win32 path text a note
	and xref to new pathnames-win32 section.
	(cygdrive): Add description how the cygdrive mount flags apply to
	UNC paths starting with slashes.
	(pathnames-win32): New section describing native path handling.
2010-02-15 13:35:53 +00:00
Corinna Vinschen 66f2d8f13e * path.cc (path_conv::check): Treat native DOS paths as "noacl". 2010-02-15 13:29:02 +00:00
Corinna Vinschen 93579594b7 * mount.cc (mount_info::conv_to_win32_path): Set UNC path flags to
cygdrive prefix path flags.
2010-02-15 12:42:31 +00:00
Christopher Faylor 8103e40743 * fhandler.cc (fhandler_base::setup_overlapped): Don't set signalled state to
true initially.
(fhandler_base::has_ongoing_io): Delete ill-advised function.
(fhandler_base::read_overlapped): Rely on caller having checked nonblocking
state.  Don't attempt to (incorrectly) check it here.
(fhandler_base::write_overlapped): Remove call to has_ongoing_io.
* select.cc (peek_pipe): Ditto.
* fhandler.h (fhandler_base::has_ongoing_io): Delete declaration.
2010-02-15 01:45:05 +00:00
Christopher Faylor d67a6ce4a8 * regex/regcomp.c (xwcrtomb): Fix one explicable and one inexcplicable C
warning.
2010-02-14 21:28:44 +00:00
Corinna Vinschen 15a9e17656 * regex/regcomp.c (xwcrtomb): Don't convert Unicode chars outside the
base plane always to UTF-8.  Call wcsnrtombs instead to allow arbitrary
	multibyte charsets.
2010-02-13 12:26:06 +00:00
Corinna Vinschen 03ac74c168 * cygpath.cc (do_pathconv): Fix potential crash. 2010-02-13 11:41:53 +00:00
Corinna Vinschen 6b3f923fe2 * regex/regcomp.c (wgetnext): Use size_t as type for n2 since that's
what's returned by mbrtowc.
	* regex/regexec.c (xmbrtowc): Ditto.
2010-02-12 20:17:22 +00:00
Christopher Faylor 2b1407d372 * pthread.cc (pthread_mutex_init): Explicitly fill out third arg to
pthread_mutex::init.
* thread.cc: Remov some obsolete comments.
(verifyable_object_isvalid): Reflect change to use thread_magic_t for magic
numbers.
(pthread_mutex::pthread_mutex): Set magic number to invalid initially until
we've verified that everything is valid.
(pthread_mutex::unlock): Fix a comment.
(verifyable_object::verifyable_object): Delete here.
(~verifyable_object::~verifyable_object): Ditto.
(pthread_mutex::init): Don't run is_good_initializer for non-static objects.
* thread.h (thread_magic_t): New typedef.
(verifyable_object::verifyable_object): Use thread_magic_t;
(verifyable_object::magic): Ditto.
(pthread_mutex::is_good_initializer_or_bad_object): Remove unneeded variable
names.
(pthread_mutex::can_be_unlocked): Ditto.
(pthread_mutex::init): Ditto.  Remove default for third argument.
2010-02-12 20:07:13 +00:00
Christopher Faylor 97e5d3ffa4 fix typo 2010-02-12 18:38:59 +00:00
Corinna Vinschen 7bd2296c83 * regex/regcomp.c (xwcrtomb): New function to convert wide chars
outside of the base plane to UTF-8.  Call throughout instead of
	wcrtomb.
	(wgetnext): Handle surrogate pairs on UTF-16 systems.
	* regex/regexec.c (xmbrtowc): Ditto.
2010-02-12 17:46:39 +00:00
Corinna Vinschen e122c47112 * sec_auth.cc (get_user_local_groups): Retrieve name of well known
builtin group from system.  Explain why.
	* sec_helper.cc (well_known_builtin_sid): New SID for BUILTIN group.
	* security.h (well_known_builtin_sid): Declare.
2010-02-12 17:40:42 +00:00
Pierre Humblet 848dbc8f98 2010-02-11 Pierre Humblet <Pierre.Humblet@ieee.org>
* registry.c (get_registry_hive_path): Add space in string.
2010-02-12 01:04:52 +00:00
Corinna Vinschen 44caccfca2 * regex/engine.c (step): Drop Cygwin-specific definition.
(NONCHAR): Better cast here to make the test work.  Move comment
	from step here.
	(matcher): Disable skipping initial string in multibyte case.
	* regex/regcomp.c (p_bracket): Don't simplify singleton in the invert
	case.
	(p_b_term): Handle early end of pattern after dash in bracket
	expression.
	(singleton): Don't ignore the wides just because there's already a
	singleton in the single byte chars.  Fix condition for a singleton
	wide accordingly.
	(findmust): Check for LC_CTYPE charset, rather than LC_COLLATE charset.
	* regex2.h (CHIN): Fix condition in the icase & invert case.
	(ISWORD): Fix wrong cast to unsigned char.
2010-02-11 21:19:19 +00:00
Corinna Vinschen 9bb1d645b3 * new-features.sgml (ov-new1.7.2): Rephrase getlocale entry. 2010-02-11 11:39:58 +00:00
Corinna Vinschen 583c495774 * getlocale.c (main): Rename local variable to avoid problems.
Avoid string comparisons, rather test language and sublanguage codes
	wheere possible.  Add more code to handle Serbian language/territory
	state identical on all Windows versions.  Fix handling for "@latin"
	modifier in Belarusian locale.
	* utils.sgml (getlocale): Try to make wording and example clearer.
2010-02-11 11:39:23 +00:00
Corinna Vinschen 87c0903113 * nlsfuncs.cc (initial_setlocale): Move check whether charset has
changed from here...
	(internal_setlocale): ...to here, to avoid unnecessary work when invoked
	via CW_INT_SETLOCALE.
2010-02-11 10:04:51 +00:00
Corinna Vinschen 374a555fda * getlocale.c (usage): Change text slightly. 2010-02-10 15:58:59 +00:00
Corinna Vinschen bb6d8123db * getlocale.c (main): Restrict -a loop to avoid psudo language entries
on Vista and later.
2010-02-10 12:39:40 +00:00
Corinna Vinschen 96cbb3a380 * getlocale.c (main): Revamp -a loop to avoid duplicates and to print
locales with the correct, supported modifiers.
2010-02-10 12:36:29 +00:00
Corinna Vinschen 3b994b1249 * new-features.sgml (ov-new1.7.2): Add LC_MESSAGES support.
* setup2.sgml (setup-locale-ov): Change "@euro" modifier description.
	(setup-locale-missing): Remove.
2010-02-10 12:34:54 +00:00
Corinna Vinschen 4f1c922e06 * nlsfuncs.cc (__set_charset_from_locale): Allow "@euro" modifier only
for locales which use EUR as currency.
2010-02-10 12:29:26 +00:00
Corinna Vinschen ae40237a0a * nlsfuncs.cc (__get_lcid_from_locale): Convert iu_CA to iu-Latn-CA
rather than iu-Cans-CA on Vista and later.
	(__set_charset_from_locale): Set default charset for iu_CA to UTF-8.
2010-02-10 10:44:21 +00:00
Christopher Faylor 3700578ee8 * dcrt0.cc (_dll_crt0): Set _main_tls as early as possible.
* thread.cc (pthread_mutex::can_be_unlocked): Remove check for
MUTEX_OWNER_ANONYMOUS since it is racy and unsafe.
(pthread::init_mainthread): Initialize thread directly from _my_tls.
(pthread::self): Ditto.
(pthread::get_tls_self_pointer): Delete.
(pthread_mutex::pthread_mutex): Use an event rather than a semaphore.
(pthread_mutex::lock): Rename from _<func>.  Derive self directly.
(pthread_mutex::tryunlock): Ditto.
(pthread_mutex::destroy): Ditto.
(pthread_mutex::unlock): Ditto.  Accommodate change from semaphore to event.
(pthread_mutex::_fixup_after_fork): Accommodate change from semaphore to event.
(pthread_mutex::init): Don't attempt to initialize a semaphore unless it is in
an initialized state.  Do this check under mutex_initialization_lock.lock
* thread.h (fast_mutex::init): Use event rather than semaphore.
(fast_mutex::lock): Ditto.
(pthread_mutex::_lock): Delete.
(pthread_mutex::_unlock): Ditto.
(pthread_mutex::_trylock): Ditto.
(pthread_mutex::_destroy): Ditto.
(pthread_mutex::get_pthread_self): Ditto.
(pthread_mutex::get_tls_self_pointer): Ditto.
(pthread_mutex::lock): Un-inline.
(pthread_mutex::unlock): Ditto.
(pthread_mutex::trylock): Ditto.
(pthread_mutex::destroy): Ditto.
2010-02-10 07:25:26 +00:00
Christopher Faylor 161387a725 * cygtls.h (struct _cygtls): Remove unneeded elements.
* thread.cc (pthread::exit): Avoid potential double call to _my_tls.remove.
* tlsoffsets.h: Regenerate.
2010-02-10 03:17:32 +00:00
Corinna Vinschen 23a4a3517f * nlsfuncs.cc (lc_wcstombs): Add `return_invalid' flag to specify
whether invalid chars should be ignored or not.  Change comment.
	(__set_lc_monetary_from_win): Call lc_wcstombs with return_invalid
	flag set.
	(__set_lc_messages_from_win): Simplify to accommodate the fact that
	lc_wcstombs just ignores invalid chars.  Explain why.
2010-02-09 12:22:26 +00:00
Corinna Vinschen 3d9e3644ee * nlsfuncs.cc (__set_lc_messages_from_win): Fix typo. 2010-02-09 11:44:03 +00:00
Corinna Vinschen 9008eb4041 * lc_msg.h: New file, fix a problem in locales with modifiers. 2010-02-09 11:38:44 +00:00
Corinna Vinschen 09dfe7e025 * lc_msg.h: New file, generated from running Linux system. 2010-02-09 11:16:38 +00:00
Corinna Vinschen 502a4f52ed * lc_msg.h: New file, autogenerated from CLDR data.
* nlsfuncs.cc: Include lc_msg.h.
	(lc_time_buf): Remove.
	(lc_numeric_buf): Remove.
	(lc_monetary_buf): Remove.
	(lc_mbstowcs): Fix previous fix.
	(__set_lc_time_from_win): Take additional pointer to buffer pointer,
	defined in newlib.
	(__set_lc_numeric_from_win): Ditto.
	(__set_lc_monetary_from_win): Ditto.
	(locale_cmp): New static function.
	(__set_lc_messages_from_win): New function to be called from newlib.
2010-02-09 08:59:49 +00:00
Corinna Vinschen 2f27950afb Now *really* check in what should have been checked in 12 hours ago. 2010-02-08 21:33:59 +00:00
Corinna Vinschen 4dce4255ff This patch got lost in the previous checkin, accidentally:
* nlsfuncs.cc (lc_mbstowcs): Fix call to f_mbtowc.
2010-02-08 09:55:35 +00:00
Corinna Vinschen f5a73638cd * external.cc (cygwin_internal): Add CW_INT_SETLOCALE case to
allow to call internal_setlocale().
	* nlsfuncs.cc (internal_setlocale): Make externally available.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_INT_SETLOCALE.

	* nlsfuncs.cc (lc_mbstowcs): Fix call to f_mbtowc.
	(__set_locale_from_locale_alias): Ignore "@cjknarrow" modifier.
2010-02-08 09:52:40 +00:00
Yaakov Selkowitz b6ab02dea8 * new-features.sgml (ov-new1.7-misc): Fix typo. 2010-02-07 22:06:16 +00:00
Corinna Vinschen ab6ef08082 * nlsfuncs.cc (__get_lcid_from_locale): Handle "@cyrillic" modifier
for uz_UZ locale here.
	(__set_charset_from_locale): Accommodate above change.
2010-02-07 17:35:59 +00:00
Corinna Vinschen 8803e713c7 * new-features.sgml (ov-new1.7.2): Add support for locales from
/usr/share/locale/locale.alias.
	* setup2.sgml (setup-locale-ov): Ditto.
2010-02-07 13:42:49 +00:00
Corinna Vinschen 07d061aeec * nlsfuncs.cc (__set_locale_from_locale_alias): New function to read
locale aliases from /usr/share/locale/locale.alias.
2010-02-07 13:31:08 +00:00
Corinna Vinschen 689109a76f * nlsfuncs.cc (__get_lcid_from_locale): Handle no_NO as nb_NO, rather
than nn_NO.
2010-02-06 21:57:33 +00:00
Corinna Vinschen 573df59cd4 * setup2.sgml (setup-locale-ov): Align description of working modifiers
to latest changes.
2010-02-06 21:41:05 +00:00
Corinna Vinschen 28d3c4fa38 * nlsfuncs.cc (has_modifier): MOve up in file to use in
__get_lcid_from_locale as well.
	(__get_lcid_from_locale): Handle no_NO locale as alias for nn_NO.
	Default all sr_XY locales to Cyrillic script.  Change lcid to Latin
	script if "@latin" modifier has been specified.
	(__set_charset_from_locale): Handle Serbian in codepage 1251 case as
	well.  Also check for sr_BA lcid.  Restrict "@euro" modifier to
	locales otherwise defaulting to ISO-8859-1.
2010-02-06 21:40:53 +00:00
Corinna Vinschen 3673ff5968 * new-features.sgml (ov-new1.7.2): Add support for new charsets.
Change text for modifier support.
	(setup-locale-charsetlist): Add new GEORGIAN-PS and PT154 charsets
	to list of supported charsets.  Reorder list for non-ISO, non-CP
	charsets alphabetically.
2010-02-06 18:33:40 +00:00
Corinna Vinschen b6b236270e * nlsfuncs.cc (__set_charset_from_locale): Set default charset for
"ka_GE" locale to GEORGIAN-PS, for "kk_KZ" to PT154.
2010-02-06 18:30:18 +00:00
Corinna Vinschen 38d9821daf * path.cc (symlink_info::check_nfs_symlink): Reopen file with
FILE_READ_EA access since, surprisingly, you need it to read EAs even
	on NFS.
2010-02-06 15:57:21 +00:00
Corinna Vinschen b96600ef91 * sec_auth.cc (get_full_privileged_inheritable_token): New function
to fetch token with full privileges from logon token in Vista and
	later, and to make token inheritable.  Add lengthy comments to explain
	the function's job.
	(cygwin_logon_user): Drop calling SetHandleInformation.  Enable TCB
	privilege and call get_full_privileged_inheritable_token.
	(lsaauth): Don't fetch linked token and don't make handle inheritable
	here, just call get_full_privileged_inheritable_token instead.
	(lsaprivkeyauth): Ditto.
2010-02-06 13:13:15 +00:00
Corinna Vinschen e90f14f5d3 * setup2.sgml (setup-locale-ov): Add description for "uz_UZ@cyrillic"
and "tt_RU@iqtelif" modifiers.  Slightly rephrase locale specifier
	description in terms of the modifier string.
2010-02-05 21:38:31 +00:00