summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
* * string.h: Re-enable inline strcasematch and strncasematchCorinna Vinschen2008-02-0112-60/+69
| | | | | | | | | | | | | | | implementations and rename to ascii_strcasematch/ascii_strncasematch. * dcrt0.cc: Replace str[n]casematch with ascii_str[n]casematch where applicable. * environ.cc: Ditto. * fhandler_process.cc: Ditto. * hookapi.cc: Ditto. * path.cc: Ditto. * spawn.cc: Ditto. * strace.cc: Ditto. * syscalls.cc: Ditto. * uinfo.cc: Ditto. * winf.cc: Ditto.
* * dcrt0.cc (dll_crt0_1): Use GetCommandLineW and convert to currentCorinna Vinschen2008-01-318-55/+155
| | | | | | | | | | | | | | | | | | | | | | | | codepage. * environ.cc (set_file_api_mode): Always set file api to ANSI if not using the OEM codepage. (codepage_init): Allow "utf8" codepage. * fhandler_clipboard.cc (set_clipboard): Convert clipbuf to void and cast as needed. Always convert input to wide char and write CF_UNICODETEXT to clipboard. (fhandler_dev_clipboard::read): Read CF_UNICODETEXT from clipboard and convert to current codepage if CYGWIN_NATIVE format is not available. * fhandler_console.cc: Drop redundant undef. * smallprint.cc (__small_vsprintf): Convert PWCHAR and UNICODE_STRING to current codepage for printing. * strfuncs.cc: Use PWCHAR throughout. (get_cp): Return CP_UTF8 for utf8_cp codepage setting. (sys_wcstombs): Allow NULL target buffer. (sys_wcstombs_alloc): New function. (sys_mbstowcs_alloc): Ditto. * winsup.h (codepage_type): Add utf8_cp. (HEAP_NOTHEAP): Define. (sys_wcstombs_alloc): Declare. (sys_mbstowcs_alloc): Declare.
* * cygheap.h (struct cwdstuff): Add dir member to store cwd handle.Corinna Vinschen2008-01-313-31/+41
| | | | | | | (cwdstuff::get_handle): New method. * path.cc (cwdstuff::set): When doit is true, always try to get directory handle. Fail if duplicating handle fails. Store handle in dir. Fix potential SEGV when setting drive_length.
* * path.cc: Fix Samba version in comment.Corinna Vinschen2008-01-282-1/+5
|
* * path.cc (fs_info::update): Fix old-style Samba test to supportCorinna Vinschen2008-01-242-8/+14
| | | | recent as well as upcoming Samba releases.
* * ntdll.h (struct _FILE_FS_OBJECTID_INFORMATION): Define.Corinna Vinschen2008-01-224-12/+62
| | | | | | | | * path.cc (struct smb_extended_info): Define. (fs_info::update): Request object id info to get Samba information. Set flags according to new implementation. * path.h (struct fs_info): Add samba_version to status_flags. Implement flags() and samba_version() using IMPLEMENT_STATUS_FLAG.
* * fhandler_disk_file.cc (fhandler_disk_file::link): Open file withCorinna Vinschen2008-01-212-1/+6
| | | | READ_CONTROL for Vista/Longhorn's sake.
* * Makefile.in (install-libs): Overwrite newlib's libg.a with symlinkCorinna Vinschen2008-01-152-0/+6
| | | | to libcygwin.a.
* * Makefile.in (DLL_OFILES): Remove memmem.o.Corinna Vinschen2008-01-153-68/+6
| | | | * memmem.cc: Remove in favor of newlib implementation.
* * fhandler.h: Update copyright.Corinna Vinschen2008-01-073-2/+8
| | | | * include/limits.h: Ditto.
* * fhandler.h (fhandler_base::is_tty): Make bool.Christopher Faylor2008-01-062-10/+23
| | | | | | | | | | | | (fhandler_serial::is_tty): Ditto. (fhandler_termios::is_tty): Ditto. (fhandler_base::is_slow): Return bool value. (fhandler_socket::is_slow): Ditto. (fhandler_serial::is_slow): Ditto. (fhandler_console::is_slow): Ditto. (fhandler_tty_common::is_slow): Ditto. (fhandler_tty_master::is_slow): Ditto. (fhandler_dev_null::is_slow): Ditto.
* * include/limits.h (TTY_NAME_MAX): Increase size to same as linux to allow forChristopher Faylor2008-01-062-1/+6
| | | | (at least) null terminating byte for "/dev/console".
* * tty.cc: Update copyright.Christopher Faylor2008-01-013-3/+9
| | | | * pipe.cc: Ditto.
* * newsym: First stab at understanding data as well as functions.Christopher Faylor2008-01-015-2808/+2799
| | | | | | | * pipe.cc (fhandler_pipe::init): Move more intelligence here. (fhandler_pipe::create): Simplify based on above change. * tty.cc (tty_list::allocate): Remove non-NT code.
* * cygwin.din (_f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf,Dave Korn2007-12-303-7/+31
| | | | | | | | _f_lrintl, _f_rint, _f_rintf, _f_rintl): Export fast *rint* functions. (lrint, lrintf, rint, rintf): Redirect exports to alias _f_ versions. (llrint, llrintf, llrintl, lrintl, rintl): Add exports aliasing _f_* versions likewise. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * fhandler.h (class fhandler_dev_random): Add dummy_offset member.Corinna Vinschen2007-12-223-2/+33
| | | | | * fhandler_random.cc (fhandler_dev_random::lseek): Fake seeking capability as on Linux.
* * libc/memmem.cc (memmem): Fix bug when searching for empty string.Corinna Vinschen2007-12-202-2/+6
|
* * cygwin.din: Export wcpcpy, wcpncpy.Corinna Vinschen2007-12-193-1/+9
| | | | * include/cygwin/version.h: Bump API minor number.
* * dtable.cc (POSIX_NAMED_PIPE): New define.Christopher Faylor2007-12-166-30/+247
| | | | | | | | | | | | | | | | | | | | | | | | (POSIX_NAMED_PIPE_LEN): Ditto. (dtable::add_archetype): Use crealloc_abort. (dtable::init_std_file_from_handle): Specifically detect pipe stdin/stdout. Pass name to build_fh_dev so that proper name is recorded. Use binmode of fh if it is set before using get_default_mode. Set proper read/write access when calling init(). (handle_to_fn): Handle pipes. * fhandler.cc (fhandler_base::wait_overlapped): Add some debugging. * fhandler.h (fhandler_base::set_name): Default to just setting the path_conv name. (fhandler_pipe::init): Declare. * pipe.cc (struct pipesync): New struct. (getov_result): New function. Blocks and retrieves the result of an overlay I/O operation. (pipe_handler): New function. (pipesync::pipesync): New function. Initializer for pipesync struct. (handler_pipe::init): Define. Detects attempts to set up a "native" pipe fhandler and creates a thread which accepts input from or output to the non-cygwin pipe, creating a cygwin pipe wrapper around the non-cygwin pipe. (fhandler_pipe::create): Add pipe-specific flags to call to init(). * exceptions.cc (ctrl_c_handler): Lock process while we determine what to do.
* * include/cygwin/socket.h: Include sys/uio.h instead of cygwin/uio.h.Corinna Vinschen2007-12-143-2/+6
| | | | * include/cygwin/uio.h: Remove.
* * dtable.cc (dtable::set_file_pointers_for_exec): Reenable. FixCorinna Vinschen2007-12-143-4/+11
| | | | | | comment. * spawn.cc (spawn_guts): Call cygheap->fdtab.set_file_pointers_for_exec only for non-Cygwin processes.
* * poll.cc (poll): Return count of fds with events instead of totalCorinna Vinschen2007-12-132-39/+52
| | | | event count.
* * string.h: Guard cygwin internal string function definitions withCorinna Vinschen2007-12-132-0/+10
| | | | __INSIDE_CYGWIN__.
* * dcrt0.cc: Include string.h.Corinna Vinschen2007-12-1212-80/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (initial_env): Use small_printf's %P specifier. * dll_init.cc (dll_list::alloc): Use PATH_MAX instead of CYG_MAX_PATH for path name buffer size. * dll_init.h (struct dll): Ditto. * environ.cc: Include string.h. (win_env::add_cache): Use temporary local buffer for path conversion. (posify): Ditto. * exceptions.cc (try_to_debug): Use CreateProcessW to allow long path names. * miscfuncs.cc: Drop unused implementations of strcasematch and strncasematch. (ch_case_eq): Drop. (strcasestr): Drop. (cygwin_wcscasecmp): New function. (cygwin_wcsncasecmp): New function. (cygwin_strcasecmp): New function. (cygwin_strncasecmp): New function. (cygwin_wcslwr): New function. (cygwin_wcsupr): New function. (cygwin_strlwr): New function. (cygwin_strupr): New function. * ntdll.h (RtlDowncaseUnicodeString): Declare. (RtlUpcaseUnicodeString): Declare. (RtlInt64ToHexUnicodeString): Fix typo in comment. * string.h: Disable not NLS aware implementations of strcasematch and strncasematch. (cygwin_strcasecmp): Declare. (strcasecmp): Define as cygwin_strcasecmp. (cygwin_strncasecmp): Declare. (strncasecmp): Define as cygwin_strncasecmp. (strcasematch):Define using cygwin_strcasecmp. (strncasematch):Define using cygwin_strncasecmp. (cygwin_strlwr): Declare. (strlwr): Define as cygwin_strlwr. (cygwin_strupr): Declare. (strupr): Define as cygwin_strupr. * wchar.h: New file. * wincap.cc (wincapc::init): Use "NT" as fix OS string. * winsup.h (strcasematch): Drop declaration. (strncasematch): Ditto. (strcasestr): Ditto.
* * fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix R/O bitCorinna Vinschen2007-12-112-4/+8
| | | | handling on filesystems without ACL support.
* * localtime.cc (tzset): Guard by a muto for thread safety.Corinna Vinschen2007-12-112-3/+13
|
* * cygheap.cc (_csbrk): Don't request zero bytes from VirtualAlloc,Dave Korn2007-12-112-1/+6
| | | | as windows treats that as an invalid parameter and returns an error.
* * localtime.cc (tzset): Call tzsetwall only if it hasn't beenCorinna Vinschen2007-12-112-1/+7
| | | | called before.
* * include/sys/cygwin.h: Include limits.h.Corinna Vinschen2007-12-072-0/+5
|
* * dcrt0.cc (initial_env): Use PATH_MAX instead of CYG_MAX_PATH for pathCorinna Vinschen2007-12-0611-23/+53
| | | | | | | | | | | | | | | | | | | | | | 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.
* * fhandler_tty.cc (fhandler_tty_slave::open): Use MAX_PATH instead ofCorinna Vinschen2007-12-053-11/+18
| | | | | | | | | | | | 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.
* * fhandler_registry.cc: Use NAME_MAX + 1 instead of CYG_MAX_PATHCorinna Vinschen2007-12-0510-22/+44
| | | | | | | | | | | | | | | | | | | | 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.
* Add missing ChangeLog entry.Corinna Vinschen2007-12-051-0/+8
|
* * fhandler_fifo.cc (fhandler_fifo::open): Use MAX_NAME for pipe nameCorinna Vinschen2007-12-042-14/+7
| | | | | | | 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.
* * autoload.cc (GetModuleFileNameExW): Replace definition ofCorinna Vinschen2007-12-034-16/+28
| | | | | | | | | | | | | | 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.
* * include/cygwin/time.h: Remove redundant #endif.Corinna Vinschen2007-12-032-1/+4
|
* * include/cygwin/time.h (daylight): Declare as extern symbol referringCorinna Vinschen2007-12-012-3/+11
| | | | | _daylight variable. (timezone): Only define if __timezonefunc__ is undefined.
* * Makefile.in (OBSOLETE_FUNCTIONS): Add timezone.Corinna Vinschen2007-12-013-8/+10
| | | | | * include/cygwin/time.h: Drop conditional timezone definitions. (timezone): Declare as extern symbol referring _timezone variable.
* * fhandler_tape.cc (mtinfo::initialize): Use MAX_PATH instead ofCorinna Vinschen2007-11-285-5/+15
| | | | | | | | | 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.
* * fhandler_socket.cc (fhandler_socket::recv_internal): Add MSG_WAITALLCorinna Vinschen2007-11-283-10/+54
| | | | | | | | 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.
* * posix_ipc.cc (ipc_names): Rename max_len to prefix_len. StoreCorinna Vinschen2007-11-272-20/+46
| | | | | | | | | | | | | | | 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.
* Drop old SetResourceLock stuff in favor of mutos.Corinna Vinschen2007-11-277-118/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * mmap.cc: Convert usage of dynamically growing cmalloced arrays toCorinna Vinschen2007-11-272-200/+176
| | | | | | | | | | | | | | | | | 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.
* Change many cygheap allocation routines to their *_abort analogs.Christopher Faylor2007-11-2620-80/+114
| | | | | | * cygheap.cc (cmalloc_abort): New function. (crealloc_abort): Ditto. (ccalloc_abort): Ditto.
* * cygheap.cc (_crealloc): Avoid memcpy when _cmalloc returns NULL.Christopher Faylor2007-11-232-2/+9
|
* revert premature checkinChristopher Faylor2007-11-081-49/+4
|
* revert premature checkinChristopher Faylor2007-11-084-67/+21
|
* * dllfixdbg: Eliminate extra objcopy step.Christopher Faylor2007-11-088-30/+121
|
* * dllfixdbg: Pass --only-keep-debug to objcopy, instead ofCorinna Vinschen2007-11-082-5/+8
| | | | selecting the sections manually.
* * thread.cc (pthread_key_create): Drop check for incoming valid object.Corinna Vinschen2007-11-062-5/+4
|