summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
...
* * path.cc (lnk_suffixes): Remove.Corinna Vinschen2001-03-143-21/+25
| | | | | | | | | | | | (class suffix_scan): Add `lnk_state' flag. (suffix_scan::lnk_match): Return state of `lnk_state' now. (suffix_scan::has): Changed behaviour if file has `.lnk' suffix. (suffix_scan::next): Set `lnk_state' where appropriate. (symlink_info::check): Fix a wrong `break'. * syscalls.cc (chown_worker): Change debug statement to reflect lchown fix. (lchown): Call chown_worker with `PC_SYM_NOFOLLOW' instead of `PC_SYM_IGNORE'.
* * fhandler.cc (fhandler_disk_file::fstat): Add correct modes toCorinna Vinschen2001-03-132-1/+6
| | | | symlinks when stat'ing on FAT or FAT32 file systems.
* Fix typoEgor Duda2001-03-131-2/+2
|
* * fhandler.h (fhandler_termios::fixup_after_exec): New function.Egor Duda2001-03-124-2/+18
| | | | | | | * fhandler.cc (fhandler_termios::fixup_after_fork): New function. Fixup output handle. * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output handle is now fixed up in fhandler_termios::fixup_after_fork().
* * fhandler.h (fhandler_termios::fhandler_termios): Enable fixupEgor Duda2001-03-123-2/+8
| | | | | | after fork. * fhandler_console.cc (fhandler_console::fhandler_console): Fixup after fork is now enabled in the base class constructor.
* * mkvers.sh: Include config.h so that DEBUGGING is correctly defined.Christopher Faylor2001-03-122-0/+5
|
* * spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process is not aChristopher Faylor2001-03-123-5/+11
| | | | cygwin process (suggested by Jason Gouger <cygwin@jason-gouger.com>).
* * child_info.h: Bump magic number for fork/exec/spawn.Christopher Faylor2001-03-112-1/+5
|
* Remove obvious brain freeze problem.Christopher Faylor2001-03-111-1/+1
|
* * autoload.cc (noload): Use proper method for multiline strings or newer gcc'sChristopher Faylor2001-03-115-167/+186
| | | | | | | | complain. * exceptions.cc (unused_sig_wrapper): Ditto. * fhandler.h (fhandler_base): Make get_io_handle and friends return self. * fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accomodate DEBUGGING flag to avoid spurious warnings when inheritance is set.
* * shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler warning.Christopher Faylor2001-03-106-40/+39
| | | | | | | | | | | | * exceptions.cc (setup_handler): Clarify debugging message. * sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test. It is handled by normal PROC_CLEARWAIT case. (wait_sig): Eliminate "dispatched" tracking. Remove __SIGCHILDSTOPPED test. Decrement counter again before jumping out of InterlockedDecrement loop so that subsequent InterlockedIncrement will keep the counter at the correctly decremented value and also detect when there are pending signals. * sigproc.h: Remove __SIGCHILDSTOPPED element. (procstuff): Remove PROC_CHILDSTOPPED element.
* * syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't existChristopher Faylor2001-03-103-3/+11
| | | | | (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). Also set EACCES when directory is not writable.
* * syscalls.cc (_read): Change definition to return ssize_t to be consistentChristopher Faylor2001-03-072-2/+9
| | | | | with read. (_write): Change definition to return ssize_t to be consistent with write.
* Update copyright.Christopher Faylor2001-03-072-2/+2
|
* * sigproc.h (sigthread): Declare new methods. Create new winapi_lock field.Christopher Faylor2001-03-074-3/+49
| | | | | | | | | | | (sigframe:;set): Call get_winapi_lock after frame is set so that signal handler thread knows not to call SuspendThread. (sigframe::~sigframe): Release winapi_lock. * exceptions.cc (sigthread::get_winapi_lock): New method. (sigthread::release_winapi_lock): New method. (setup_handler): Use get_winapi_lock to ensure that signalled thread is not blocked in a Windows API. * path.h (path_types): Avoid broken GCC warning.
* * path.cc (suffix_scan::has): Change order of conditionalsCorinna Vinschen2001-03-062-10/+15
| | | | to allow checking for .lnk suffixes even if in_suffixes is empty.
* * autoload.c (cygwin_premain0): Add missing parameter.Corinna Vinschen2001-03-067-4/+50
| | | | | | | | | | | | | | | | | | | | | | * binmode.c (cygwin_premain0): Ditto. * textmode.c (cygwin_premain0): Ditto. Patch contributed by Jason Tiller <jtiller@sjm.com> : * auto_load.cc: Add "GetKeyboardLayout" entry in the list of Win32 User32.DLL exports to provide. * fhandler.h (class fhandler_console): Add meta_mask private member to remember which keystroke modifiers should generate META. * fhandler_console.cc (fhandler_console::read): Modify code that tests a keystroke for a META-escaped key to use the 'meta_mask' variable. (fhandler_console::fhandler_console): Add definition for variable "meta_mask" used to determine if a keystroke should be preceded by META in the client console stream. Set meta_mask based on whether or not user's keyboard language is English - non-English keyboards pass AltGr (right <ALT>) unmolested, whereas English keyboards now interpret left- and right-<ALT> as META.
* * include/a.out.h: Add copyright hint.Corinna Vinschen2001-03-0548-0/+524
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/fcntl.h: Ditto. * include/lastlog.h: Ditto. * include/memory.h: Ditto. * include/mntent.h: Ditto. * include/paths.h: Ditto. * include/poll.h: Ditto. * include/syslog.h: Ditto. * include/termio.h: Ditto. * include/tzfile.h: Ditto. * include/arpa/inet.h: Ditto. * include/asm/byteorder.h: Ditto. * include/asm/socket.h: Ditto. * include/asm/types.h: Ditto. * include/cygwin/if.h: Ditto. * include/cygwin/mtio.h: Ditto. * include/cygwin/rdevio.h: Ditto. * include/cygwin/socket.h: Ditto. * include/net/if.h: Ditto. * include/netinet/in.h: Ditto. * include/netinet/in_systm.h: Ditto. * include/netinet/ip.h: Ditto. * include/netinet/ip_icmp.h: Ditto. * include/netinet/tcp.h: Ditto. * include/sys/cdefs.h: Ditto. * include/sys/cygwin.h: Ditto. * include/sys/ioctl.h: Ditto. * include/sys/mman.h: Ditto. * include/sys/mount.h: Ditto. * include/sys/mtio.h: Ditto. * include/sys/procfs.h: Ditto. * include/sys/resource.h: Ditto. * include/sys/smallprint.h: Ditto. * include/sys/socket.h: Ditto. * include/sys/strace.h: Ditto. * include/sys/syslog.h: Ditto. * include/sys/sysmacros.h: Ditto. * include/sys/termio.h: Ditto. * include/sys/termios.h: Ditto. * include/sys/uio.h: Ditto. * include/sys/un.h: Ditto. * include/sys/utsname.h: Ditto. * include/sys/vfs.h: Ditto. * include/sys/wait.h: Ditto. * regexp/regerror.c: Ditto. * regexp/regexp.h: Ditto. * regexp/regmagic.h: Ditto.
* * dlopen.c (dlopen): Return NULL when name is NULL (suggested byChristopher Faylor2001-03-0528-147/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | chrisiasci@aol.com). * cygwin.din: Add a new, internally used export - _check_for_executable. * dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries. Pass user_data to premain functions. * fhandler.cc (fhandler_disk_file::open): Only check for executable if the linked program is intereested in the executable bit. (fhandler_disk_file::check_execable_p): Delete. * fhandler.h (executable_states): New enumeration of various states of executable bit caring. (fhandler_base::set_execable_p): New method. * fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal has been sent to the tty. Return -1 when this is so. * fhandler_console.cc (fhandler_console::read): Return -1 when signal sending character encountered. * path.cc (path_conv::check): Record when path refers to a disk device. Move executable extension check here. (check_sysfile): Accomodate new EXEC path states. (has_suffix): Remove. (next_suffix): Remove. (class suffix_scan): New clas. (suffix_scan::has): New method. (suffix_scan:next): New method. (symlink_info::check): Use suffix_scan method to control for scanning for suffixes. * path.h (path_conv::exec_state): New method. * perprocess.h: Make "C" friendly. * include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC. Bump CYGWIN_VERSION_API_MINOR. * include/sys/cygwin.h: Change premain declarations. * winsup.h: Move __cplusplus test to after builtin defines.
* * fhandler.h (class fhandler_tty_common): New mutex and event toEgor Duda2001-03-045-68/+188
| | | | | | | | | | | | | | | | | | syncronize input on master tty with slave tty. * fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to syncronize with slave. * fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and event to syncronize with master. Do not limit amount of data read from master to vmin value. Interrupt on signal and return already read data, if any. * fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and event. * fhandler_tty.cc (fhandler_tty_common::close): Ditto. * fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto. * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto. * fhandler_tty.cc (fhandler_tty_common::dup): Ditto. * tty.h (tty::open_input_mutex): New function. * tty.cc (tty::common_init): Create input mutex and event.
* *** empty log message ***Christopher Faylor2001-03-035-171/+171
|
* * dir.cc (readdir): Fix creating path in symlink check.Corinna Vinschen2001-03-022-1/+5
|
* * dir.cc (readdir): Fix shortcut==symlink condition.Corinna Vinschen2001-03-026-89/+141
| | | | | | | | | | | | | * environ.cc: Add extern decl for `allow_winsymlinks'. (struct parse_thing): Add entry for `[no]winsymlinks'. * path.cc (symlink): Change to be able to create both, symlink==shortcut and symlink==systemfile, dependent of the setting of `allow_winsymlinks'. * security.cc (cygwin_logon_user): Add debug output. * shortcut.c: Add defines from path.h. (has_exec_chars): Copy from path.h. (check_shortcut): Check for executable file condition if not a shortcut.
* * exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a process ifChristopher Faylor2001-03-022-0/+9
| | | | started by non-cygwin parent.
* * select.cc (peek_console): Don't report read_ready on mouse events unless weChristopher Faylor2001-03-023-1/+11
| | | | | are looking for mouse events. * fhandler.h (fhandler_console::mouse_aware): New method.
* * uinfo.cc: Eliminate `#include <wchar.h>'.Corinna Vinschen2001-02-282-1/+4
|
* * fhandler_floppy.cc (fhandler_dev_floppy::lseek): DetermineEgor Duda2001-02-282-47/+91
| | | | | | drive geometry or partition size to allow seeking from the end of raw floppy device. Don't allow positioning past the end of media or to offsets bigger then max off_t.
* * fhandler.h (class fhandler_console): Make all variables thatEgor Duda2001-02-273-95/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | describe "state" of console to be members of fhandler_console. default_color is now the color which is set when console recieves reset command. * fhandler_console.cc (fhandler_console::fhandler_console): Turn mouse handling and raw keyboard mode off by default. Initialize state information. * fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New function. * fhandler_console.cc (fhandler_console::set_default_attr): New function. Reset console attributes to default values. * fhandler_console.cc (fhandler_console::open): Reset attributes. * fhandler_console.cc (fhandler_console::get_win32_attr): New function. Calculate win32-style console attribute based on terminal attributes. * fhandler_console.cc (fhandler_console::set_cursor_maybe): Use member variable. * fhandler_console.cc (fhandler_console::read): If in raw-win32 keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK sequences. * fhandler_console.cc (fhandler_console::dup): Copy all state information to the dup()ed handle. * fhandler_console.cc (fhandler_console::scroll_screen): Use current fill-in attribute. * fhandler_console.cc (fhandler_console::clear_screen): Ditto. * fhandler_console.cc (fhandler_console::char_command): Check if we saw '?' symbol by member variable. Set terminal attributes on \033[Xm commands. \033[24m - turn off underline mode, \033[27m - turn off reverse mode, \033[39m - restore default foreground color. \033[49m - restore default background color. \033[2000h - turn on raw keyboard mode, \033[2000l - turn off raw keyboard mode. * fhandler_console.cc (fhandler_console::write): Set attribues to default values on reset command.
* * times.cc (settimeofday): Replace function stub with working code.Christopher Faylor2001-02-262-3/+27
|
* * strace.cc (strace::vprntf): Move prntf functionality to this functionCorinna Vinschen2001-02-263-4/+50
| | | | | | | | | adding an va_list interface to strace. (strace::printf): Calls strace::vprntf now. (strace_printf): New function providing an extern "C" interface to trace output. * include/sys/strace.h: Make plain C clean. (class strace): Add `vprntf' method.
* * shortcut.c: Remove #include <sys/strace.h>.Corinna Vinschen2001-02-252-1/+4
|
* * path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.Corinna Vinschen2001-02-252-6/+10
|
* * shortcut.c: Change symlink condition.Corinna Vinschen2001-02-252-2/+7
|
* * mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.Corinna Vinschen2001-02-233-3/+8
| | | | * fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
* * path.cc (symlink): Keep relative paths relative in the DOSCorinna Vinschen2001-02-222-11/+14
| | | | | path inside of a shortcut. If that's impossible or the target path is already absolute save an absolute path.
* * path.cc (symlink): Keep relative paths relative in the DOSCorinna Vinschen2001-02-222-4/+39
| | | | | path inside of a shortcut. If that's impossible for some reason, save an absolute path.
* * cygerrno.h: Revert previous patch.Corinna Vinschen2001-02-229-71/+72
| | | | | | | | | | | | | | | | | | | | | | * errno.cc: Ditto. * dir.cc: Eliminate `dir_suffixes'. (opendir): Remove usage of `dir_suffixes'. (rmdir): Ditto. * fhandler.cc (fhandler_disk_file::open): Remove usage of `inner_suffixes'. * path.cc: Rename `inner_suffixes' to `lnk_suffixes'. (path_conv::check): Remove usage of `inner_suffixes'. (symlink): Ditto. (symlink_info::check): Handle checking for `.lnk' in path_conv exclusively here. (chdir): Remove usage of `dir_suffixes'. * shortcut.c: Eliminate debug_printf lines. (check_shortcut): Don't set error except on failing ReadFile. * spawn.cc: Remove ".lnk" from `std_suffixes'. * syscalls.cc (_unlink): Remove usage of `inner_suffixes'. Remove ".lnk" from `stat_suffixes'. (_rename): Add check for renaming a symlink to keep the ".lnk" suffix after renaming.
* * shortcut.c: New file. Provides a C interface to reading ofCorinna Vinschen2001-02-227-168/+253
| | | | | | | | | | | | | | | | | | | | Windows shortcuts to avoid compiler flag `-fvtable-thunks'. * shortcut.h: Ditto. * Makefile.in: Add shortcut.o to DLL_OFILES. * cygerrno.h: Provide a C interface to `geterrno_from_win_error' for using in shortcut.c. * errno.cc (geterrno_from_win_error): Define as extern "C". * path.cc (struct symlink_info): Remove methods `check_shortcut' and `check_sysfile'. (shortcut_header): Move to shortcut.c. (shortcut_initalized): Ditto. (create_shortcut_header): Ditto. (cmp_shortcut_header): Ditto. (symlink_info::check_shortcut): Ditto. Reorganize as a plain C function. (symlink_info::check_sysfile): Redefine as a global function using the same parameter list as `check_shortcut' for clearness. (symlink_info::check): Change parameter list for calls to `check_shortcut' and `check_sysfile'.
* * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' whenCorinna Vinschen2001-02-223-2/+10
| | | | | resolving real_path. * path.cc (symlink): Ditto for win32_topath.
* Add copyright year 2001Corinna Vinschen2001-02-216-7/+7
|
* * Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.Corinna Vinschen2001-02-219-70/+403
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * autoload.cc: Add LoadDLLinitfunc for ole32.dll. Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0 and CoCreateInstance@20. * dir.cc (dir_suffixes): New datastructure. (readdir): Check for R/O *.lnk files to hide the suffix. (opendir): Use `dir_suffixes' in path conversion. (rmdir): Ditto. * fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY into account only if the file is no symlink. * path.cc (inner_suffixes): New datastructure. (SYMLINKATTR): Eliminated. (path_conv::check): Use `inner_suffixes' on inner path components. (shortcut_header): New global static variable. (shortcut_initalized): Ditto. (create_shortcut_header): New function. (cmp_shortcut_header): Ditto. (symlink): Create symlinks by creating windows shortcuts. Preserve the old code. (symlink_info::check_shortcut): New method. (symlink_info::check_sysfile): Ditto. (symlink_info::check): Check for shortcuts. Move code reading old system attribute symlinks into symlink_info::check_sysfile(). (chdir): Use `dir_suffixes' in path conversion. * security.cc (get_file_attribute): Check for S_IFLNK flag. Force 0777 permissions then. * spawn.cc (std_suffixes): Add ".lnk" suffix. * syscalls.cc (_unlink): Use `inner_suffixes' in path conversion. Check for shortcut symlinks to eliminate R/O attribute before calling DeleteFile(). (stat_suffixes): Add ".lnk" suffix. (stat_worker): Force 0777 permissions if file is a symlink.
* * sigproc.cc (getsem): Make semaphore always non-inheritable.Egor Duda2001-02-212-1/+5
|
* * dcrt0.cc (locale_init): Remove.Christopher Faylor2001-02-202-3/+4
|
* * cygwin.din: Export rand48 functions.Christopher Faylor2001-02-205-10/+33
| | | | | | * thread.cc (MTinterface::Init): Remove the initialization of `reent_data'. * dcrt0.cc: Add the initalizer to the declaration of `reent_data'. * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35.
* * signal.cc (signal): Prohibit setting handlers for SIGKILL and SIGSTOPEgor Duda2001-02-163-3/+15
| | | | | * signal.cc (sigaction): Ditto * syscalls.cc (_lseek): Return EINVAL on invalid input
* * dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when theChristopher Faylor2001-02-142-1/+7
| | | | library is not found
* * fhandler_console.cc (fhandler_console::char_command): Ignore unknownChristopher Faylor2001-02-142-7/+5
| | | | rendition codes in \033[xx;yym control sequences
* * fork.cc (fork_parent): Return EAGAIN when can't record pid.Christopher Faylor2001-02-104-6/+26
| | | | | * pinfo.h (pinfo::remember): Return value of call to proc_subproc. * sigproc.cc (proc_subproc): Return error if can't record pid.
* * syscalls.cc (mknod): Add valid parameters.Christopher Faylor2001-02-092-1/+5
|
* * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHAREDCorinna Vinschen2001-02-082-2/+8
| | | | and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.