Exclude _ctype stub if using msvcr71.dll or newer.
* include/ctype.h: Don't declare _ctype if using msvcr71.dll or newer.
* include/wctype.h: Likewise.
(CURR_SHARED_MAGIC): Ditto.
(class shared_info): Add heap_slop_inited member.
* shared.cc (shared_info::heap_slop_size): Use heap_slop_inited to
track initializing heap_slop since 0 is a valid value for heap_slop.
Drop useless < 0 consideration.
* cygwin.din: Export freeifaddrs, getifaddrs.
* fhandler_socket.cc (fhandler_socket::ioctl): Drop SOCKET parameter
from get_ifconf.
* net.cc: Include ifaddrs.h.
(in_are_prefix_equal): Match addresses in network byte order.
(ip_addr_prefix): Convert address into host byte order before
testing with IN_LOOPBACK.
(struct ifall): Define.
(get_xp_ifs): Replace get_xp_ifconf. Return struct ifall array.
(get_2k_ifs): Ditto, replace get_2k_ifconf.
(get_nt_ifs): Ditto, replace get_nt_ifconf.
(getifaddrs): New function.
(freeifaddrs): New function.
(get_ifconf): Call matching get_XX_ifs function and create
ifc content from here. Drop lo fake since it's now in get_nt_ifs.
* posix.sgml: Add freeifaddrs and getifaddrs to list of implemented
BSD functions.
* wincap.h (wincapc::has_broken_if_oper_status): New element.
* wincap.cc: Implement above element throughout.
* include/ifaddrs.h: New file.
* include/cygwin/version.h: Bump API minor number.
* cygwin.din (confstr): Make NOSIGFE.
(insque): Export.
(remque): Export.
* lsearch.cc: Remove superfluous _SEARCH_PRIVATE define.
* posix.sgml: Move insque to defined SUSv3 interfaces. Remove
comment for remque.
* include/search.h: Remove _SEARCH_PRIVATE guarded definitions.
Add struct qelem definition. Add insque and remque declarations.
* include/cygwin/version.h: Bump API minor number.
* include/sys/queue.h: Remove insque/remque definitions so as not
to collide with SUSv3 compatible declaration in search.h.
* libc/xsique.cc: New file implementing insque and remque.
* posix.sgml (confstr): Move to list of implemented SUSv3 functions.
* sysconf.cc (confstr): Implement.
* include/cygwin/version.h: Bump API minor number.
(paths): Redefine as type pathlike.
(display_error): Declare a few different ways to allow more flexible usage
throughout.
(display_error_fmt): New function for those cases where C++ just isn't enough.
(add_path): Rewrite to allocate pathlike paths. Always tack on a trailing
slash since that's what everyone who uses it wants. NULL terminate the path
list. Register "it's a system path" field.
(init_path): Call add_path with info regarding whether path is a system path or
not.
(pathlike::check_existence): Move into pathlike class. Accept file and
extension arguments to build up path on the fly. Modify other arguments.
(find_on_path): Constify return value and appropriate arguments. Eliminate
short-circuit for fully-qualified paths. Simplify loop which iterates over
path.
(already_did): Constify argument.
(track_down): Ditto. Regularize some error messages.
(find_app_on_path): Ditto.
(cygcheck): Constify argument. Use 20th century string handling functions.
(dump_sysinfo): Remove odd inclusion of '\\bin' "Just in case". Accommodate
change of paths to pathlike.
* path.cc (isslash): Rename from SLASH_P and use throughout.
(rel_vconcat): Front-end to vconcat which prepends cwd to path before passing
along for conversion to native windows.
(cygpath): Remove "./" test. Call rel_vconcat if filename appears to be
relative.
correctly for 64 bit file access. Comment out functionality.
* fhandler.cc (fhandler_base::open): Don't set append_mode.
(fhandler_base::write): Check for O_APPEND instead of append_mode.
Call SetFilePointer correctly for 64 bit file access. Handle
errors from SetFilePointer.
* fhandler.h (class fhandler_base): Drop append_mode status flag.
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Handle
seeking correctly for 64 bit file access.
basic flags. Only check options_from_file_flag if reading options
from command line.
(main): Check for NULL argz vector. Don't free argz vector prematurely.
Don't force flag combination in !options_from_file_flag case.
* lib/secur32.def (InitSecurityInterfaceA, InitSecurityInterfaceW): Define.
Thanks to Jim Marshall (jim dot marshall at wbemsolutions dot com) for
supplying the information.
(options_from_file_flag): Move from main to global static variable.
(mode_flag): Ditto.
(do_sysfolders): Rename from dowin and accommodate throughout.
Don't exit from here.
(do_pathconv): Rename from doit and accommodate throughout.
(print_version): Change copyright.
(do_options): New function, centralizing option processing.
Rework checking options for correctness.
(action): New function, centralizing calling worker functions.
(main): Simplify. Move option processing to do_options. Move calling
worker functions to action. Rework getting arguments from files.
Condition on _WIN64.
(uintptr_t): Protect with _UINTPTR_T_DEFINED. Condition on _WIN64.
(INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX): Condition on _WIN64.
(PTRDIFF_MIN): Define as INTPTR_MIN.
(PTRDIFF_MAX): Define as INTPTR_MAX.
(SIG_ATOMIC_MIN): Define as INTPTR_MIN.
(SIG_ATOMIC_MAX): Define as INTPTR_MAX.