freebsd-skq/lib/libc/gen
John Baldwin 34ed0c63c8 Rename the 'flags' argument to getfsstat() to 'mode' and validate it.
This argument is not a bitmask of flags, but only accepts a single value.
Fail with EINVAL if an invalid value is passed to 'flag'.  Rename the
'flags' argument to getmntinfo(3) to 'mode' as well to match.

This is a followup to r308088.

Reviewed by:	kib
MFC after:	1 month
2016-12-27 20:21:11 +00:00
..
__getosreldate.c Avoid a redecleartion of __getosreldate(). 2016-08-24 00:02:20 +00:00
__pthread_mutex_init_calloc_cb_stub.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
__xuname.c
_once_stub.c Reassign copyright statements on several files from Advanced 2015-04-23 14:22:20 +00:00
_pthread_stubs.c Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
_rand48.c
_spinlock_stub.c Fix typo. Note that this is mostly innocent, since libthr no longer 2015-02-27 19:23:01 +00:00
_thread_init.c Turn off default generation of userland dot symbols on powerpc64 now that 2011-02-18 21:44:53 +00:00
alarm.3
alarm.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
arc4random.3 Globally replace u_int*_t from (non-contributed) man pages. 2012-02-12 18:29:56 +00:00
arc4random.c Add comment on use of abort() in libc 2016-10-12 13:56:14 +00:00
assert.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
auxv.c Rename aux.c to auxv.c. 2012-08-11 12:07:24 +00:00
basename_compat.c Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
basename.3 Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
basename.c Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
cap_rights_get.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
cap_sandboxed.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
cap_sandboxed.c Update most userspace consumers of capability.h to use capsicum.h instead. 2014-03-16 11:04:44 +00:00
check_utility_compat.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
check_utility_compat.c - Reduce buffer size from LINE_MAX to PATH_MAX, there is no point to store 2012-12-21 22:20:59 +00:00
clock_getcpuclockid.3 Grammar fixes. 2016-08-04 11:38:53 +00:00
clock_getcpuclockid.c Fix prototype. Also the function should return error code instead of 2012-08-21 09:17:13 +00:00
clock.3
clock.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-22 07:31:40 +00:00
closedir.c Implement fdclosedir(3) function, which is equivalent to the closedir(3) 2013-08-18 20:11:34 +00:00
confstr.3
confstr.c
crypt.c Remove setkey(), encrypt(), des_setkey() and des_cipher(). 2016-10-03 18:20:58 +00:00
ctermid.3 Reimplement ctermid(). 2011-10-01 12:19:48 +00:00
ctermid.c Reimplement ctermid(). 2011-10-01 12:19:48 +00:00
daemon.3
daemon.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
devname.3
devname.c libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
directory.3 directory(3): Deprecate readdir_r(). Clarify dirent buffers. 2016-08-31 20:38:40 +00:00
dirfd.c Put my name as copyright owner of lib/libc/gen/dirfd.c added in r235647. 2012-05-19 14:30:49 +00:00
dirname_compat.c Reimplement dirname(3) to be thread-safe. 2016-08-12 07:03:58 +00:00
dirname.3 Replace dirname(3) by a copy that complies to POSIX. 2016-09-18 20:47:55 +00:00
dirname.c Replace dirname(3) by a copy that complies to POSIX. 2016-09-18 20:47:55 +00:00
disklabel.c Drop cgetclose() from getdiskbyname(). 2015-02-06 14:07:01 +00:00
dl_iterate_phdr.3 Update dl_iterate_phdr(3) to follow r272842 2014-10-09 22:58:33 +00:00
dladdr.3
dlfcn.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
dlinfo.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
dllockinit.3
dlopen.3 The ld(1) flag is -Bsymbolic not -Wsymbolic. 2015-02-14 15:14:41 +00:00
drand48.c
dup3.3 dup3(3): Replace copyright notice. 2013-08-18 13:25:18 +00:00
dup3.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
elf_utils.c If libthr.so is dlopened without RTLD_GLOBAL flag, the libthr symbols 2016-02-08 19:24:13 +00:00
erand48.c
err.3 Use the .Bx macro instead of BSD 2012-04-26 19:21:58 +00:00
err.c libc: replace 0 with NULL for pointers. 2016-04-10 19:33:58 +00:00
errlst.c Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
errno.c
exec.3 Add sbin and /usr/local directories to _PATH_DEFPATH. 2016-01-05 16:21:20 +00:00
exec.c libc: do not include <sys/types.h> where <sys/param.h> was already included 2016-04-18 21:05:15 +00:00
fdevname.c
feature_present.3 [mdoc] Fixed .Dt call. 2011-05-25 14:13:53 +00:00
feature_present.c Adding missing include to eliminate -Wmissing-prototypes warning 2015-09-20 03:56:57 +00:00
fmtcheck.3
fmtcheck.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
fmtmsg.3
fmtmsg.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
fnmatch.3
fnmatch.c 1) Eliminate possibility to call __*collate_range_cmp() with inclomplete 2016-07-14 09:07:25 +00:00
fpclassify.3
fpclassify.c Fix __fpclassifyl when double == long double. As with r283693 this is 2015-05-29 09:26:10 +00:00
frexp.3
frexp.c
fstab.c Replace strcpy() with strlcpy() 2015-02-15 21:11:07 +00:00
ftok.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
ftok.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
fts-compat.c Fix 1016718 Resource leak. 2016-05-25 06:55:53 +00:00
fts-compat.h Remove the advertising clause from the Regents of the University of 2013-05-28 21:05:06 +00:00
fts.3 fts(3): Remove stray mentions of the obsolete fts_bignum. 2014-01-12 20:47:08 +00:00
fts.c FTS: Remove stale reference to nfs4 fs which was removed in r192578. 2016-05-21 01:31:41 +00:00
ftw.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
ftw.c ftw(): Do not check the maxfds argument against OPEN_MAX. 2012-08-09 15:11:38 +00:00
gen-private.h Fix some edge cases with rewinddir(): 2014-07-11 16:16:26 +00:00
getbootfile.3
getbootfile.c
getbsize.3 mdoc: Use the Ev macro for environmental variables. 2012-11-16 12:03:50 +00:00
getbsize.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getcap.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
getcap.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
getcontext.3 Add the getcontextx prototype to SYNOPSIS. 2013-03-13 18:18:16 +00:00
getcwd.3
getcwd.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getdiskbyname.3 Remove vestiges of disklabel(5). 2011-04-14 08:53:04 +00:00
getdomainname.3
getdomainname.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getfsent.3
getgrent.3 Fix up setgrent(3) to have a POSIX-compliant prototype. 2016-07-31 08:05:15 +00:00
getgrent.c Fix up setgrent(3) to have a POSIX-compliant prototype. 2016-07-31 08:05:15 +00:00
getgrouplist.3 getgrouplist(3) was reimplemented in terms of getgrent_r(3) in r174547, so 2014-10-27 04:09:23 +00:00
getgrouplist.c
gethostname.3
gethostname.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getloadavg.3
getloadavg.c Use ANSI C prototypes. 2015-09-14 18:44:13 +00:00
getlogin.c The getlogin_basic() function can return a 0 status with a NULL 2014-04-05 18:14:58 +00:00
getmntinfo.3 Rename the 'flags' argument to getfsstat() to 'mode' and validate it. 2016-12-27 20:21:11 +00:00
getmntinfo.c Rename the 'flags' argument to getfsstat() to 'mode' and validate it. 2016-12-27 20:21:11 +00:00
getnetgrent.3 Implement an NSS backend for netgroups and add getnetgrent_r(3). 2016-06-09 01:28:44 +00:00
getnetgrent.c Implement an NSS backend for netgroups and add getnetgrent_r(3). 2016-06-09 01:28:44 +00:00
getosreldate.3
getosreldate.c Clean up includes; the prototype for getosreldate() has moved to 2011-12-14 08:35:08 +00:00
getpagesize.3
getpagesize.c Remove trailing whitespace and use nitems(mib) instead of 2 when 2016-04-19 22:59:21 +00:00
getpagesizes.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
getpagesizes.c
getpass.3
getpeereid.3
getpeereid.c libc: Use namespace.h in a few more files. 2015-12-20 23:05:20 +00:00
getprogname.3
getprogname.c
getpwent.3
getpwent.c libc: make some more use of the nitems() macro. 2016-04-16 17:52:00 +00:00
getttyent.3
getttyent.c Add a new flag to /etc/ttys: onifconsole. This is equivalent to "on" if the 2014-01-20 18:15:06 +00:00
getusershell.3
getusershell.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
getutxent.3 Escape "Ed" 2015-04-26 10:29:43 +00:00
getutxent.c Make getutxent(3) more robust against bad utx.log files. Whenever we read 2013-10-15 13:32:01 +00:00
getvfsbyname.3 getvfsbyname(3): Remove [EFAULT] error. 2016-08-30 21:43:57 +00:00
getvfsbyname.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
glob.3 Both C99 and POSIX directly prohibits any standard function to set errno 2016-07-31 01:14:06 +00:00
glob.c Although the code amount is not big, move POSIX error processing into 2016-08-03 09:09:34 +00:00
initgroups.3 getgrouplist(3) was reimplemented in terms of getgrent_r(3) in r174547, so 2014-10-27 04:09:23 +00:00
initgroups.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
isatty.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
isgreater.3
isinf.c Fix __isinfl on architectures where double == long double. This is the 2015-05-29 09:23:20 +00:00
isnan.c Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
jrand48.c Properly sign extend the result of jrand48() and mrand48(). 2016-12-06 19:08:29 +00:00
lcong48.c
ldexp.3
ldexp.c
libc_dlopen.c Fix a problem whereby a corrupt DNS record can cause named to crash. [11:06] 2011-12-23 15:00:37 +00:00
lockf.3 Consistently reference file descriptors as "fd". 55 other manpages 2013-09-12 00:53:38 +00:00
lockf.c Fix lockf(3) cancellation behaviour. 2015-12-20 11:55:39 +00:00
lrand48.c
makecontext.3
Makefile.inc Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
modf.3
modf.c Replace a proliferation of buggy MD implementations of modf() with a 2011-10-21 06:40:36 +00:00
mrand48.c Properly sign extend the result of jrand48() and mrand48(). 2016-12-06 19:08:29 +00:00
nftw.c nftw(): POSIX says directories causing loops should be silently skipped. 2012-08-09 22:05:40 +00:00
nice.3 mdoc: remove end of line whitespace 2015-04-26 10:56:06 +00:00
nice.c nice(): Put back old return value, keeping [EPERM] error. 2015-02-28 18:22:10 +00:00
nlist.3
nlist.c libc: make some more use of the nitems() macro. 2016-04-16 17:52:00 +00:00
nrand48.c
opendir.c libc: replace 0 with NULL for pointers. 2016-04-10 19:33:58 +00:00
pause.3
pause.c Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 03:58:27 +00:00
pmadvise.c The posix_madvise(3) and posix_fadvise(2) should return error on 2014-01-30 18:04:39 +00:00
popen.3 popen(): Add 'e' mode character to set close-on-exec on the new fd. 2013-05-20 17:31:18 +00:00
popen.c popen() requires check for fdopen() failure 2015-11-20 22:36:41 +00:00
posix_spawn_file_actions_addopen.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawn_file_actions_init.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawn.3 Add sbin and /usr/local directories to _PATH_DEFPATH. 2016-01-05 16:21:20 +00:00
posix_spawn.c Fix Coverity CID 1016714 Resource leak in process_file_actions_entry() 2016-05-25 07:13:53 +00:00
posix_spawnattr_getflags.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getpgroup.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getschedparam.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getschedpolicy.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getsigdefault.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_getsigmask.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
posix_spawnattr_init.3 Escape "Ed" 2015-04-26 10:52:37 +00:00
psignal.3 Fix the signature of the psignal() function. 2016-05-30 13:51:27 +00:00
psignal.c Fix the signature of the psignal() function. 2016-05-30 13:51:27 +00:00
pututxline.c pututxline: Don't set errno=0 in subfunctions. 2013-04-17 21:08:15 +00:00
pw_scan.c
pw_scan.h
raise.3
raise.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
rand48.3 Add the same warning to rand48(3) as to rand(3) and random(3). 2012-09-11 12:55:15 +00:00
rand48.h
readdir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
readpassphrase.3 Sync with OpenBSD, primarily better signal and terminal handling. 2010-11-13 10:38:06 +00:00
readpassphrase.c Fix bug in the readpassphrase(3) function, which can be exposed 2016-01-24 22:20:13 +00:00
recvmmsg.c Correct indent. 2016-10-11 11:46:02 +00:00
rewinddir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
rfork_thread.3 rfork_thread(3): Mark deprecated in favor of pthread_create(3). 2011-02-06 23:26:14 +00:00
scandir_b.c Add support for some block functions that come from OS X. These are 2014-04-02 16:07:48 +00:00
scandir.3 Various mdoc fixes and a few EOL whitespace removals. 2014-12-21 12:36:36 +00:00
scandir.c Add support for some block functions that come from OS X. These are 2014-04-02 16:07:48 +00:00
seed48.c
seekdir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
sem_destroy.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_getvalue.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_init.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_new.c sem: Don't free nameinfo that is still in list when open() fails. 2016-01-22 14:52:31 +00:00
sem_open.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem_post.3 sem_post(): Fix and document semaphore value overflow error. 2015-01-28 22:42:56 +00:00
sem_timedwait.3 - Add the 'restrict' type qualifier to match function prototype. 2016-08-17 07:25:50 +00:00
sem_wait.3 Don't reference sem(4) from the POSIX semaphore pages. POSIX semaphores 2014-10-24 19:55:49 +00:00
sem.c In revision 231989, we pass a 16-bit clock ID into kernel, however 2012-02-25 02:12:17 +00:00
semctl.c Disable support for compat syscalls on arm64. These symbols were never 2016-04-06 16:09:10 +00:00
sendmmsg.c Add implementations of sendmmsg(3) and recvmmsg(3) functions which 2016-01-29 14:12:12 +00:00
setdomainname.c
sethostname.c
setjmp.3
setjmperr.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
setmode.3 setmode(3): Make sure that setmode sets errno on failure. 2015-02-22 20:16:44 +00:00
setmode.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
setproctitle.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
setproctitle.c remove unnecessary vm includes from setproctitle 2016-11-22 16:00:18 +00:00
setprogname.c
siginterrupt.3
siginterrupt.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
siglist.c Initialize lists of signals using C99 designators 2016-09-02 00:16:19 +00:00
signal.3 Document SIGLIBRT in signal(3); take a stab at the signal description as 2013-09-03 08:19:06 +00:00
signal.c Switch libc from using _sig{procmask,action,suspend} symbols, which 2015-08-29 14:25:01 +00:00
sigsetops.3
sigsetops.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
sleep.3 Clarify text to be consistent with nanosleep(2), 2015-01-08 01:27:43 +00:00
sleep.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
srand48.c
statvfs.3 use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
statvfs.c
stringlist.3 - sl_find does not modify 'name' 2013-04-23 13:03:03 +00:00
stringlist.c Remove clause 3 and 4 from the license 2015-05-21 08:38:25 +00:00
strtofflags.3
strtofflags.c Use unsigned variables in a few places. 2015-09-14 18:59:01 +00:00
Symbol.map Replace basename(3) by a thread-safe implementation. 2016-11-03 20:21:34 +00:00
sysconf.3 sysconf(3): Correct the description of _SC_OPEN_MAX. 2013-04-26 21:43:42 +00:00
sysconf.c libc: Use namespace.h in a few more files. 2015-12-20 23:05:20 +00:00
sysctl.3 Fix formatting of tables. 2016-10-28 18:09:08 +00:00
sysctl.c Fix sysctl(3) so it returns the intended values for all mib names in 2015-07-06 01:42:12 +00:00
sysctlbyname.c Eliminate redundant variable. 2012-12-12 15:27:33 +00:00
sysctlnametomib.c
syslog.3 Add missing priority argument in example code in BUGS section. 2015-07-21 09:44:45 +00:00
syslog.c Reinstitate send() after syslogd restarts. 2014-11-25 20:59:22 +00:00
tcgetpgrp.3
tcgetsid.3
tcsendbreak.3
tcsetattr.3 Add a new libc function: cfmakesane(3). 2010-11-02 17:00:56 +00:00
tcsetpgrp.3
tcsetsid.3
telldir.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
telldir.h Tweak seekdir, telldir and readdir so that when htere are deletes going on, 2015-05-05 14:52:33 +00:00
termios.c Fix known issues which blow up the process after dlopen("libthr.so") 2015-01-03 18:38:46 +00:00
time.3
time.c
times.3
times.c
timezone.3
timezone.c Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
tls.c Re-use our roundup2() macro instead of reinventing the wheel. 2016-04-18 16:25:37 +00:00
trivial-getcontextx.c Remove duplicate copies of trivial getcontextx.c 2015-01-12 18:13:38 +00:00
ttyname.3 ttyname(3): Fix EBADF/ENOTTY error descriptions. 2014-07-18 21:29:59 +00:00
ttyname.c ttyname_r(): Return actual error, not always [ENOTTY]. 2015-02-01 22:50:33 +00:00
ttyslot.c Add declarations to eliminate -Wmissing-prototypes warnings 2015-09-20 03:58:27 +00:00
tzset.3
ualarm.3
ualarm.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
ucontext.3 Add API for obtaining extended machine context states that cannot be 2012-01-21 18:00:28 +00:00
ulimit.3
ulimit.c ulimit(3): simplify. 2015-02-17 16:01:00 +00:00
uname.3
uname.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
unvis-compat.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
usleep.3
usleep.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
utime.3 utimes(2),utime(3): Add deprecation in favour of utimensat(2) and futimens(2). 2016-06-09 22:14:58 +00:00
utime.c Use ANSI C prototypes. Eliminates -Wold-style-definition warnings. 2015-09-20 20:23:16 +00:00
utxdb.c Make utmpx(3) thread safe if we support TLS. 2012-03-23 08:26:31 +00:00
utxdb.h
valloc.3
valloc.c
wait3.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
wait.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
waitid.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
waitpid.c Remove names from some prototypes 2015-09-20 20:21:49 +00:00
wordexp.3 wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00
wordexp.c wordexp: Rewrite to make WRDE_NOCMD reliable. 2015-09-30 21:32:29 +00:00