Commit Graph

1332 Commits

Author SHA1 Message Date
Christopher Faylor 351a85482c Christopher Faylor <cgf@cygnus.com>
* cygwin.din: Export __signgam.
* include/cygwin/version.h: Bump minor version number.
2001-07-26 20:42:52 +00:00
Christopher Faylor 6b91b8d53b Throughout, reorganize header file inclusion to put security.h prior to
fhandler.h.
* fhandler.h (fhandler_base::get_inheritance): New method.
* fhandler_socket.cc (fhandler_socket::create_secret_event): Use proper
close-on-exec inheritance when creating.
(fhandler_socket::check_peer_secret_event): Create handle as non-inheritable.
2001-07-26 19:22:24 +00:00
Christopher Faylor 0cc642a5f1 * syscalls.cc (setsid): Detach process from its console if the current
controlling tty is the console and already closed.
* dtable.h (class dtable): Add members to count descriptors referring to the
console.
* dtable.cc (dtable::dec_console_fds): New function to detach process from its
console.
(dtable::release): Decrement the counter of console descriptors.
(dtable::build_fhandler): Increment it.
* exception.cc (ctrl_c_handler): Send SIGTERM to myself when catch
CTRL_SHUTDOWN_EVENT.
2001-07-26 00:10:52 +00:00
Robert Collins 811bf2902d Tue 24 Jul 2001 02:28:00 PM Trevor Forbes <t4bs@hotmail.com>
* thread.cc (verifyable_object_isvalid): Don't validate
	PTHREAD_MUTEX_INITIALIZER pointer as it will cause an exception
	in IsBadWritePtr() when running GDB.
2001-07-25 23:46:25 +00:00
Corinna Vinschen 09ff05f7f9 * localtime.c: Changed whole file to become C++ clean. Rename to
localtime.cc.
        * localtime.cc (tzload): Preserve errno.
2001-07-25 21:58:21 +00:00
Christopher Faylor a7670c1e82 * cygheap.cc (cygheap_fixup_in_child): Attempt Win95 workaround.
* dtable.cc (dtable::dup_worker): Add debugging output.
(dtable::vfork_child_dup): Correctly set close_on_exec.
* fhandler.cc (fhandler_base::fork_fixup): Don't mess with handle if there is
no need to get it from the parent.
* fhandler_tty.cc (fhandler_tty_common::close): Add debugging output.
2001-07-21 03:20:01 +00:00
Corinna Vinschen 1801eae1b1 * dir.cc (readdir): Protect FindNextFileA against INVALID_HANDLE_VALUE. 2001-07-20 07:24:02 +00:00
Christopher Faylor aea57aa057 fix typo. 2001-07-19 15:27:59 +00:00
Christopher Faylor 16828fc5d4 * cygheap.cc (_cmalloc): Use correct constants for size calculation.
* dcrt0.cc (dll_crt0_1): Move uid initialization earlier.
* fork.cc (fork_parent): Move cygheap_setup_in_child to just prior to
CreateProcess so that all contents of cygheap are copied.
* spawn.cc (spawn_guts): Ditto.
2001-07-18 17:05:34 +00:00
Corinna Vinschen c9fbce2641 * security.cc (get_user_groups): Call Net function with NULL server
name under specific error conditions.
        (is_group_member): Ditto.
        (get_user_local_groups): Ditto.
        (get_user_primary_group): Ditto.
