Commit Graph

6677 Commits

Author SHA1 Message Date
Corinna Vinschen 041337fd90 * include/sys/cygwin.h: Include limits.h. 2007-12-07 09:37:14 +00:00
Corinna Vinschen 9408cf38dd * ps.cc: Include limits.h.
(main): Set file name buffer size to PATH_MAX.  Use progname or
	progname_long member of struct external_pinfo dependent of the value of
	the struct's version member.
2007-12-06 18:26:18 +00:00
Corinna Vinschen 36093cfbbf * dcrt0.cc (initial_env): Use PATH_MAX instead of CYG_MAX_PATH for path
name buffer size.
	(dll_crt0_1): Allocate new_argv0 with PATH_MAX size.
	* exceptions.cc (debugger_command): Set size to 2 * PATH_MAX + 20;
	(error_start_init): Use PATH_MAX instead of CYG_MAX_PATH for path
	name buffer size.
	* external.cc (fillout_pinfo): Always fill out ep.progname 0-terminated.
	Fill out ep.progname_long.
	* fhandler_process.cc (fhandler_process::fill_filebuf): Allocate
	buffer for executable filename with PATH_MAX size.
	* pinfo.cc: Throughout use PATH_MAX instead of CYG_MAX_PATH.
	* pinfo.h (class _pinfo): Set progname size to PATH_MAX.
	* smallprint.cc: Include limits.h.  Use PATH_MAX instead of CYG_MAX_PATH
	for path name buffer size.
	* strace.cc (strace::vsprntf): Ditto.
	* include/sys/cygwin.h (EXTERNAL_PINFO_VERSION_32_LP): Define.
	(EXTERNAL_PINFO_VERSION): Set to EXTERNAL_PINFO_VERSION_32_LP.
	(struct external_pinfo): Add progname_long member.
	* include/sys/dirent.h: Correctly include limits.h instead of
	sys/limits.h.
2007-12-06 18:24:06 +00:00
Corinna Vinschen 27114d3aff * fhandler_tty.cc (fhandler_tty_slave::open): Use MAX_PATH instead of
CYG_MAX_PATH for event name buffer size.
	(fhandler_pty_master::setup): Use MAX_PATH instead of CYG_MAX_PATH for
	mutex name buffer size.
	* netdb.cc: Drop old comment.
	(open_system_file): Set path buffer size to MAX_PATH instead of
	CYG_MAX_PATH.  Drop conversion to posix path.  Open file using win32
	path.

	Fix typo in ChangeLog.
2007-12-05 16:50:18 +00:00
Corinna Vinschen 5224a7bbf3 * fhandler_registry.cc: Use NAME_MAX + 1 instead of CYG_MAX_PATH
throughout for subkey name buffer size.
	* fhandler_socket.cc (search_wsa_event_slot): Use MAX_PATH instead of
	CYG_MAX_PATH for mutext name buffer size.
	(fhandler_socket::init_events): Ditto.
	* fhandler_virtual.cc (fhandler_virtual::opendir): Check path length
	against PATH_MAX instead of against CYG_MAX_PATH.
	* registry.cc (get_registry_hive_path): Use PATH_MAX instead of
	CYG_MAX_PATH for registry value path buffer size.
	* shared.cc (open_shared): Use MAX_PATH instead of CYG_MAX_PATH
	for shared memory name buffer size.
	* thread.cc (semaphore::semaphore): Use MAX_PATH instead of CYG_MAX_PATH
	for semaphore name buffer size.
	* uinfo.cc (cygheap_user::env_userprofile): Use PATH_MAX instead of
	CYG_MAX_PATH for temporary path name buffer size.
	* winf.h (LINE_BUF_CHUNK): Define as MAX_PATH * 2.
	* include/sys/dirent.h: Include sys/limits.h.  Define name buffer sizes
	using NAME_MAX.
2007-12-05 15:10:20 +00:00
Corinna Vinschen 8c7c7178c7 Add missing ChangeLog entry. 2007-12-05 12:32:30 +00:00
Corinna Vinschen 86a1bb43f5 * fhandler_fifo.cc (fhandler_fifo::open): Use MAX_NAME for pipe name
buffer size.
	(fhandler_fifo::fstatvfs): Use same technique as in fhandler_socket.
	* fhandler_proc.cc (format_proc_partitions): Use NAME_MAX+1 for
	device name buffer size.  Use MAX_PATH for device path buffer size.
