This function cannot be made thread-safe, the API would have to be
changed for that, just like strerror() -> strerror_r() and similar
ISO C or POSIX functions...
(getearly): Rename 's' variable to 'len' since 's' is used fairly consistently
throughout cygwin as a string variable. Remove rawenv declaration. Perform
other minor cleanups.
(environ_init): Remove rawenv declaration. Only set rawenv to
GetEnvironmentStrings() if it has not already been set. Properly free rawenv
in all cases.
(tty::gethwnd): Ditto.
(tty::sethwnd): Ditto.
(tty_min::hwnd): Receive variable from tty class.
(tty_min::gethwnd): Receive function from tty classs.
(tty_min::sethwnd): Ditto.
* dtable.cc (dtable::stdio_init): Only call init_console_handler when we
actually own the console.
* fhandler_console.cc (fhandler_console::get_tty_stuff): Set tty's hwnd to
non-zero value.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Semi-reinstate handling of
console when pgrp is set.
(findenv_func): New function pointer, predefined to getearly.
(getenv): Call findenv function over the findenv_func pointer.
(environ_init): Change findenv_func pointer to my_findenv after Cygwin
environment is initialized.
Use as guard for the WAVEFORMATEX structure instead of
_WAVEFORMATEX_ to avoid clashes with DirectSound. Keep
_WAVEFORMATEX_ for compatibility.
Thanks to: Andrew Jones <guln at sf dot net>
PocketPC support.
* include/aygshell.h: New file [_WIN32_WCE]. Declare most common
functions for using aygshell on PocketPC:
SHCreateMenuBar, SHFindMenuBar, SHCreateNewItem, SHFullScreen,
SHSipInfo, SHHandleWMActivate, SHHandleWMSettingChange
* include/commctrl.h [_WIN32_WCE] Add function prototypes for
command bar API on PocketPC:
CommandBar_Create, CommandBar_Show, CommandBar_AddBitmap,
CommandBar_InsertComboBox, CommandBar_InsertMenubar,
CommandBar_InsertMenubarEx, CommandBar_DrawMenuBar,
CommandBar_GetMenu, CommandBar_AddAdornments, CommandBar_Height,
CommandBar_InsertButton, CommandBar_Destroy.
* include/winbase.h [_WIN32_WCE] (WIN32_FIND_DATA{A|W}): Remove
fields not present on PocketPC.
(GetCurrentThreadId): Conditionally declare as extern function
without dllimport attribute on PocketPC.
(ResetEvent): Likwise.
(SetEvent): Likewise.
* include/wingdi.h [_WIN32_WCE] (GetTextExtentPoint32{A|W}):
Conditionally declare as extern function without dllimport
attribute on PocketPC.
* winuser.h [_WIN32_WCE] (DialogBoxParam{A|W}): Conditionally
declare as extern function without dllimport attribute on PocketPC.
PocketPC support.
* include/aygshell.h: New file [_WIN32_WCE]. Declare most common
functions for using aygshell on PocketPC:
SHCreateMenuBar, SHFindMenuBar, SHCreateNewItem, SHFullScreen,
SHSipInfo, SHHandleWMActivate, SHHandleWMSettingChange
* include/commctrl.h [_WIN32_WCE] Add function prototypes for
command bar API on PocketPC:
CommandBar_Create, CommandBar_Show, CommandBar_AddBitmap,
CommandBar_InsertComboBox, CommandBar_InsertMenubar,
CommandBar_InsertMenubarEx, CommandBar_DrawMenuBar,
CommandBar_GetMenu, CommandBar_AddAdornments, CommandBar_Height,
CommandBar_InsertButton, CommandBar_Destroy.
* include/winbase.h [_WIN32_WCE] (WIN32_FIND_DATA{A|W}): Remove
fields not present on PocketPC.
(GetCurrentThreadId): Conditionally declare as extern function
without dllimport attribute on PocketPC.
(ResetEvent): Likwise.
(SetEvent): Likewise.
* include/wingdi.h [_WIN32_WCE] (GetTextExtentPoint32{A|W}):
Conditionally declare as extern function without dllimport
attribute on PocketPC.
* winuser.h [_WIN32_WCE] (DialogBoxParam{A|W}): Conditionally
declare as extern function without dllimport attribute on PocketPC.
* include/winnt.h (IMAGE_FILE_MACHINE_IA64): New define.
(IMAGE_FILE_MACHINE_AMD64): New define.
(IMAGE_NT_OPTIONAL_HDR{32|64}_MAGIC. New. Map to IMAGE_NT_OPTIONAL_HDR_MAGIC.
(IMAGE_SUBSYSTEM_NATIVE_WINDOWS): New define.
(IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): New define.
(IMAGE_DLLCHARACTERISTICS_WDM_DRIVER): New define.
(IMAGE_DIRECTORY_ENTRY_*): New defines.
(IMAGE_SCN_TYPE_*): New defines.
(IMAGE_SCN_ALIGN_*): New defines.
(IMAGE_DEBUG_TYPE_BORLAND): New define.
(IMAGE_OPTIONAL_HEADER{32|64}): New structure definitions and typedefs. Map to
IMAGE_OPTIONAL_HEADERS.
(IMAGE_NT_HEADERS{32|64}): New structure definitions and typedefs. Map to
IMAGE_NT_HEADERS.
(IMAGE_LOAD_CONFIG_DIRECTORY64): New structure definition and typedefs.
(IMAGE_CE_RUNTIME_FUNCTION_ENTRY): Likewise.
(IMAGE_FUNCTION_ENTRY64): Likewise.
* include/ws2spi.h (system_header): Add pragma.
* include/rasdlg.h (system_header): Add pragma.
* include/rasdlg.h (_RASDLG_H): Define.
Define instead of _RASDLG_H_, this is the w32api standard.
* include/mlang.h (_MLANG_H): Define.
Define instead of _MLANG_H_, this is the w32api standard.
* include/setupapi.h (_SETUPAPI_H): Define.
Define instead of _SETUPAPI_H_, this is the w32api standard.
Thanks to: James du Russel <ephelon at users dot sf dot net>
* include/rpcndr.h (_RPCNDR_H): Define.
Define in addition to __RPCNDR_H__, this is the w32api standard.
Drop remote fs handling entirely since unreliable inode numbers
are now recognized differently.
(path_conv::is_samba): Make inline.
(fhandler_disk_file::opendir): Reformat comment.
(fhandler_base::fstat_helper): Special case remote file systems
returning (unreliable) 32 bit inode numbers.
(fhandler_base::readdir): Ditto.
* fhandler_netdrive.cc (fhandler_netdrive::readdir): Ditto.
differently from those which are mounted with -X. Pass extra argument to
linebuf::fromargv.
* winf.h (MAXCYGWINCMDLEN): New define.
(linebuf::finish): Add a new argument denoting when command line overflow is
ok.
(linebuf::fromargv): Ditto.
* winf.cc (linebuf::finish): Implement above change.
(linebuf::fromargv): Ditto.
* include/comcat.h: INTERFACE should not remain defined
at the end of the header.
* include/docobj.h: Ditto.
* include/exdisp.h: Ditto.
* include/intshcut.h: Ditto.
* include/mlang.h: Ditto.
* include/mshtml.h: Ditto.
* include/oaidl.h: Ditto.
We should probably remove PROV_MS_MAIL but I'm keeping it for
now for compatibility reasons.
Thanks to: Marcus Agehall <agehall at users dot sf dot net>