2001-07-18 12:56:26 +00:00
Corinna Vinschen 5564cd7a89 * syscalls.cc (_unlink): Explicitely check for non-existant file. 2001-07-18 11:00:05 +00:00
Corinna Vinschen 3ef6288c74 * delqueue.h: Remove obsolete file. 2001-07-17 08:28:27 +00:00
Christopher Faylor 5457dfcb81 * child_info.h: Bump magic number.
(class child_info): Add an element.
* cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area.
(cygheap_fixup_in_child): Map cygwin heap, passed from parent via shared memory
into correct address.
(cygheap_setup_for_child): New function.
* cygheap.h: Declare new functions.
* dcrt0.cc (dll_crt0_1): Accomodate new cygheap_fixup_in_child arguments.
Avoid protecting subproc_ready unless it is spawn/nowait.
* fork.cc (fork_parent): Use new cygheap_setup_for_child function to setup
cygwin heap info.  Close passed cygheap shared memory handle.
* spawn.cc (spawn_guts): Ditto.  Also, reorganize to avoid synchronization
between parent and child in non-P_OVERLAY case.
* sigproc.cc (wait_sig): Only signal subproc_ready when execing.
2001-07-17 03:41:52 +00:00
Corinna Vinschen 27ea31cde4 * grp.cc: Add missing Copyright date 2001. 2001-07-16 13:22:29 +00:00
Corinna Vinschen 3a157c0d0d Change well_known_admin_sid to well_known_admins_sid throughout.
* sec_acl.cc (setacl): Never set DELETE permission. Set
        FILE_DELETE_CHILD only on readable and executable directories.
        * sec_helper.cc: Add constructor for `well_known_null_sid'.
        * security.cc (get_nt_attribute): Set S_ISVTX for directories if
        FILE_WRITE_DATA and FILE_EXECUTE but not FILE_DELETE_CHILD is set.
        Add evaluation of S_ISVTX, S_ISGID and S_ISUID from NULL ACE.
        (alloc_sd): Never set DELETE permission. Set FILE_DELETE_CHILD
        only on readable and executable directories.
        Add creation of NULL ACE for S_ISVTX, S_ISGID and S_ISUID permissions.
        * security.h: Add extern declaration for `well_known_null_sid'.
2001-07-15 22:40:07 +00:00
Corinna Vinschen 4c61c04cd3 * regtool.cc (find_key): Handle keys with only one subkey. 2001-07-15 11:27:23 +00:00
Christopher Faylor fc901253d1 * syscalls.cc (stat_worker): Simplify previous change. 2001-07-14 00:09:33 +00:00
Christopher Faylor 2aa2adb2d2 * syscalls.cc (_unlink): Correct (?) logic which determines when to report an
access violation and when to queue file for eventual deletion.
(stat_worker): Check for invalid buf argument.
2001-07-13 17:22:15 +00:00
Corinna Vinschen 8595942c8e * mmap.cc (fhandler_disk_file::mmap): Try to open file mappings
by a unified name when running under 9x/ME. If that failes, create
        the file mapping using the unified name.