2007-12-04 13:29:44 +00:00
Chris Sutcliffe 41d46fe86f 2007-12-03 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/wingdi.h: Change WINVER guard to _WIN32_WINNT.
2007-12-04 00:35:55 +00:00
Chris Sutcliffe e25b650e30 2007-12-03 techrazy <techrazy@users.sourceforge.net>
* include/wingdi.h (NTM_NONNEGATIVE_AC, NTM_PS_OPENTYPE, NTM_TT_OPENTYPE,
        NTM_MULTIPLEMASTER, NTM_TYPE1, NTM_DSIG): define.
2007-12-04 00:30:40 +00:00
Corinna Vinschen 814066b912 * autoload.cc (GetModuleFileNameExW): Replace definition of
GetModuleFileNameExA.
	* fhandler_process.cc (format_process_maps): Change modname type to
	WCHAR.  Set buffer sizes to PATH_MAX.  Call GetModuleFileNameExW
	instead of GetModuleFileNameExA.  Call mount_info::conv_to_posix_path
	instead of cygwin_conv_to_full_posix_path.  Set posix_modname to
	modname if that call fails.
	(format_process_stat): Set cmd buffer size to NAME_MAX + 1.  Simplify
	setting cmd to process name.
	(format_process_status): Ditto.
	* path.cc (mount_info::conv_to_posix_path): Call sys_wcstombs
	correctly.
2007-12-03 14:13:03 +00:00
Corinna Vinschen 268e8d00e9 * include/cygwin/time.h: Remove redundant #endif. 2007-12-03 11:34:59 +00:00
Corinna Vinschen a7b76a4eb3 * include/cygwin/time.h (daylight): Declare as extern symbol referring
_daylight variable.
	(timezone): Only define if __timezonefunc__ is undefined.
2007-12-01 13:49:45 +00:00
Corinna Vinschen cf632a487b * Makefile.in (OBSOLETE_FUNCTIONS): Add timezone.
* include/cygwin/time.h: Drop conditional timezone definitions.
	(timezone): Declare as extern symbol referring _timezone variable.
