* cygpath.cc: Throughout, use cygwin_conv_path WIN_W rather than WIN_A
conversion.
(get_long_path_name_w32impl): Remove.
(get_long_name): Drop pre-Windows 2000 accommodations. Just call
GetLongPathNameW here directly.
(get_special_folder): Convert first parameter to WCHAR buffer pointer.
Drop conversion of result from WCHAR * to char *.
(do_sysfolders): Accommodate change to get_special_folder and only
convert result to char * last. Drop pre-Windows 2000 accommodations
and just call GetProfilesDirectoryW directly. Replace call to
GetWindowsDirectoryW with call to GetSystemWindowsDirectoryW.
Just call GetShortPathNameW directly.
(do_pathconv): Simplify buffer handling.
* mkpasswd.c: Ditto.
(psx_dir): Remove.
(current_user): Drop support for -m option. Use $HOME as is since it's
a POSIX path anyway.
(enum_users): Drop support for -m option.
(usage): Mention -m option as ignored.
(main): Drop support for -m option. Mark ignored options as deprecated.
* utils.sgml (mkpasswd): Remove description of -m option.
directly. Drop support for older Cygwin DLLs. Just use progname_long
as is since it's already a POSIX path now. Rename "tty" to "pty" as in
the Cygwin DLL. Call setlocale to make sure wcstombs does the right
thing according to the current locale.
* Makefile.in (ps.exe): Link against psapi.dll.
NtSetInformationProcess succeeded.
(handle_output_debug_string): Put back DebugActiveProcess since it seems to
still be needed (on my system at least). Detect new format
_STRACE_INTERFACE_ACTIVATE_ADDR which informs whether this is a forked process
or not. Use that to decide if forkdebug should be handled.
option handling to use the same style throughout all Cygwin utils.
Throughout use program_invocation_short_name to refer to current
process name in Cygwin executables.
* utils.sgml: Align documentation to above change. Add missing
sections for getconf, ldd, and setmetamode.
* strace.cc (proc_child): Avoid compiler warning.
arguments, don't exit.
(print_version): New function.
(longopts): Add -f, -n, and -V options. Reorder.
(opts): Add -f, -n, and -V options.
(main): Call GetSystemDefaultUILanguage for -s option. Call
GetUserDefaultUILanguage for -u option. Add -f and -n options and
call GetUserDefaultLCID and GetSystemDefaultLCID respectively. Return
0 after calling usage in -h case. Add -V option and call print_version.
Don't print full usage in default case, rather just a short help message
similar to GNU tools.
* utils.sgml (locale): Align to above changes. Rephrase description.
if Attaching to a process with the trace-children flag set.
(handle_output_debug_string): Apparently we don't need to explicitly
attach for debugging when a child process starts
* Makefile.in (strace.exe): Link with ntdll
(dump_sysinfo): Ditto.
* loadlib.h (_load_sys_library): Mark as used, to avoid a compiler
warning.
* path.cc (oopt): Gurad with !FSTAB_ONLY to avoid a compiler warning.
(read_flags): Ditto.
(HARDDISK_PREFIX): Move.
(GLOBALROOT_PREFIX): Define.
(get_device_name): Take GLOBALROOT_PREFIX into account.
Improve check for path to allow filesystem access via block devices.
Potentially drop \\.\ prefix if resulting path is a valid DOS
pathname.
(do_pathconv): Make sure to drop \\?\ prefix only if path is
actually a filesystem based path.
(print_version): Fix copyright.
Include throughout files using LoadLibrary function.
* cygcheck.cc (dump_sysinfo): Retrieve kernel32.dll handle via
GetModuleHandle, rather than using LoadLibrary.
* cygpath.cc (get_long_name): Ditto.
(do_sysfolders): Append .dll suffix in LoadLibrary call.
* ldh.cc (WinMain): Use LoadLibraryExW with DONT_RESOLVE_DLL_REFERENCES
to avoid loading malicious library code.
* locale.cc (print_locale_with_codeset): Change way to retrieve
kernel32.dll path.
(transform_chars): New function, copied from Cygwin.
(simple_nt_stat): New function to check file existance using native
NT function. Explain why.
(directory_exists): Call simple_nt_stat.
(file_exists): Ditto.
(head): Move earlier.
(saw_file): Ditto.
(print_dlls): Reset head here. Record seen dll names so they will not
potentially be printed later.
(process_file): Remove clearing of head here.
(usage): Call cygwin_internal (CW_LST_MNT_OPTS) to create list of
mount options.
(print_version): Fix copyright date.
(main): Replace option processing loop with single call to
cygwin_internal (CW_CVT_MNT_OPTS).
(enum type_t): Change according to the fact that nl_langinfo now returns
all locale category values.
(lc_ctype_names): Add new category members. Redefine for exclusive
nl_langinfo usage.
(lc_numeric_names): Ditto.
(lc_time_names): Ditto.
(lc_collate_names): Ditto.
(lc_monetary_names): Ditto.
(lc_messages_names): Ditto.
(print_lc): Change switch according to new type_t values.