Keith Marshall
47140f3cdb
Avoid precision errors in round(), lround() and llround() functions.
2008-06-03 18:42:21 +00:00
Christopher Faylor
585cd03044
* cygwin.sc: Remove unrequired and erroneous definition.
2008-06-03 02:22:36 +00:00
Christopher Faylor
11a36faaa6
* select.cc (peek_pipe): Semi-reinstate pipe NT-special write detection.
2008-05-30 17:56:37 +00:00
Christopher Faylor
4f3af63913
add missing entry
2008-05-29 17:09:10 +00:00
Christopher Faylor
2bae7a19e4
* devices.in: Change mapping for /dev/ttyS* and /dev/com*.
2008-05-29 17:08:45 +00:00
Chris Sutcliffe
3589c421a9
2008-05-28 Chris Sutcliffe <ir0nh34d@users.sf.net>
...
* include/commctrl.h (NMLVODSTATECHANGE): Define.
Thanks to Tim Kosse <botg at users dot sf dot net>.
2008-05-29 01:39:52 +00:00
Chris Sutcliffe
35d597a593
2008-05-28 Chris Sutcliffe <ir0nh34d@users.sf.net>
...
* include/winnt.h (SUBLANG_TIBETAN_BHUTAN): Fix definition.
Thanks to Nicola Di Nisio <nicoladinisio at users dot sf dot net>.
2008-05-29 01:26:45 +00:00
Eric Blake
2dd1fb6ff5
Fix bug in previous patch.
...
* libc/machine/i386/memset.S (memset): Mask second arg correctly.
2008-05-28 14:00:39 +00:00
Jeff Johnston
676ae29038
2008-05-27 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/string/memset.c: Fix documented prototype to remove
erroneous const attribute on first parameter.
2008-05-27 18:44:40 +00:00
Jeff Johnston
70bff2d503
2008-05-26 Eric Blake <ebb9@byu.net>
...
Optimize the generic and x86 memchr.
* libc/string/memchr.c (memchr) [!__OPTIMIZE_SIZE__]:
Pre-align pointer so unaligned searches aren't penalized.
* libc/machine/i386/memchr.S (memchr) [!__OPTIMIZE_SIZE__]: Word
operations are faster than repnz byte searches.
2008-05-26 23:31:08 +00:00
Jeff Johnston
a6bd72a278
2008-05-26 Eric Blake <ebb9@byu.net>
...
Optimize the generic and x86 memset.
* libc/string/memset.c (memset) [!__OPTIMIZE_SIZE__]:
Pre-align pointer so unaligned stores aren't penalized.
* libc/machine/i386/memset.S (memset): [!__OPTIMIZE_SIZE__]:
Pre-align pointer so unaligned stores aren't penalized. Prefer
8-byte over 4-byte alignment. Reduce register pressure.
2008-05-26 23:23:15 +00:00
Jeff Johnston
cae28869c1
2008-05-26 Eric Blake <ebb9@byu.net>
...
Optimize the generic and x86 strlen.
* libc/string/strlen.c (strlen) [!__OPTIMIZE_SIZE__]: Pre-align
data so unaligned searches aren't penalized.
* libc/machine/i386/strlen.S (strlen) [!__OPTIMIZE_SIZE__]:
Word operations are faster than repnz byte searches.
2008-05-26 22:56:14 +00:00
Christopher Faylor
12cf19762d
* mount.cc (mount_info::from_fstab): Use proper buffer size.
2008-05-25 23:51:32 +00:00
Christopher Faylor
f524521aab
* mount.cc (mount_info::init): Revert previous change.
...
(mount_info::from_fstab): Change system_printf to debug_printf. Just use a
local NT_MAX_PATH sized temporary buffer.
2008-05-24 15:59:01 +00:00
Corinna Vinschen
0fd62c686d
* mount.cc (mount_info::init): Recreate path when trying to read the
...
user fstab file.
2008-05-24 10:07:49 +00:00
Corinna Vinschen
362ce9fa99
* path.cc (symlink_info::check): Reorder test for nfs symlinks.
2008-05-24 09:54:32 +00:00
Corinna Vinschen
6afd630106
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Don't try to
...
use FileIdBothDirectoryInformation on NFS shares. Fix comment to
explain why.
* path.cc (symlink_info::check): Reinstantiate no_ea. Use in
erroneously changed condition.
2008-05-23 17:22:18 +00:00
Christopher Faylor
e765b3c0ad
* mount.cc (find_root_from_cygwin_dll): New function factored from from_fstab.
...
Avoid use of tls since it isn't necessarily initialized when cygwin1.dll is
dynamically loaded.
(mount_info::create_root_entry): Ditto.
(mount_info::init): Calculate cygwin root once. Use create_root_entry to
record it. Pass fstab location to from_fstab.
(mount_info::from_fstab): Move root calculation stuff elsewhere, as per above.
* shared_info.h (mount_info::from_fstab_line): Make private.
(mount_info::fstab): Ditto. Accommodate new arguments.
2008-05-23 16:38:51 +00:00
Christopher Faylor
7cd4542873
* mount.cc (mount_info::from_fstab): Use cygwin_hmodule rather than trying to
...
find handle based on cygwin1.dll.
* path.cc (symlink_info::check): Remove unused variable.
2008-05-23 15:33:03 +00:00
Corinna Vinschen
1fc3031588
* libc/include/sys/_default_fcntl.h: Include <sys/time.h> on Cygwin.
2008-05-23 12:33:50 +00:00
Corinna Vinschen
7075440208
* shared.cc (open_shared): Fix comments. Fix a condition which has
...
been overlooked to revert to its old state in change from 2008-04-18.
2008-05-23 11:59:37 +00:00
Corinna Vinschen
1870c68806
* path.cc (symlink_info::check): Define eabuf and easize outside of
...
loop. Set to NULL on first STATUS_EAS_NOT_SUPPORTED. Align comments.
Fix formatting.
2008-05-23 11:00:35 +00:00
Corinna Vinschen
b4ea313a85
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Eliminate
...
compiler warning.
2008-05-23 10:01:34 +00:00
Christopher Faylor
81adfe2862
* path.cc (symlink_info::check): Don't pass EaBuffer to NtCreateFile if it has
...
indicated that it isn't appropriate.
* ntdll.h (STATUS_EAS_NOT_SUPPORTED): Define.
* winsup.h: Remove __builtin* defines.
2008-05-23 07:13:47 +00:00
Jeff Johnston
3c77dcff9e
2008-05-22 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/sys/reent.h: Add _h_errno field.
* libc/sys/linux/libc-symbols.h: Add default stubs for new libc macros
now used in net directory.
* libc/sys/linux/bits/libc-lock.h: Always define _IO_MTSAFE_IO.
* libc/sys/linux/include/hesiod.h: Add needed macros for new code
in net directory.
* libc/sys/linux/include/netdb.h: Ditto.
* libc/sys/linux/include/resolv.h: Ditto.
* libc/sys/linux/include/stdint.h: Ditto.
* libc/sys/linux/include/arpa/nameser.h: Ditto.
* libc/sys/linux/include/net/ethernet.h: Ditto.
* libc/sys/linux/include/net/if_ppp.h: Ditto.
* libc/sys/linux/include/netinet/if_ether.h: Ditto.
* libc/sys/linux/machine/i386/get_clockfreq.c: Remove static memmem.
* libc/sys/linux/machine/i386/include/endian.h: Protect macros with
flags to avoid duplicate definition.
* libc/sys/linux/machine/i386/include/param.h: Ditto.
* libc/sys/linux/net/Makefile.am: Modified to account for removed and
added files.
* libc/sys/linux/net/Makefile.in: Regenerated.
* libc/sys/linux/net/base64.c: Replaced with glibc version of code.
* libc/sys/linux/net/getaddrinfo.c: Ditto.
* libc/sys/linux/net/getnameinfo.c: Ditto.
* libc/sys/linux/net/getproto.c: Ditto.
* libc/sys/linux/net/getservent.c: Ditto.
* libc/sys/linux/net/inet_netof.c: Ditto.
* libc/sys/linux/net/inet_lnaof.c: Ditto.
* libc/sys/linux/net/ns_name.c: Ditto.
* libc/sys/linux/net/ns_netint.c: Ditto.
* libc/sys/linux/net/inet_ntoa.c: Ditto.
* libc/sys/linux/net/ns_parse.c: Ditto.
* libc/sys/linux/net/ns_print.c: Ditto.
* libc/sys/linux/net/ns_ttl.c: Ditto.
* libc/sys/linux/net/nsap_addr.c: Ditto.
* libc/sys/linux/net/rcmd.c: Ditto.
* libc/sys/linux/net/res_comp.c: Ditto.
* libc/sys/linux/net/res_data.c: Ditto.
* libc/sys/linux/net/res_debug.c: Ditto.
* libc/sys/linux/net/res_init.c: Ditto.
* libc/sys/linux/net/res_mkquery.c: Ditto.
* libc/sys/linux/net/res_query.c: Ditto.
* libc/sys/linux/net/res_send.c: Ditto.
* libc/sys/linux/net/send.c: Ditto.
* libc/sys/linux/stdlib/collate.c: Ditto.
* libc/sys/linux/sys/ioctl.h: Ditto.
* libc/sys/linux/sys/socket.h: Ditto.
* libc/sys/linux/sys/unistd.h: Ditto.
* libc/sys/linux/iconv/iconvconfig.c: Removed either because no longer
used or because licensing includes advertising clause that cannot be
ignored.
* libc/sys/linux/iconv/strtab.c: Ditto.
* libc/sys/linux/include/libc_private.h: Ditto.
* libc/sys/linux/include/nsswitch.h: Ditto.
* libc/sys/linux/include/net/if_atm.h: Ditto.
* libc/sys/linux/include/net/if_media.h: Ditto.
* libc/sys/linux/include/net/if_pppvar.h: Ditto.
* libc/sys/linux/include/netinet/if_atm.h: Ditto.
* libc/sys/linux/include/netinet/ip_flow.h: Ditto.
* libc/sys/linux/intl/locale.alias: Ditto.
* libc/sys/linux/net/addr2ascii.3: Ditto.
* libc/sys/linux/net/bindresvport.c: Ditto.
* libc/sys/linux/net/byteorder.3: Ditto.
* libc/sys/linux/net/res_config.h: Ditto.
* libc/sys/linux/net/ether_addr.c: Ditto.
* libc/sys/linux/net/ethers.3: Ditto.
* libc/sys/linux/net/getaddrinfo.3: Ditto.
* libc/sys/linux/net/gethostbydns.c: Ditto.
* libc/sys/linux/net/gethostbyht.c: Ditto.
* libc/sys/linux/net/gethostbyname.3: Ditto.
* libc/sys/linux/net/gethostbynis.c: Ditto.
* libc/sys/linux/net/gethostnamadr.c: Ditto.
* libc/sys/linux/net/getifaddrs.3: Ditto.
* libc/sys/linux/net/getifaddrs.c: Ditto.
* libc/sys/linux/net/getipnodebyname.3: Ditto.
* libc/sys/linux/net/getnameinfo.3: Ditto.
* libc/sys/linux/net/getnetbydns.c: Ditto.
* libc/sys/linux/net/getnetbyht.c: Ditto.
* libc/sys/linux/net/getnetbynis.c: Ditto.
* libc/sys/linux/net/getnetent.3: Ditto.
* libc/sys/linux/net/getnetnamadr.c: Ditto.
* libc/sys/linux/net/getprotoent.3: Ditto.
* libc/sys/linux/net/getprotoent.c: Ditto.
* libc/sys/linux/net/getprotoname.c: Ditto.
* libc/sys/linux/net/getservbyname.c: Ditto.
* libc/sys/linux/net/getservbyport.c: Ditto.
* libc/sys/linux/net/getservent.3: Ditto.
* libc/sys/linux/net/herror.c: Ditto.
* libc/sys/linux/net/hesiod.3: Ditto.
* libc/sys/linux/net/hesiod.c: Ditto.
* libc/sys/linux/net/if_indextoname.3: Ditto.
* libc/sys/linux/net/inet.3: Ditto.
* libc/sys/linux/net/inet6_option_space.3: Ditto.
* libc/sys/linux/net/inet6_rthdr_space.3: Ditto.
* libc/sys/linux/net/inet_makeaddr.c: Ditto.
* libc/sys/linux/net/inet_net.3: Ditto.
* libc/sys/linux/net/inet_network.c: Ditto.
* libc/sys/linux/net/innetgr-stub.c: Ditto.
* libc/sys/linux/net/ip6opt.c: Ditto.
* libc/sys/linux/net/iso_addr.3: Ditto.
* libc/sys/linux/net/iso_addr.c: Ditto.
* libc/sys/linux/net/linkaddr.3: Ditto.
* libc/sys/linux/net/linkaddr.c: Ditto.
* libc/sys/linux/net/map_v4v6.c: Ditto.
* libc/sys/linux/net/name6.c: Ditto.
* libc/sys/linux/net/namespace.h: Ditto.
* libc/sys/linux/net/ns.3: Ditto.
* libc/sys/linux/net/ns_addr.c: Ditto.
* libc/sys/linux/net/ns_ntoa.c: Ditto.
* libc/sys/linux/net/nsdispatch.3: Ditto.
* libc/sys/linux/net/nsdispatch.c: Ditto.
* libc/sys/linux/net/nslexer.c: Ditto.
* libc/sys/linux/net/nslexer.l: Ditto.
* libc/sys/linux/net/nsparser.c: Ditto.
* libc/sys/linux/net/nsparser.h: Ditto.
* libc/sys/linux/net/nsparser.y: Ditto.
* libc/sys/linux/net/rcmd.3: Ditto.
* libc/sys/linux/net/rcmdsh.3: Ditto.
* libc/sys/linux/net/res_mkupdate.c: Ditto.
* libc/sys/linux/net/res_update.c: Ditto.
* libc/sys/linux/net/resolver.3: Ditto.
* libc/sys/linux/net/rthdr.c: Ditto.
* libc/sys/linux/net/vars.c: Ditto.
* libc/sys/linux/shlib-compat.h: New file.
* libc/sys/linux/machine/i386/atomic.h: Ditto.
* libc/sys/linux/net/XXX-lookup.c: Ditto.
* libc/sys/linux/net/alias-lookup.c: Ditto.
* libc/sys/linux/net/res_libc.c: Ditto.
* libc/sys/linux/net/aliases.h: Ditto.
* libc/sys/linux/net/check_pf.c: Ditto.
* libc/sys/linux/net/databases.def: Ditto.
* libc/sys/linux/net/digits_dots.c: Ditto.
* libc/sys/linux/net/ether_aton.c: Ditto.
* libc/sys/linux/net/ether_aton_r.c: Ditto.
* libc/sys/linux/net/ether_hton.c: Ditto.
* libc/sys/linux/net/ether_line.c: Ditto.
* libc/sys/linux/net/ether_ntoa.c: Ditto.
* libc/sys/linux/net/ether_ntoa_r.c: Ditto.
* libc/sys/linux/net/ether_ntoh.c: Ditto.
* libc/sys/linux/net/etherent.h: Ditto.
* libc/sys/linux/net/ethers-lookup.c: Ditto.
* libc/sys/linux/net/function.def: Ditto.
* libc/sys/linux/net/getXXbyYY.c: Ditto.
* libc/sys/linux/net/getXXbyYY_r.c: Ditto.
* libc/sys/linux/net/getXXent.c: Ditto.
* libc/sys/linux/net/getXXent_r.c: Ditto.
* libc/sys/linux/net/getaliasent.c: Ditto.
* libc/sys/linux/net/getaliasent_r.c: Ditto.
* libc/sys/linux/net/getaliasname.c: Ditto.
* libc/sys/linux/net/getaliasname_r.c: Ditto.
* libc/sys/linux/net/gethstbyad.c: Ditto.
* libc/sys/linux/net/gethstbyad_r.c: Ditto.
* libc/sys/linux/net/gethstbynm.c: Ditto.
* libc/sys/linux/net/gethstbynm2.c: Ditto.
* libc/sys/linux/net/gethstbynm2_r.c: Ditto.
* libc/sys/linux/net/gethstbynm_r.c: Ditto.
* libc/sys/linux/net/gethstent.c: Ditto.
* libc/sys/linux/net/gethstent_r.c: Ditto.
* libc/sys/linux/net/getnetbyad.c: Ditto.
* libc/sys/linux/net/getnetbyad_r.c: Ditto.
* libc/sys/linux/net/getnetbynm.c: Ditto.
* libc/sys/linux/net/getnetbynm_r.c: Ditto.
* libc/sys/linux/net/getnetent.c: Ditto.
* libc/sys/linux/net/getnetent_r.c: Ditto.
* libc/sys/linux/net/getnetgrent.c: Ditto.
* libc/sys/linux/net/getnetgrent_r.c: Ditto.
* libc/sys/linux/net/getnssent.c: Ditto.
* libc/sys/linux/net/getnssent_r.c: Ditto.
* libc/sys/linux/net/getproto_r.c: Ditto.
* libc/sys/linux/net/getprtent.c: Ditto.
* libc/sys/linux/net/getprtent_r.c: Ditto.
* libc/sys/linux/net/getprtname.c: Ditto.
* libc/sys/linux/net/getprtname_r.c: Ditto.
* libc/sys/linux/net/getrpcbyname.c: Ditto.
* libc/sys/linux/net/getrpcbyname_r.c: Ditto.
* libc/sys/linux/net/getrpcbynumber.c: Ditto.
* libc/sys/linux/net/getrpcbynumber_r.c: Ditto.
* libc/sys/linux/net/getrpcent.c: Ditto.
* libc/sys/linux/net/getrpcent_r.c: Ditto.
* libc/sys/linux/net/getservent_r.c: Ditto.
* libc/sys/linux/net/getsrvbynm.c: Ditto.
* libc/sys/linux/net/getsrvbynm_r.c: Ditto.
* libc/sys/linux/net/getsrvbypt.c: Ditto.
* libc/sys/linux/net/getsrvbypt_r.c: Ditto.
* libc/sys/linux/net/grp-lookup.c: Ditto.
* libc/sys/linux/net/herrno.c: Ditto.
* libc/sys/linux/net/hosts-lookup.c: Ditto.
* libc/sys/linux/net/ifaddrs.h: Ditto.
* libc/sys/linux/net/ifreq.c: Ditto.
* libc/sys/linux/net/ifreq.h: Ditto.
* libc/sys/linux/net/in6_addr.c: Ditto.
* libc/sys/linux/net/inet6_option.c: Ditto.
* libc/sys/linux/net/inet_mkadr.c: Ditto.
* libc/sys/linux/net/inet_net.c: Ditto.
* libc/sys/linux/net/key-lookup.c: Ditto.
* libc/sys/linux/net/local.h: Ditto.
* libc/sys/linux/net/netgroup.h: Ditto.
* libc/sys/linux/net/netgrp-lookup.c: Ditto.
* libc/sys/linux/net/network-lookup.c: Ditto.
* libc/sys/linux/net/not-cancel.h: Ditto.
* libc/sys/linux/net/ns_samedomain.c: Ditto.
* libc/sys/linux/net/nscd-types.h: Ditto.
* libc/sys/linux/net/nss.h: Ditto.
* libc/sys/linux/net/nsswitch.c: Ditto.
* libc/sys/linux/net/nsswitch.h: Ditto.
* libc/sys/linux/net/opensock.c: Ditto.
* libc/sys/linux/net/proto-lookup.c: Ditto.
* libc/sys/linux/net/pwd-lookup.c: Ditto.
* libc/sys/linux/net/res_debug.h: Ditto.
* libc/sys/linux/net/res_hconf.c: Ditto.
* libc/sys/linux/net/res_hconf.h: Ditto.
* libc/sys/linux/net/rexec.c: Ditto.
* libc/sys/linux/net/rpc-lookup.c: Ditto.
* libc/sys/linux/net/ruserpass.c: Ditto.
* libc/sys/linux/net/service-lookup.c: Ditto.
* libc/sys/linux/net/spwd-lookup.c: Ditto.
* libc/sys/linux/net/nscd/nscd-client.h: Ditto.
* libc/sys/linux/net/nscd/nscd_proto.h: Ditto.
2008-05-22 21:30:28 +00:00
Corinna Vinschen
8a179967e6
* grp.cc (internal_getgroups): Fix thinko. Only add enabled groups to
...
the group list.
2008-05-22 21:14:30 +00:00
Corinna Vinschen
2122048bd6
* grp.cc (internal_getgroups): Don't add deny-only groups to the group
...
list.
2008-05-22 21:03:54 +00:00
Corinna Vinschen
c15121a287
* cygtls.h (struct san): Add two int values to store the current
...
tls_pathbuf counters.
(return_from_fault): Restore tls_pathbuf counters.
(setup_fault): Save tls_pathbuf counters.
* tlsoffset.h: Regenerate.
2008-05-22 20:32:15 +00:00
Corinna Vinschen
3ad8ec8546
* setfacl.c (setfacl): Change from void to int. Return 2 in case of
...
error.
(main): Return with error code from setfacl.
2008-05-22 18:56:26 +00:00
Corinna Vinschen
c1410a8d1e
* sec_acl.cc (setacl): Set errno to EINVAL if user or group don't exist.
2008-05-22 12:43:18 +00:00
Corinna Vinschen
b72918135c
* path.cc (cygwin_conv_path): Define tp before setting up faul handler.
...
* syscalls.cc: Ditto, throughout.
(gen_full_path_at): Add bool parameter to allow NULL pathname.
(futimesat): Allow NULL pathname as GLIBC.
2008-05-22 11:18:46 +00:00
Eric Blake
ae47b14a12
Optimize the generic strchr.
...
* libc/string/strchr.c (strchr) [!__OPTIMIZE_SIZE__]: Pre-align
data so unaligned searches aren't penalized. Special-case
searching for 0.
2008-05-22 02:31:46 +00:00
Danny Smith
0b99028af4
Committed as obvious.
...
2008-05-22 Danny Smith <dannysmith@users.sourceforge.net>
[ mingw-Bugs-1961893 ]
* mingwex/gdtoa/mingw_snprint.c (x_sprintf): Always set __ldtoa mode to 2
for E format.
2008-05-22 02:09:06 +00:00
Christopher Faylor
9ea50a60e1
* string.h (strchr): Eliminate.
...
* syscalls.cc (rename): Work around inexplicable C++ warning.
2008-05-22 01:25:37 +00:00
Eric Blake
4962a9453a
Optimize strchr for x86.
...
* libc/machine/i386/strchr.S (strchr): Pre-align data so unaligned
searches aren't penalized. Special-case searching for 0.
2008-05-21 21:46:04 +00:00
Nick Clifton
804c0cc6d0
* reloc-macros.h: Add a comment about the use of the
...
END_RELOC_NUMBERS symbol as a sentinel value.
* arm.h (END_RELOC_NUMBERS): Provide a maximum value.
2008-05-21 14:50:07 +00:00
Corinna Vinschen
380b8bac12
* fhandler_disk_file.cc (get_ino_by_handle): Rename pfai to fai.
...
(fhandler_base::fstat_by_handle): Drop fai_size and pfai in favor of
static struct fai_buf. Restructure.
(fhandler_base::fstat_by_name): Drop fvi_size and pfvi. Drop fdi_size
and pfdi in favor of static struct fdi_buf. Drop redundant test for
existance. Use FileDirectoryInformation class instead of
FileBothDirectoryInformation. Drop call to NtQueryVolumeInformationFile
in favor of using pc.fs_serial_number (). Fix FileId information given
to fstat_helper.
(fhandler_disk_file::fstatvfs): Drop fvi_size, pfvi, fai_size and pfai.
Drop getting FileFsVolumeInformation and FileFsAttributeInformation in
favor of using the related path_conv info.
(fhandler_disk_file::opendir): Fix comment.
(fhandler_disk_file::readdir): Ditto. Use FileDirectoryInformation
class instead of FileBothDirectoryInformation.
* path.cc (fs_info::update): Store MaximumComponentNameLength in new
member name_len.
* path.h (struct fs_info): Use ULONG rather than DWORD. Add member
name_len to store MaximumComponentNameLength. Add accessor methods.
(path_conv::fs_name_len): New method.
2008-05-21 10:23:19 +00:00
Corinna Vinschen
0d3f365881
* fhandler.h (dirent_states): Add dirent_nfs_d_ino state and add it to
...
dirent_info_mask.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set
dirent_nfs_d_ino flag for NFS shares. Explain why.
(fhandler_disk_file::readdir): Use FileNamesInformation instead of
FileBothDirectoryInformation info class on NFS clients not supporting
the FileIdBothDirectoryInformation info class. Use local pointers to
accommodate different offsets.
* path.cc (symlink_info::check): Don't test directories for symlinks
on NFS shares. Enhance comment.
2008-05-21 09:02:42 +00:00
Corinna Vinschen
2762ac6c19
* syscalls.cc (FILTERED_MODE): Define valid chmod mode mask.
...
(chmod): Call fh->fchmod with filtered mode.
(fchmod): Ditto.
2008-05-21 08:05:53 +00:00
Nick Clifton
cb1f8161c1
* libc/sys/sysnecv850/crt0.S (___dso_handle): Define (weak).
...
* iq2000/crt0.S (__dso_handle): Define (weak).
* frv/crt0.S (__dso_handle): Define (weak).
* mn10300/crt0.S (___dso_handle): Define (weak).
2008-05-21 07:44:32 +00:00
Corinna Vinschen
6e961ccc7e
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Fix test for
...
S_IFSOCK in mode bits.
2008-05-20 21:08:39 +00:00
Corinna Vinschen
28259ba2dd
* path.cc (symlink_worker): Fix EA buffer size info given to
...
NtCreateFile.
(symlink_info::check_nfs_symlink): Get 64K buffer for EA buffer.
Change EA buffer size info given to NtQueryEaFile accordingly.
2008-05-20 18:26:45 +00:00
Corinna Vinschen
c44e0ba1f5
* path.cc (symlink_info::check_shortcut): Minimize requested file
...
access flags.
(symlink_info::check_sysfile): Ditto. Add missing `else'.
(symlink_info::check): Only retry to open file if first try failed
with access denied.
2008-05-20 18:19:32 +00:00
Jeff Johnston
a9309ff5b6
2008-05-20 DJ Delorie <dj@redhat.com>
...
* libc/sys/sysnecv850/isatty.c (_isatty): Renamed from isatty.
2008-05-20 18:00:12 +00:00
Corinna Vinschen
4c5627e7e2
* path.cc (fs_info::update): Re-add opening the unsplitted path
...
for fillout_mntent's sake.
2008-05-20 17:18:08 +00:00
Corinna Vinschen
ec0165f29c
* fhandler_disk_file.cc (fhandler_disk_file::mkdir): Create directories
...
on NFS shares with correct mode bits.
2008-05-20 16:24:06 +00:00
Corinna Vinschen
316d9cabfe
* winsup.h (cygwin_inet_addr): Fix type of declaration.
2008-05-20 15:39:26 +00:00
Corinna Vinschen
fe6934da14
* Makefile.in (DLL_OFILES): Add nfs.o.
...
* fhandler.cc (fhandler_base::open): Open files on NFS shares with
correct access flags and EAs.
* fhandler.h (fhandler_base::fstat_by_nfs_ea): Declare.
* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): New method.
(fhandler_base::fstat_by_handle): Call fstat_by_nfs_ea for files on
NFS shares.
(fhandler_disk_file::fchmod): Use NFS specific method to set mode for
files on NFS shares. Don't overrule errno from call to
set_file_attribute with errno from NtSetInformationFile call.
(fhandler_disk_file::fchown): Add comment.
* mount.cc (fillout_mntent): Accommodate change in second parameter
to fs_info::update.
* nfs.cc: New file.
* nfs.h: New file.
* path.cc (fs_info::update): Take handle instead of bool as second
parameter. Use that handle if it's not NULL. Only close handle if
it has been opened here. Use static defined buffers instead of
alloca'd buffers.
(path_conv::check): Call symlink_info::check with reference to fs.
Don't call fs.update here if file exists.
(conv_path_list): Prefer tmp_pathbuf buffer over using alloca.
(symlink_worker): Use NFS specific method to create symlinks on NFS
shares. Prefer tmp_pathbuf buffer over using alloca.
(symlink_info::check_shortcut): Reopen file from incoming handle
with necessary FILE_GENERIC_READ flag. Prefer tmp_pathbuf buffer over
using alloca.
(symlink_info::check_sysfile): Ditto.
(symlink_info::check_reparse_point): Use tmp_pathbuf buffer to
allocate REPARSE_DATA_BUFFER.
(symlink_info::check_nfs_symlink): New method.
(enum symlink_t): Remove.
(symlink_info::check): Don't use NtQueryAttributesFile. Rather, open
file with necessary access flags and call NtQueryInformationFile. Fix
error handling in case file can't be opened. For existing files, call
fs_info::update here. Restructure symlink checking to accommodate the
fact that the file is already open. Add case for NFS symlinks.
* path.h (fs_info::update): Take handle instead of bool as second
parameter.
2008-05-20 15:11:23 +00:00
Corinna Vinschen
2f33b79950
* syscalls.cc (rename): Fix condition when to start a transaction.
2008-05-20 10:24:25 +00:00
Corinna Vinschen
c211f8eb24
* path.cc (path_conv::check): Free wide_path and normalized_path if
...
necessary.
* path.h (path_conv::path_conv): Set wide_path, normalized_path and
normalized_path_size to 0 in all constructors.
2008-05-20 10:18:12 +00:00