2007-12-01 13:04:43 +00:00
Corinna Vinschen d8a5f04695 * fhandler_tape.cc (mtinfo::initialize): Use MAX_PATH instead of
CYG_MAX_PATH.
	* fhandler_tty.cc (fhandler_pty_master::ptsname): Set buffer size to
	TTY_NAME_MAX.
	* syscalls.cc (ttyname): Eliminate the `+ 1' from the name buffer size
	since TTY_NAME_MAX already counts the trailing NUL.
	* libc/bsdlib.cc (openpty): Set pts buffer size to TTY_NAME_MAX.
2007-11-28 16:45:34 +00:00
Corinna Vinschen 023a2fa789 * fhandler_socket.cc (fhandler_socket::recv_internal): Add MSG_WAITALL
handling.  Use explicit flag values instead of MSG_WINMASK.
	(fhandler_socket::send_internal): Use explicit flag values instead of
	MSG_WINMASK.
	* include/cygwin/socket.h (MSG_WINMASK): Remove definition.
	(MSG_WAITALL): Define.
2007-11-28 15:54:17 +00:00
Corinna Vinschen 547ad329b6 * posix_ipc.cc (ipc_names): Rename max_len to prefix_len. Store
the prefix len in it.
	(check_path): Take length parameter.  Use this length insetad of
	calling strlen.  Allow PATH_MAX length paths.
	(ipc_mutex_init): Use MAX_PATH instead of CYG_MAX_PATH.
	(ipc_cond_init): Ditto.
	(shm_open): Allocate local name buffer not bigger than necessary.  Call
	check_path with additional length argument.
	(shm_unlink): Ditto.
	(mq_open): Ditto.
	(mq_unlink): Ditto.
	(sem_open): Ditto.
	(sem_unlink): Ditto.
2007-11-27 17:04:19 +00:00
Corinna Vinschen a1591d3be7 Drop old SetResourceLock stuff in favor of mutos.
* dcrt0.cc (_reslock): Remove.
	(__cygwin_user_data): Accommodate removal of resourcelocks member.
	(dll_crt0_0): Don't initialize resourcelocks.
	* exceptions.cc (_cygtls::signal_exit): Drop resourcelocks handling.
	* mmap.cc (mmap_guard): New muto.
	(LIST_LOCK): Define.
	(LIST_UNLOCK): Define.
	(mmap_list::search_record): Remove.
	(mmap_list::try_map): Include code for anonymous case from
	mmap_list::search_record.
	(mmap_is_attached_or_noreserve): Access bookkeeping lists in a thread
	safe way.
	(mmap64): Replace SetResourceLock/ReleaseResourceLock by
	LIST_LOCK/LIST_UNLOCK.  Lock at the latest possible point.
	(munmap): Replace SetResourceLock/ReleaseResourceLock by
	LIST_LOCK/LIST_UNLOCK.
	(msync): Ditto.
	(mprotect): Ditto.
	* thread.cc (ResourceLocks::Lock): Remove.
	(SetResourceLock): Remove.
	(ReleaseResourceLock): Remove.
	(ResourceLocks::Init): Remove.
	(ResourceLocks::Delete): Remove.
	* thread.h (SetResourceLock): Drop declaration.
	(ReleaseResourceLock): Ditto.
	(class ResourceLocks): Drop definition.
	* include/sys/cygwin.h (class ResourceLocks): Drop forward declaration.
	(struct per_process): Replace resourcelocks with additional unused2
	element.
	(per_process_overwrite): Accommodate above change.
2007-11-27 14:45:14 +00:00
Corinna Vinschen 230a3c86d1 * mmap.cc: Convert usage of dynamically growing cmalloced arrays to
cmalloced linked lists throughout.
	(class mmap_record): Add LIST_ENTRY element.
	(mmap_record::match): New method, taking over match algorithm from
	list::search_record.
	(class mmap_list): Rename from class list.  Add LIST_ENTRY.  Convert
	recs to a LIST_HEAD.  Drop nrecs and maxrecs members.
	(mmap_list::get_record): Drop entirely.
	(mmap_list::free_recs): Drop entirely.
	(mmap_list::del_record): Take mmap_record to delete as parameter.
	(mmap_list::search_record): Convert to mmap_record::match.
	(class mmap_areas): Rename from class map.  Convert lists to LIST_HEAD.
	(mmap_areas::get_list): Drop entirely.
	(mmap_areas::del_list): Take mmap_list to delete as parameter.
	(mprotect): Fix indentation.
2007-11-27 10:09:05 +00:00
Chris Sutcliffe 4694cc18c2 2007-11-26 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Makefile.in: Add libmsvcr90.a and libmsvcr90d.a targets.
        * msvcrt.def.in: Add support for __msvcr90__ and __msvcr90d__ defines.
        * mingwex/math/log10f.S: Correct issue with comments.
        * mingwex/math/log10l.S: Ditto.
        * mingwex/math/log1p.S: Ditto.
        * mingwex/math/log1pf.S: Ditto.
        * mingwex/math/log1pl.S: Ditto.
        * mingwex/math/log2.S: Ditto.
        * mingwex/math/log2f.S: Ditto.
        * mingwex/math/log2l.S: Ditto.
        * mingwex/math/logf.S: Ditto.
        * mingwex/math/logl.S: Ditto.
2007-11-27 02:14:19 +00:00
Christopher Faylor ee4388c420 Change many cygheap allocation routines to their *_abort analogs.
* cygheap.cc (cmalloc_abort): New function.
(crealloc_abort): Ditto.
(ccalloc_abort): Ditto.
2007-11-26 21:30:49 +00:00
Christopher Faylor 32cba6cb3a * cygheap.cc (_crealloc): Avoid memcpy when _cmalloc returns NULL. 2007-11-23 16:37:05 +00:00
Chris Sutcliffe 2194c4db86 2007-11-21 Kevin Conaway <kevin_conaway@users.sourceforge.net>
* include/wincrypt.h (CryptProtectData, CryptUnprotectData): define.
2007-11-22 03:16:15 +00:00
Chris Sutcliffe b69b1a36b8 2007-11-21 elsapo <elsapo@users.sourceforge.net>
* include/wincrypt.h (CERT_NAME_STR_COMMA_FLAG,
        CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG, CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG,
        CMC_ADD_ATTRIBUTES, CMC_ADD_EXTENSIONS, X509_CERT_PAIR,
        X509_CERTIFICATE_TEMPLATE, X509_CROSS_CERT_DIST_POINTS, CMC_DATA,
        X509_NAME_CONSTRAINTS, X509_POLICY_CONSTRAINTS, X509_POLICY_MAPPINGS,
        CMC_RESPONSE, CMC_STATUS, X509_ALGORITHM_IDENTIFIER, X509_ALTERNATE_NAME,
        PKCS_ATTRIBUTE, X509_AUTHORITY_INFO_ACCESS, X509_AUTHORITY_KEY_ID,
        X509_AUTHORITY_KEY_ID2, szOID_BASIC_CONSTRAINTS, X509_BASIC_CONSTRAINTS2,
        X509_BIOMETRIC_EXT, X509_BITS, X509_CERT, X509_CERT_CRL_TO_BE_SIGNED,
        X509_CERT_POLICIES, X509_CERT_REQUEST_TO_BE_SIGNED, X509_CERT_TO_BE_SIGNED,
        X509_CHOICE_OF_TIME, PKCS_CONTENT_INFO, PKCS_CONTENT_INFO_SEQUENCE_OF_ANY,
        X509_CRL_DIST_POINTS, RSA_CSP_PUBLICKEYBLOB, PKCS_CTL, X509_DSS_PARAMETERS,
        X509_DSS_SIGNATURE, X509_ECC_SIGNATURE, X509_ENHANCED_KEY_USAGE,
        X509_ENUMERATED, X509_EXTENSIONS, X509_INTEGER, X509_ISSUING_DIST_POINT,
        X509_KEY_ATTRIBUTES, X509_KEY_USAGE, X509_KEY_USAGE_RESTRICTION,
        X509_KEYGEN_REQUEST_TO_BE_SIGNED, X509_LOGOTYPE_EXT,
        X509_MULTI_BYTE_INTEGER, X509_MULTI_BYTE_UINT, X509_NAME, X509_NAME_VALUE,
        X509_OBJECT_IDENTIFIER, X509_OCTET_STRING, X509_PUBLIC_KEY_INFO,
        PKCS_RC2_CBC_PARAMETERS, CNG_RSA_PUBLIC_KEY_BLOB,
        PKCS_RSA_SSA_PSS_PARAMETERS, PKCS_RSAES_OAEP_PARAMETERS,
        ECC_CMS_SHARED_INFO, X509_SEQUENCE_OF_ANY, PKCS7_SIGNER_INFO,
        CMS_SIGNER_INFO, PKCS_SMIME_CAPABILITIES, PKCS_TIME_REQUEST,
        X509_UNICODE_NAME, X509_UNICODE_NAME_VALUE, PKCS_UTC_TIME,
        OCSP_SIGNED_REQUEST, OCSP_REQUEST, OCSP_RESPONSE,
        OCSP_BASIC_SIGNED_RESPONSE, OCSP_BASIC_RESPONSE, CRL_REASON_UNSPECIFIED,
        CRL_REASON_KEY_COMPROMISE, CRL_REASON_CA_COMPROMISE,
        CRL_REASON_AFFILIATION_CHANGED, CRL_REASON_SUPERSEDED,
        CRL_REASON_CESSATION_OF_OPERATION, CRL_REASON_CERTIFICATE_HOLD,
        CRL_REASON_REMOVE_FROM_CRL, CRYPT_ENCODE_ALLOC_FLAG,
        CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG,
        CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG,
        CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG,
        CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG,
        szOID_APPLICATION_CERT_POLICIES, szOID_APPLICATION_POLICY_CONSTRAINTS,
        szOID_APPLICATION_POLICY_MAPPINGS, szOID_AUTHORITY_INFO_ACCESS,
        szOID_AUTHORITY_KEY_IDENTIFIER, szOID_AUTHORITY_KEY_IDENTIFIER2,
        X509_BASIC_CONSTRAINTS, szOID_BIOMETRIC_EXT, szOID_CERT_EXTENSIONS,
        szOID_CERT_POLICIES, szOID_CERTIFICATE_TEMPLATE, szOID_CRL_NUMBER,
        szOID_CROSS_CERT_DIST_POINTS, szOID_DELTA_CRL_INDICATOR,
        szOID_ENROLLMENT_NAME_VALUE_PAIR, szOID_FRESHEST_CRL,
        szOID_ISSUING_DIST_POINT, szOID_NAME_CONSTRAINTS, szOID_CRL_DIST_POINTS,
        szOID_CRL_REASON_CODE, szOID_CRL_VIRTUAL_BASE, szOID_ECC_PUBLIC_KEY,
        szOID_ECDSA_SPECIFIED, szOID_ENHANCED_KEY_USAGE, szOID_ISSUER_ALT_NAME,
        szOID_ISSUER_ALT_NAME2, szOID_KEY_ATTRIBUTES, szOID_KEY_USAGE,
        szOID_KEY_USAGE_RESTRICTION, szOID_LOGOTYPE_EXT, szOID_POLICY_CONSTRAINTS,
        szOID_POLICY_MAPPINGS, szOID_RSA_SSA_PSS, szOID_RSAES_OAEP,
        szOID_SUBJECT_ALT_NAME, szOID_SUBJECT_ALT_NAME2,
        szOID_SUBJECT_KEY_IDENTIFIER, CMC_ADD_ATTRIBUTES_INFO,
        PCMC_ADD_ATTRIBUTES_INFO, CMC_ADD_EXTENSIONS_INFO, PCMC_ADD_EXTENSIONS_INFO,
        CERT_ALT_NAME_ENTRY, PCERT_ALT_NAME_ENTRY, CERT_ALT_NAME_INFO,
        PCERT_ALT_NAME_INFO, CERT_NAME_VALUE, PCERT_NAME_VALUE,
        CERT_POLICY_QUALIFIER_INFO, PCERT_POLICY_QUALIFIER_INFO,
        CERT_POLICY_CONSTRAINTS_INFO, PCERT_POLICY_CONSTRAINTS_INFO,
        CERT_POLICY_MAPPINGS_INFO, PCERT_POLICY_MAPPINGS_INFO, CERT_POLICY_MAPPING,
        PCERT_POLICY_MAPPING, CryptDecodeObjectEx, CryptEncodeObject,
        CryptEncodeObjectEx): define.
2007-11-22 03:07:09 +00:00
Chris Sutcliffe 5f96f813d6 2007-11-21 Brian Dessent <dessent@users.sourceforge.net>
* include/winbase.h (CheckTokenMembership): define.
2007-11-22 02:38:17 +00:00
Christopher Faylor 85287b1eb0 revert premature checkin 2007-11-08 15:18:06 +00:00
Christopher Faylor 9cd3ed2d10 revert premature checkin 2007-11-08 14:37:59 +00:00
Christopher Faylor a3ba550800 * dllfixdbg: Eliminate extra objcopy step. 2007-11-08 14:36:49 +00:00
Corinna Vinschen 4bc605814c * dllfixdbg: Pass --only-keep-debug to objcopy, instead of
selecting the sections manually.
2007-11-08 12:06:32 +00:00
Corinna Vinschen de32ab54d8 * thread.cc (pthread_key_create): Drop check for incoming valid object. 2007-11-06 15:48:34 +00:00
Corinna Vinschen 03abe23b1a * shm.cc: Include sync.h
(struct shm_shmid_list): Add ref_count member.
	(struct shm_attached_list): Remove hdl and size members.  Add a parent
	member pointing to referenced shm_shmid_list entry.
	(shm_guard): New muto.
	(SLIST_LOCK): Define.
	(SLIST_UNLOCK): Define.
	(fixup_shms_after_fork): Use hdl and size members of parent
	shm_shmid_list entry.
	(shmat): Access sequential bookkeeping lists in a thread safe way.
	Accommodate change in list element layout.  Align comments.
	(shmctl): Ditto.
	(shmdt): Ditto.
	(shmget): Ditto.
2007-11-06 13:29:53 +00:00
Corinna Vinschen 8f14a11301 * bsd_helper.cc (tunable_params): Add kern.ipc.shm_allow_removed as
bool parameter.
	* cygserver.conf: Add a description for the kern.ipc.shm_allow_removed
	parameter.
	* sysv_shm.cc (shminit): Set shm_allow_removed variable according to
	kern.ipc.shm_allow_removed setting.
2007-11-05 15:45:52 +00:00
Corinna Vinschen 5c8426d50e * shm.cc (shmctl): On IPC_RMID don't unmap views and don't close handle
if the map is still referenced to emulate Linux and BSD behaviour.
2007-11-05 15:25:55 +00:00
Corinna Vinschen 92beb4638f * shm.cc (shmctl): On IPC_RMID also unmap all views on shared mem
as well as connected shm_attached_list entry.
2007-11-05 10:15:31 +00:00
Corinna Vinschen 6eedb2be6d * net.cc (load_ipv6_funcs): Use MAX_PATH instead of CYG_MAX_PATH.
(cygwin_getaddrinfo): Simplify formatting.
	(cygwin_getnameinfo): Ditto.
2007-10-31 16:06:01 +00:00
Corinna Vinschen 15346b6950 * external.cc (get_cygdrive_info): Make inline.
(get_cygdrive_prefixes): Remove.
	(cygwin_internal): Call get_cygdrive_info with NULL flag parameters
	instead of get_cygdrive_prefixes.
	* path.cc (mount_info::get_cygdrive_info): Allow NULL flag parameters.
2007-10-31 13:23:33 +00:00
Corinna Vinschen 101f07b907 * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't remove
write bits for directories with R/O attribute.
	(fhandler_base::fhaccess): Don't shortcircuit R/O attribute with W_OK
	scenarios for directories.
2007-10-30 12:32:16 +00:00
Corinna Vinschen 09ecdc8504 * cygheap.h (struct cwdstuff): Drop hash member. Drop get_hash,
get_initial, and fixup_after_exec declarations.
	Convert win32 to UNICODE_STRING.
	(cwdstuff::get_drive): Convert win32 path in current codepage.
	(cwdstuff::set): Take native NT path.
	* ntdll.h (struct _TEB): Typedef.
	* path.cc (mount_info::conv_to_posix_path): Add variant taking
	wide char DOS paths.
	(symlink_info::posixify): Simplify concatenating cwd and relative path.
	(hash_path_name): Drop special relative path handling.
	(chdir): Drop special "drive only" handling.  Call cwdstuff::set with
	native path.
	(cwdstuff::get_hash): Remove.
	(windows_system_directory): Remove.
	(_upp): Remove.
	(get_user_proc_parms): Make inline.  Get PEB pointer by calling
	NtCurrentTeb.
	(cwdstuff::init): Simplify.
	(cwdstuff::set): Rework to handle incoming native NT path.  Workaround
	a Vista problem with CWD handle in the user process parameter block.
	(cwdstuff::get): Simplify locking.  Accommodate type change of win32.
	* shared_info.h (mount_info): Add declaration for new conv_to_posix_path
	method.
	* strfuncs.cc (sys_wcstombs): Return correct length of created
	multi-byte string.
2007-10-23 16:26:28 +00:00
Corinna Vinschen 6788155fe2 * fhandler_disk_file.cc (__DIR_mounts::eval_ino): Make fname big enough
to allow multibyte chars.
2007-10-19 12:22:49 +00:00
Corinna Vinschen f3257492c4 * fhandler.cc (fhandler_base::open): Open native symlinks with
FILE_OPEN_REPARSE_POINT flag.  Fix typo in comment.
2007-10-18 12:40:27 +00:00
Corinna Vinschen 5b69737250 * include/sys/param.h (MAXPATHLEN): Define as PATH_MAX. 2007-10-18 10:42:43 +00:00
Corinna Vinschen 6ce2c24121 * fhandler.cc (is_at_eof): Rewrite using NT functions.
(off_current): New static variable.
	(off_append): Ditto.
	(fhandler_base::raw_write): Use NtWriteFile.  Accommodate O_APPEND here.
	(fhandler_base::write): Drop O_APPEND hack.  Use NT functions.
	(fhandler_base::lseek): Rewrite using NT functions.
	* fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Add space in
	debug output.
	(fhandler_disk_file::ftruncate): Ditto.
	* ntdll.h (STATUS_DISK_FULL): Define.
	(FILE_USE_FILE_POINTER_POSITION): Define.
	(FILE_WRITE_TO_END_OF_FILE): Define.
2007-10-15 08:25:38 +00:00
Corinna Vinschen fc7290fd39 * ntdll.h (STATUS_END_OF_FILE): Define.
* path.cc (symlink_info::check_shortcut): Use NT function to get file
	size.  Reintroduce checking file size before reading it.  Eliminiate
	close_it label.
	(symlink_info::check_sysfile): Check for EOF condition.
2007-10-13 11:06:43 +00:00
Corinna Vinschen 2da0e37519 * path.cc (basename): Return pointer into the path argument itself.
Shrink buf to 4 bytes.  Use buf only for border cases.
	(dirname): Ditto.
2007-10-11 16:26:19 +00:00
Corinna Vinschen 044b62c767 * path.cc (struct symlink_info): Change size of contents member to
be able to keep SYMLINK_MAX sized strings.
	(symlink_worker): Rework for long path names.  When writing windows
	shortcuts, store pathname additionally "hidden" after the actual
	shortcut data to workaround size limitations of the description field.
	(symlink_info::check_shortcut): Drop file name parameter.  Drop max
	file size check.  Use NT functions.  Use appended full path if
	available, description otherwise.  Check symlink string length for
	not exceeding SYMLINK_MAX.  Don't close file here.
	(symlink_info::check_sysfile): Drop file name parameter.  Use NT
	functions.  Check symlink string length for not exceeding SYMLINK_MAX.
	Don't close file here.
	(symlink_info::check_reparse_point): Drop file name parameter.  Drop
	useless length checks.  Allow SYMLINK_MAX length symlink strings.
	Don't close file here.
	(symlink_info::posixify): Allow SYMLINK_MAX length symlink strings.
	(symlink_info::check): Turn around checking for symlink file attributes.
	Use NT functions.  Close symlink file here.
	* include/limits.h (PATH_MAX): Define as 32760.  Change comment.
	(SYMLINK_MAX): Define as PATH_MAX - 1.
2007-10-10 16:54:09 +00:00
Corinna Vinschen 4797f5bca3 * fhandler_socket.cc (fhandler_socket::bind): Open file for deletion,
too.  Don't write to file and especially don't close handle if file
	couldn't be created.  Set delete disposition if writing failed,
	instead of calling unlink_nt.
2007-10-10 16:07:46 +00:00
Chris Sutcliffe 2fb5f81aa5 2007-10-03 Jiri Malak <Jiri.Malak@iol.cz>
* include/rpcndr.h: Missing NdrClientCall2 entry.
        * lib/rpcrt4.def: Ditto.
2007-10-03 23:49:35 +00:00
Chris Sutcliffe b0d00f7a53 2007-10-03 Frank Fesevur <ffes@users.sourceforge.net>
* lib/scnsave.c: Multi-monitor support.
2007-10-03 23:34:14 +00:00
Chris Sutcliffe b980db14b8 2007-10-03 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/gdtoa/mingw_snprintf.c: fixed warning during compile.
2007-10-03 20:45:58 +00:00
Chris Sutcliffe 08a0c88da5 2007-10-03 Bernd Becker <hugin@users.sourceforge.net>
* include/io.h (__finddata64_t, __wfinddata64_t): changed member 'size'
        from '_fsize_t' to '__int64' to be consistent with the other ...64
        structures and the value set there is 8 bytes not 4.  Add guard for both
        as the are only used by functions available from 6.1 on.

        * include/malloc.h (_HEAP_MAXREQ): Define.
        (_aligned_offset_recalloc): Define.
        (_aligned_recalloc()): Define.

        * include/math.h: fixed a typo in a comment.
        (atanhf): Fixed declaration.

        * include/wchar.h (__wfinddata64_t): changed member 'size' from '_fsize_t'
        to '__int64' to be consistent with the other ...64 structures and the value
        set there is 8 bytes not 4.  Added guard as this function is only used by
        functions available from 6.1 on.

        * include/sys/stat.h: some members of 'stat' were declared with types with
        a prefixed underscore, while the ones without the underscore should have
        been used.  Added guard to '__stat64' as it is only used by functions
        available from 6.1 on.  Added the wide character versions of the
        exec()/spawn() family for completion
        (_stati64): changed the type of the 'st_mode' member from 'unsigned int' to
        '_mode_t'

        * include/sys/timeb.h (timeb, _timb): changed the type of the 'time' member
        from 'long' to 'time_t'
        (__timeb64): moved declaration of structure directly before the declaration
        of the function '_ftime64()', so it is guarded as well

        * include/sys/utime.h (__utimbuf64): moved declaration of structure directly
        before the declaration of the functions using it, so it is guarded as well
2007-10-03 18:55:56 +00:00
Corinna Vinschen b75971ef8a * ntdll.h (struct _FILE_COMPRESSION_INFORMATION): Align with definition
in w32api / MSDN.
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Accommodate
	change to struct _FILE_COMPRESSION_INFORMATION.
2007-09-27 09:35:06 +00:00