summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/shortcut.c
Commit message (Collapse)AuthorAgeFilesLines
* * cygheap.h (init_cygheap): Move heap pointers here.Christopher Faylor2001-09-071-2/+2
| | | | | | | | | | | | | | | | | | | * include/sys/cygwin.h (perprocess): Remove heap pointers. * dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff. (_dll_crt0): Don't initialize heap pointers. (cygwin_dll_init): Ditto. (release_upto): Use heap pointers from cygheap. * heap.h: Ditto. * fork.cc (fork_parent): Ditto. Don't set heap pointers in ch. (fork_child): Remove obsolete sigproc_fixup_after_fork. * shared.cc (memory_init): Reorganize so that cygheap initialization is called prior to regular heap since regular heap uses cygheap now. * sigproc.cc (proc_subproc): Eliminate zombies allocation. (sigproc_init): Move zombies alloation here. Don't free up array on fork, just reuse it. (sigproc_fixup_after_fork): Eliminate. * sigproc.h: Ditto. * include/cygwin/version.h: Reflect change to perprocess structure.
* Remove initialization of static or global values to zero, throughout. ThisChristopher Faylor2001-09-061-1/+1
| | | | | | just needlessly grows the size of the DLL. * tty.cc (tty::alive): Make inuse handle non-inheriting on open, just for thread safety.
* * shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.Corinna Vinschen2001-05-291-2/+5
|
* oops.Christopher Faylor2001-05-041-1/+2
|
* Revert much of previous erroneous checkin. Add ChangeLog entry.Christopher Faylor2001-05-041-2/+1
| | | | | | | | | | | * pinfo.h: Correctly set __SIGOFFSET. * path.cc (hash_path_name): Avoid calling library functions for simple copying of characters. * shortcut.c: Use WIN32_LEAN_AND_MEAN. * smallprint.c: Ditto. * environ.cc (getwinenv): Minor clarity fix. * localtime.c: No need to include windows.h * string.h: New file.
* * exceptions.cc (ctrl_c_handler): Always send signal to process if it has noChristopher Faylor2001-05-041-1/+2
| | | | tty.
* * shortcut.c (check_shortcut): Close input file handle before returning.Christopher Faylor2001-04-221-3/+2
| | | | | | * path.cc (check_sysfile): Ditto. (symlink_info::check): Rely on opened file handle being closed by symlink checking routines. Set ext_tacked_on when .lnk is detected.
* * shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler warning.Christopher Faylor2001-03-101-1/+1
| | | | | | | | | | | | * 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.
* * dir.cc (readdir): Fix shortcut==symlink condition.Corinna Vinschen2001-03-021-14/+36
| | | | | | | | | | | | | * 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.
* * shortcut.c: Remove #include <sys/strace.h>.Corinna Vinschen2001-02-251-1/+0
|
* * shortcut.c: Change symlink condition.Corinna Vinschen2001-02-251-2/+3
|
* * cygerrno.h: Revert previous patch.Corinna Vinschen2001-02-221-33/+7
| | | | | | | | | | | | | | | | | | | | | | * 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-221-0/+171
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'.