2001-07-10 21:04:14 +00:00
Corinna Vinschen a8506a1917 * uinfo.cc (internal_getlogin): Add pointer check. 2001-07-09 09:05:17 +00:00
Corinna Vinschen 5d0cbc17db * security.cc (alloc_sd): Don't set inheritance attribute for
permissions given to directories.
2001-07-09 09:02:41 +00:00
David Starks-Browning a761b473ad WinME also affected by missing pipe key 2001-07-06 00:57:52 +00:00
David Starks-Browning a79001009b New entry "Why doesn't Cygwin tcl/tk understand Cygwin paths?" 2001-07-06 00:40:38 +00:00
David Starks-Browning 25c06979ef New entry: "Why don't international (8-bit) characters work?" 2001-07-06 00:30:23 +00:00
David Starks-Browning 0acab04bbe New "Known Problems" entry: Pipe key doesn't work on non-US kbds on Win9x.
Some cosmetic changes.
2001-07-06 00:16:13 +00:00
David Starks-Browning 9fbb1738c4 better instructions for installing cygwin snapshots 2001-07-05 23:58:34 +00:00
David Starks-Browning 3f5ab6915c New entry "Where is the su command?" 2001-07-05 23:29:43 +00:00
David Starks-Browning c3ac95e258 "How do I rebuild the tools on my NT box?": texi2html now provided. 2001-07-04 23:36:16 +00:00
David Starks-Browning 0ef44b84e6 "Why the weird directory structure?": new mount output format.
"Why can't I run bash as a shell under NT Emacs?": new title.
2001-07-04 23:30:17 +00:00
David Starks-Browning 7414c97eb3 Update "Can I use setup to install snapshots?" (now 'no') with new instructions. 2001-07-04 23:21:49 +00:00
David Starks-Browning d3f2880903 Add caveat that contents list is always out of date.
Remove entry "Setup screwed up my mounts!"
2001-07-04 23:00:31 +00:00
David Starks-Browning a43d0f3e07 just a bit more... 2001-07-04 22:54:16 +00:00
David Starks-Browning 7b49219617 Add more to entry "How do I print under Cygwin"? 2001-07-04 22:52:58 +00:00
David Starks-Browning f215088f81 Add apropos and /usr/sbin/makewhatis to "Why doesn't man work?" entry. 2001-07-04 21:14:41 +00:00
Christopher Faylor 2113bf6c1a * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Return 0 for success. 2001-06-29 02:20:01 +00:00
Christopher Faylor 288f125efd * regtool.cc (find_key): Revert previous change. 2001-06-28 02:46:11 +00:00
Christopher Faylor 7a4078ee34 Change check_null_empty_path* to check_null_empty_str* throughout.
* path.cc (path_conv::check): Add signal protection here since retrieving info
about remote shares can take some time.
* path.h (check_null_empty_str_errno): Convert to a function prototype.
* path.cc (check_null_empty_str): Move to miscfuncs.cc.
* miscfuncs.cc (check_null_empty_str_errno): New function.
(__check_null_invalid_struct): Ditto.
(__check_null_invalid_struct_errno): Ditto.
(check_null_empty_str): Change from VirtualQuery to IsBadWritePtr.
* thread.cc (check_valid_pointer): Ditto.
* resource.cc (getrlimit): Use check_null_invalid_struct macro for checking
validity of pointer.
(setrlimit): Ditto.
2001-06-28 02:19:57 +00:00
Christopher Faylor c135faa8b3 * regtool.cc (find_key): Allow '/' as a synonym for '\\'. 2001-06-27 17:38:40 +00:00
Christopher Faylor 07c3cd5bb1 * fhandler.cc (fhandler_disk_file::fstat): Don't rely on exactly 3 characters
being read for executable test since we could be checking for less than that.
* syscalls.cc (stat_worker): Try opening the file the "correct" way first so
that #! processing can potentially happen.  If that fails, then use "query
open" method.
* spawn.cc (spawn_guts): Delay processing of signal until after we've notified
parent about reparenting.
2001-06-26 21:03:08 +00:00
Christopher Faylor 32c3034969 Remove trailing tabs. 2001-06-26 14:57:33 +00:00
Christopher Faylor 462f4effb1 * mmap.cc: Clean up *ResourceLock calls throughout.
* thread.cc (pthread_cond::TimedWait): Check for WAIT_TIMEOUT as well as
WAIT_ABANDONED.
(__pthread_cond_timedwait): Calculate a relative wait from the abstime
parameter.
2001-06-26 14:47:48 +00:00
Christopher Faylor d006404dae forced commit 2001-06-24 22:26:53 +00:00
Christopher Faylor 7333875c53 Fix typo 2001-06-24 22:00:04 +00:00
Christopher Faylor 125205875b * exceptions.cc (interrupt_setup): Move actions from setup_handler to here.
(setup_handler): Move actions after a successful interrupt to interrupt_setup.
* fork.cc (vfork): Augment debugging output.
* sigproc.cc (proc_subproc): Ditto.
* spawn.cc (spawn_guts): Ditto.  Correctly fill out progname when spawn
NO_WAIT.  Call signal handler when a signal arrives.
* sigproc.h: Declare a function.
2001-06-24 21:57:50 +00:00
Corinna Vinschen 50b1264871 * fhandler.h class fhandler_socket): Declare new method
`set_close_on_exec'.
        * fhandler_socket.cc (fhandler_socket::set_close_on_exec):
        New method.
2001-06-22 20:53:45 +00:00
Corinna Vinschen 3b295174e3 * fhandler_tape.cc (fhandler_dev_tape::tape_erase): Set size
parameter to value expected by GetTapeParameters().
2001-06-22 20:13:00 +00:00
Corinna Vinschen 26da27a5f6 * fhandler_console.cc (fhandler_console::read): Detect AltGr more
robustly on WinNT.
2001-06-22 20:08:06 +00:00
Robert Collins b643afa4c7 2001-06-22 Robert Collins rbtcollins@hotmail.com
* thread.cc (__pthread_cond_timedwait): Lock the waiting mutex before
	the condition protect mutex to avoid deadlocking. (Found by Greg Smith).
	(__pthread_cond_wait): Ditto.
2001-06-21 22:27:20 +00:00
Egor Duda 9cc97acbd0 * fhandler.cc (fhandler_base::open): Work around windows bug when
CreateFile() with dwDesiredAccess == 0 called on remote share returns
valid handle even if file doesn't exist.
2001-06-20 07:44:33 +00:00
Egor Duda ae036f47c5 * fhandler_socket.cc (fhandler_socket::signal_secret_event): New
function.
* fhandler.h: Declare it.
* fhandler_socket.cc (fhandler_socket::create_secret_event): Don't
signal secret event immediately.
(fhandler_socket::check_peer_secret_event): Do it after peer event
was opened.
* net.cc (cygwin_connect): Or if socket is non-blocking.
(cygwin_accept): Ditto.
2001-06-20 06:50:13 +00:00
Earnie Boyd 4abaaac33c * lib/kernel32.def: Add LanguageGroup and UILanguage symbols.
Thanks to Kevin Chase <kevincha99@hotmail.com>.
2001-06-19 13:49:40 +00:00
Christopher Faylor 20a2c44362 * fhandler_tty.cc (fhandler_tty_slave::init): Revert 2001-06-16 change.
* fork.cc (fork_copy): Print more debugging info.
(fork_parent): Change order of arguments to accomdate buggy gcc.
(fork): Ditto.
* syscalls.cc (_unlink): Reorganize to try harder to delete file with
DeleteFile and to recover more gracefully if FILE_FLAG_DELETE_ON_CLOSE doesn't
work properly.
2001-06-18 21:18:59 +00:00
Christopher Faylor 36623e6535 Remove blank line. 2001-06-18 01:41:08 +00:00
Christopher Faylor 99a5bd2fab * exceptions.cc (sig_handle_tty_stop): Reset PID_STOPPED if not actually
stopping.
* fhandler_console.cc (fhandler_console::fixup_after_fork): Don't set
controlling terminal if just inheriting a handle.
(fhandler_console::fixup_after_exec): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
* signal.cc (kill_worker): Set appropriate errno if proc_exists determines that
process does not really exist.
2001-06-16 17:09:19 +00:00
Christopher Faylor 947ab99ee9 * path.cc (path_conv::check): Deal more robustly with foo/ behavior. 2001-06-15 20:35:51 +00:00
Corinna Vinschen 4d52d5b0fb * fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size
parameter to value expected by GetTapeParameters().
2001-06-15 09:17:10 +00:00
Christopher Faylor 12a9c87480 * mkpasswd.c (main): Output passwd file in binary mode so that there are no CRs
in the file.
* umount.cc (remove_all_user_mounts): Don't try to remove /cygdrive mounts.
2001-06-15 04:50:57 +00:00
Christopher Faylor e8d6e78f34 * fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits for
directory when !ntsec && !ntea.  Also move common code prior to call to
get_attributes.
2001-06-15 00:21:06 +00:00
Christopher Faylor 47132198ad * thread.cc (pthread_cond::Signal): Release the condition access variable
correctly.
2001-06-14 23:53:27 +00:00
Egor Duda 96d95e535e * fhandler.cc (fhandler_base::open): Set win32 access flags
to 0, when requested.
* fhandler.h: New status flag FH_QUERYOPEN.
(fhandler::get_query_open): New function.
(fhandler::set_query_open): Ditto.
* syscalls.cc (stat_worker): Request query-only open mode.
2001-06-14 18:21:17 +00:00
David Starks-Browning c66261a731 Remove reference to Cygnus. 2001-06-14 08:43:42 +00:00
David Starks-Browning f87da0d4f3 teeny tiny typo 2001-06-14 08:38:24 +00:00
Christopher Faylor 340d35ad0b * who.texinfo: Oops. Add a couple of important folk. 2001-06-13 17:54:55 +00:00
Christopher Faylor 40ec4c5cdb * who.texinfo: Remove email addresses. Modernize. 2001-06-13 17:50:25 +00:00
Egor Duda 4c15b7aba0 * environ.cc (set_file_api_mode): New function. Move setting
of file APIs mode (OEM/ANSI) here.
(codepage_init): From here.
* winsup.h (set_file_api_mode): Declare it.
* fork.cc (fork_child): Set file APIs mode in forkee.
2001-06-12 11:31:05 +00:00
Earnie Boyd 66a7fbe263 * objidl.h (IMalloc::ReAlloc()): Correct declaration.
(IMalloc::Free()): Ditto.
2001-06-11 20:06:54 +00:00
Earnie Boyd 13a01ce06a * include/shlobj.h (REGSTR_PATH_EXPLORER): Unicode it.
(REGSTR_PATH_SPECIAL_FOLDERS): Ditto.
	* include/regstr.h (REGSTR_PATH_EXPLORER): Add #ifndef guard.
2001-06-11 19:18:52 +00:00
Earnie Boyd a1dd161b72 * profile/configure.in: Make msvcrt.dll version default.
* profile/makefile.in: Build both gcrt1.o and gcrt2.o.
	* provile/configure: Regenerate.
2001-06-11 18:57:39 +00:00
Earnie Boyd 05763a593c * include/shlobj.h (struct _browseinfo): UNICODE it.
(SHBrowseForFolder): Ditto.
	(SHGetPathFromIDList): Ditto.
2001-06-11 18:28:19 +00:00
Christopher Faylor f569bfcfb2 Add missing entry. 2001-06-11 18:20:53 +00:00
Earnie Boyd 37fb7a2ccb * include/stdio.h (swscanf): Make first arugument const.
* include/wchar.h (swscanf): Ditto.
	* include/tchar.h (_tfopen): New _UNICODE define.
	(_tgetenv): Ditto.
	(_tsetlocale): Ditto.
2001-06-11 18:13:15 +00:00
Christopher Faylor 3ecfcf5715 * pinfo.cc: Use autoloaded ToolHelp functions throughout for Win9x.
* autoload.cc: Autoload ToolHelp functions.
2001-06-11 17:57:10 +00:00
Earnie Boyd a179327987 * include/basetsd.h: RC_INVOKED protection and realignment.
Thanks to: Colin Peters <colinpeters@users.sourceforge.net>
2001-06-11 17:29:54 +00:00
Christopher Faylor f375b8d9f4 * path.cc (chdir): Fix call to path_conv constructor so that it REALLY doesn't
check for the null/non-empty path.
2001-06-11 15:20:49 +00:00
Christopher Faylor fc633b63a2 * path.cc (path_conv::update_fs_info): Don't consider remote drives to be NTFS.
Set root_dir before invoking GetDriveType (from Kazuhiro Fujieda
<fujieda@jaist.ac.jp>).  Eliminate extra checks for rootdir.
2001-06-11 03:38:32 +00:00
Christopher Faylor 02782489a9 * path.cc (chdir): Pre-check path for validity before eating trailing space.
Then, ensure that path_conv doesn't check the path for validity again.
2001-06-11 00:24:28 +00:00
Christopher Faylor 161edfaa00 * exceptions.cc (sigdelayed): Ensure that signal is cleared as the last
operation or suffer races.
* sigproc.cc (proc_subproc): Deal with zombie array overflow.
2001-06-10 16:00:23 +00:00
Corinna Vinschen 463513f0e2 * cygwin.din: Add fchdir symbols.
* path.cc (chdir): Guard against invalid parameter.
         (fchdir): New function.
         * include/cygwin/version.h: Bump API minor version to 40.
         * uinfo.cc (internal_getlogin): Remove unused variable.
2001-06-10 10:00:21 +00:00
Corinna Vinschen d4217d5680 * syscalls.cc (seteuid): Set environment variables USERNAME and
USERDOMAIN before impersonation to workaround a LookupAccountSid()
        misbehaviour.
        * uinfo.cc (internal_getlogin): Revert most of the previous change.
        Don't set environment variables USERNAME and USERDOMAIN. That's
        the job of seteuid() now. Try to get logon server from Lsa
        only if logon server isn't already known.
2001-06-09 21:25:55 +00:00
Christopher Faylor 5691881058 * thread.cc (pthread_cond::Broadcast): Don't print error messages on invalid
mutexs - user programs are allowed to call pthread_cond_broadcast like that.
(__pthread_cond_timedwait): Initialise themutex properly.
(__pthread_cond_wait): Initialise themutex properly.
2001-06-07 19:55:06 +00:00
Earnie Boyd 5a2f66ab43 * Makefile.in (bindist): Reassign value of exec_prefix on make command
line.
2001-06-06 19:02:59 +00:00
Corinna Vinschen 235661a37f * fhandler_console.cc (fhandler_console::dup): Allocate space for
savebuf on Cygwin heap.
        (fhandler_console::char_command): Ditto. Use correct values for size.
2001-06-05 17:59:46 +00:00
Egor Duda 149da470f3 * security.h (NTWriteEA): Change prototype.
* ntea.cc (NTReadEA): Don't check for global ntea setting, now
it's caller responsibility.
(NTWriteEA): Ditto.
* security.cc (get_file_attribute): Read attribute from EA only
if 'ntea' is enabled.
(set_file_attribute): Ditto.
* path.h: (class path_conv): Add members to store file system
information.
(path_conv::get_drive_type): New function.
* syscalls.cc (stat_worker): Use it.
* path.cc (path_conv::update_fs_info): New functions.
(path_conv::check): Get file system information from device where
file resides. On NTFS, try to read symlink contents from EA.
(get_symlink_ea): New function.
(set_symlink_ea): Ditto.
(symlink): Store symlink in extended attribute, if possible.
2001-06-05 10:45:52 +00:00
Corinna Vinschen fa821be37b * fhandler.cc (fhandler_disk_file::fstat): Always reset file position
to original value after checking for executable magic.
2001-06-05 09:21:39 +00:00
Earnie Boyd 2c1296f856 * profile/Makefile.in (mkinstalldirs): Correct relative path. 2001-06-04 20:45:30 +00:00
Earnie Boyd 4c4db90d7e * include/_mingw.h: Change version to 1.0.
Makefile.in: Ditto.
2001-06-04 20:01:10 +00:00
Corinna Vinschen f7fa593d6b * cygheap.h (cygheap_user::cygheap_user): Initialize token to
INVALID_HANDLE_VALUE.
        * uinfo.cc (uinfo_init): Close token handle if needed.
2001-06-04 14:29:54 +00:00
Christopher Faylor ac5561f2ed * path.cc (normalize_posix_path): Revert .. check removed by previous changes.
* cygheap.h: Temporarily declare path_prefix_p here.
2001-06-04 01:28:09 +00:00
Corinna Vinschen 9f13167f77 * net.cc (wsock_event): Add destructor. 2001-06-03 22:18:19 +00:00
Christopher Faylor aa7a61121e * dlfcn.cc (dlclose): Do not call FreeLibrary if the symbol to close was
obtained by dlopen(NULL,...).
2001-06-03 14:13:12 +00:00
Christopher Faylor 77d130214c * syscalls.cc (sleep): Try to be a little more accomodating of signal arrival.
Ensure that the signal handler is called.
2001-06-03 03:13:14 +00:00
Christopher Faylor 7ceb1cac3a * cygheap.cc (cygheap_root::cygheap_rot): Remove constructor.
(cygheap_root::~cygheap_root): Remove destructor.
(cygheap_root::operator =): Remove.
(cygheap_root::set): New method.
* cygheap.h (cygheap_root): Reflect above changes.  Store root info in
mount-like structure.
(cygheap_root:posix_ok): New method.
(cygheap_root::ischroot_native): Ditto.
(cygheap_root::unchroot): Ditto.
(cygheap_root::exists): Ditto.
(cygheap_root::posix_length): Ditto.
(cygheap_root::posix_path): Ditto.
(cygheap_root::native_length): Ditto.
(cygheap_root::native_path): Ditto.
* dir.cc (opendir): Remove special chroot test.
* path.cc (path_prefix_p): Remove front end.
(normalize_posix_path): Reorganize chroot tests to accomodate new convention of
allowing paths using posix chroot prefix.
(path_conv::check): Pass a "already ran normalize" option to
conv_to_win32_path.  Return if there is an error from this function.
(mount_info::conv_to_win32_path): Add extra argument.  Don't call
normalize_posix_path if caller has already done so.  Substitute chroot setting,
if any, for root translation.  Add chroot checking to final output step.
* shared_info (mount_info): Accomodate additional argument to
conv_to_win32_path.
* syscalls.cc (chroot): Store both normalized posix path and native path in
chroot.
2001-06-03 02:31:16 +00:00
Christopher Faylor bb8251474c * path.cc (chdir): Really make sure that isspace gets only an unsigned char. 2001-06-01 14:57:52 +00:00
Corinna Vinschen bc28fe9599 * syscalls.cc (_rename): Handle the case that `foo' is renamed to
`bar' while `bar.lnk' is an existing shortcut-symlink.
2001-06-01 11:53:20 +00:00
Christopher Faylor 9e3b6f5411 revert. 2001-06-01 01:45:53 +00:00
Christopher Faylor 1de197515e * fhandler.cc (fhandler_disk_file::fstat): Avoid clearing S_IFMT bits since
we've already pre-cleared everything anyway.
2001-05-31 19:58:59 +00:00
Christopher Faylor fd047fb9d5 Maintain 80 col line length. 2001-05-31 17:35:32 +00:00
Christopher Faylor ecfb6f11bc * path.cc (chdir): Always send unsigned chars to isspace since newlib's isspace
doesn't deal well with "negative" chars.
* fhandler.cc (fhandler_disk_file::open): Propagate remote status of file
garnered from path_conv.  Move #! checking to fstat.
(fhandler_disk_file::fstat): Reorganize st_mode setting to eliminate
duplication.  Move check for #! here from fhandler::open.
* fhandler.h (fhandler_base::isremote): New method.
(fhandler_base::set_isremote): Ditto.
(fhandler_base::set_execable_p): Also record "don't care if executable state".
(fhandler_base::dont_care_if_execable): New method.
* path.cc (path_conv::check): Clear new flags.  Appropriately set vol_flags,
drive_type, and is_remote_drive.
* path.h: Add new flags and methods for manipulating them.
* syscalls.cc (_unlink): Use isremote() to determine if a path is remote rather
than calling GetDriveType.
(stat_worker): Ditto.
* security.cc (get_file_attribute): Or attribute with result of NTReadEA to be
consistent with get_nt_attribute.
2001-05-31 05:25:46 +00:00
David Starks-Browning b70261ef60 New entry "How do I print under Cygwin?" 2001-05-30 09:42:36 +00:00
David Starks-Browning 389c930097 New entry "Where is Objective C?" 2001-05-30 09:26:59 +00:00