Matthew Dillon [Mon, 21 Jun 2004 03:25:33 +0000 (03:25 +0000)]
Fix a prototype error in gcc-3.3's com.h in order to allow gcc-3.4 to compile
it. This is a bad hack but we are going to remove 3.3 from the tree soon
anyway.
Matthew Dillon [Mon, 21 Jun 2004 02:28:34 +0000 (02:28 +0000)]
'lrint' is a gcc3.4 builtin and gcc3.4 is unhappy if we use that for anything
else.
Chris Pressey [Mon, 21 Jun 2004 01:37:42 +0000 (01:37 +0000)]
Merge with FreeBSD (HEAD) src/usr.sbin/kbdmap/*:
Move towards Perl removal from the base by replacing the Perl script
'kbdmap' with the version from FreeBSD 5, which is written in C.
Submitted-by: Tim Wickberg <me at k9mach3 dot org>
Additional-testing-by: William DeVries
Hiten Pandya [Mon, 21 Jun 2004 01:03:06 +0000 (01:03 +0000)]
Check kp (struct kinfo_proc *kp) against NULL and not 0, because it is a
pointer.
Hiten Pandya [Mon, 21 Jun 2004 00:47:57 +0000 (00:47 +0000)]
Use the kern.boottime sysctl for retrieving the system boot time as a
struct timeval. This is used to fix the STARTED column for pure kernel
threads.
Note, currently, we do not set the start time for pure threads due to
safety issues with microtime(9), although this change conditionalizes
the thread start time appropriately, so that in the future when pure
threads will account their start time, we wouldn't need to change anything
in this utility (with regard to the start time, ofcourse).
Discussed-with: Matthew Dillon <dillon@apollo.backplane.com>
Joerg Sonnenberger [Mon, 21 Jun 2004 00:20:33 +0000 (00:20 +0000)]
make ==> ${MAKE} ${.TARGET}
Joerg Sonnenberger [Mon, 21 Jun 2004 00:03:41 +0000 (00:03 +0000)]
make => ${MAKE}
Hiten Pandya [Sun, 20 Jun 2004 22:29:10 +0000 (22:29 +0000)]
Move the 'p_start' field from struct pstats (Process Statistics) into the
thread structure and call it 'td_start'. The behavior of vm_fork(9) is
retained, i.e., it still copies the start time from the parent process just
as it did before.
The 'td_start' will later be used by pure threads to indicate their start
time. It has not been committed in this round because use of the microtime()
function at such a early point in the boot process might be unsafe.
Note, there should be no problem in accessing the td_start field, unless
the process is a Zombie; due to the way Zombies are reaped, the thread will
be decoupled in kern_wait1() but the process will still be around for a
while it will not be possible to access the td_start field in such
scenarios. A little note about this has been added on top of struct proc
in <sys/proc.h> for future reference.
This work was a collaboration of Hiten Pandya <hmp@backplane.com> and
Matthew Dillon <dillon@apollo.backplane.com>
Matthew Dillon [Sun, 20 Jun 2004 22:19:51 +0000 (22:19 +0000)]
Allow CCVER to be empty, which will cause the compiled-in default compiler
to be used.
Joerg Sonnenberger [Sun, 20 Jun 2004 21:41:15 +0000 (21:41 +0000)]
Add the STABS default output hack for GCC 3.4 too.
Joerg Sonnenberger [Sun, 20 Jun 2004 20:59:21 +0000 (20:59 +0000)]
For cc_tools, recurse into cc_prep when building dependencies to get
the patched source tree.
c++filt and gcov use getopt, add the libc version when bootrapping. The
source and header file is copyied by cc_prep in that situation.
Add an explicit directory order in the top-level Makefile.
Joerg Sonnenberger [Sun, 20 Jun 2004 20:54:09 +0000 (20:54 +0000)]
Explicitly recurse into gnu/usr.bin/cc34/cc_prep for depend to ensure
that the source tree is prepared for us. This may otherwise fail for
buildworld.
Joerg Sonnenberger [Sun, 20 Jun 2004 20:49:45 +0000 (20:49 +0000)]
Export HOST_CCVER via environment to fixate it to either the specified
value or the default CCVER.
Joerg Sonnenberger [Sun, 20 Jun 2004 20:41:07 +0000 (20:41 +0000)]
Don't include _CPUCFLAGS since the host compiler (aka NXCC) might not
understand them. Add HOST_CCVER which replaces CCVER for NXCC and NXCXX.
This defaults to CCVER, but can be overriden via environment e.g. from
Makefile.inc1.
Hiten Pandya [Sun, 20 Jun 2004 17:44:11 +0000 (17:44 +0000)]
Zero-out the whole pstats structure and then copy the relevant fields,
instead of messing with caddr_t's and range-based zero'ing.
Discussed-with: Matthew Dillon <dillon@backplane.com>
Hiten Pandya [Sun, 20 Jun 2004 05:55:30 +0000 (05:55 +0000)]
Zero the interval timers on fork(2) rather than copying them to the
child process (SUSv3 compliance).
Discussed-with: Matthew Dillon <dillon@backplane.com>
Hiten Pandya [Sun, 20 Jun 2004 02:53:19 +0000 (02:53 +0000)]
Hook up the asa(1) utility to the build system.
Hiten Pandya [Sun, 20 Jun 2004 02:52:15 +0000 (02:52 +0000)]
Add the POSIXv2 asa(1) utility; it interprets FORTRAN carriage-control
characters.
Obtained-from: FreeBSD (they imported it from NetBSD)
Hiten Pandya [Sun, 20 Jun 2004 02:36:01 +0000 (02:36 +0000)]
Hook up the recently added utilities [1] to the build.
[1] = asf(1), csplit(1) and tabs(1)
Joerg Sonnenberger [Sun, 20 Jun 2004 02:22:55 +0000 (02:22 +0000)]
Define __DragonFly_cc_version for CPP
Matthew Dillon [Sun, 20 Jun 2004 02:14:58 +0000 (02:14 +0000)]
Merge from vendor branch GCC:
Bring in a trimmed down gcc-3.4-
20040618.
Submitted-by: Joerg Sonnenberger <joerg@crater.dragonflybsd.org>
Matthew Dillon [Sun, 20 Jun 2004 02:14:58 +0000 (02:14 +0000)]
Bring in a trimmed down gcc-3.4-
20040618.
Submitted-by: Joerg Sonnenberger <joerg@crater.dragonflybsd.org>
Joerg Sonnenberger [Sun, 20 Jun 2004 00:43:28 +0000 (00:43 +0000)]
Always set the _CPUCFLAGS in bsd.cpu.gcc2.mk to some known, safe
value. For the !CPUTYPE || CPUTYPE==i386 case _CPUCFLAGS wasn't
reset which breaks a CCVER=gcc34 buildworld, because the default
flags for gcc34 (-mtune=pentiumpro) doesn't work for gcc2.
Joerg Sonnenberger [Sun, 20 Jun 2004 00:20:28 +0000 (00:20 +0000)]
Use our specs, not FreeBSD's.
Joerg Sonnenberger [Sun, 20 Jun 2004 00:19:51 +0000 (00:19 +0000)]
Manually recurse into ../cc_prepend for depend to workaround
buildworld issues.
Joerg Sonnenberger [Sun, 20 Jun 2004 00:10:52 +0000 (00:10 +0000)]
Redo the ProPolice patches, there were partly broken.
Hiten Pandya [Sat, 19 Jun 2004 22:03:08 +0000 (22:03 +0000)]
IEEE Std. 1003.1-2001 (SUSv3):
Add the tabs(1) utility.
Written by Tim J. Robbins of the FreeBSD Project.
Hiten Pandya [Sat, 19 Jun 2004 21:51:54 +0000 (21:51 +0000)]
Add the csplit(1) utility, which splits files based on context, as
specified by IEEE Std. 1003.1-2001 (SUSv3).
Written by Tim J. Robbins (tjr@) of the FreeBSD Project.
Joerg Sonnenberger [Sat, 19 Jun 2004 20:38:22 +0000 (20:38 +0000)]
Fix GCC 3.4 build
Joerg Sonnenberger [Sat, 19 Jun 2004 20:36:04 +0000 (20:36 +0000)]
Fix GCC 3.4 build.
Joerg Sonnenberger [Sat, 19 Jun 2004 18:55:48 +0000 (18:55 +0000)]
Fix compilation "Label at end of compound statement" and some missing
prototyps / K&R style functions for GCC 3.4.
Chris Pressey [Sat, 19 Jun 2004 17:28:28 +0000 (17:28 +0000)]
Fix a bogus type declaration to remove a compiler warning - `group'
in this case refers to a netgroup name, and should therefore be a
char * instead of a gid_t.
Requested-by: joerg
Joerg Sonnenberger [Sat, 19 Jun 2004 17:19:50 +0000 (17:19 +0000)]
Fix GCC 3.4 build
Joerg Sonnenberger [Sat, 19 Jun 2004 16:40:36 +0000 (16:40 +0000)]
Remove the evil inline ==> rpcgen_inline CPP hack, rename the variable
properly. Use ISO C prototyps. Remove useless void casts. Do some other
style updates. Remove !defined(__DragonFly__) cases, one was checking for
__Dragonfly__, which broke buildworld with GCC 3.4. Add a break after
default: in switch statements, which is not portable and an error with
GCC 3.4 and later.
Matthew Dillon [Sat, 19 Jun 2004 16:03:01 +0000 (16:03 +0000)]
Fix an aggregious non-terminated buffer issue and also fix the retry code
(the buffer was being wiped and needed to be regenerated for the retry).
Reported-by: Vincent Labrecque <vincent@psyfreaks.ca>
Hiten Pandya [Sat, 19 Jun 2004 12:34:52 +0000 (12:34 +0000)]
Fix prototype of usage().
Joerg Sonnenberger [Sat, 19 Jun 2004 11:13:30 +0000 (11:13 +0000)]
First stage in cleaning the built-in pathes of gcc. Adapted patch from
cc3/gcc.patch and fit directly into the patching system.
Joerg Sonnenberger [Sat, 19 Jun 2004 10:34:17 +0000 (10:34 +0000)]
Include ProPolice suport for GCC 3.4.
Obtained-from: http://www.trl.ibm.com/projects/security/ssp
Additional files forgotten in first commit.
Joerg Sonnenberger [Sat, 19 Jun 2004 10:30:08 +0000 (10:30 +0000)]
Include ProPolice suport for GCC 3.4.
Obtained-from: http://www.trl.ibm.com/projects/security/ssp
Adjust Makefile.langs to use the patched common.opts from cc_prep.
David Rhodus [Fri, 18 Jun 2004 23:50:34 +0000 (23:50 +0000)]
Create twed0 entries in /dev
David Rhodus [Fri, 18 Jun 2004 21:45:06 +0000 (21:45 +0000)]
Fix installworld by making it aware of the rconfig examples.
Hiten Pandya [Fri, 18 Jun 2004 21:20:55 +0000 (21:20 +0000)]
Add a helper utility, called asf(8): Add Symbol File.
The purpose of this utility is to extract start addresses from kldstat(8)'s
output and prepare a .gdbinit style file (called .asf) with GDB commands to
load the KLD files at the right offset.
The file can then be given to the 'source' command of GDB so that it does
its magic. This is how one can invoke the asf(8) command:
# asf -k -f -s -x /modules gdb.kldsyms.asf
Note, the '-k' output invokes kldstat(8) automatically, otherwise it
accepts kldstat(8) sytle output on stdin, which can be produced by a
gdb macro so that is is equally useful in post-crash analysis.
One needs to compile the module with debugging symbols, though.
Obtained-from: FreeBSD (CVS, MAIN branch)
Matthew Dillon [Fri, 18 Jun 2004 18:36:06 +0000 (18:36 +0000)]
A sample rconfig script which completely wipes and reinstalls dragonfly
on a fresh HD.
Matthew Dillon [Fri, 18 Jun 2004 04:26:53 +0000 (04:26 +0000)]
chdir into WorkDir before running the downloaded script.
Exit with an error if both -a and a list of hosts are specified on the
command line.
Matthew Dillon [Fri, 18 Jun 2004 02:46:46 +0000 (02:46 +0000)]
Write a remote configuration utility called 'rconfig'. This initial
implementation is very basic and designed to be convienient. It allows a
CD user to scan the network for configuration servers, download a
configuration script based on a tag name, and execute that script all in
one simple command. Running the rconfig server is just as easy... you
basically just run the server -a -s and put your scripts in
/usr/local/etc/rconfig/<tagname>.sh and you are done.
Of course the scripts themselves have to be written and can certainly become
quite complex.
In order to use rconfig from a CD Boot at least one network interface must
be properly configured. The dhclient program is usually used to accomplish
this.
Joerg Sonnenberger [Thu, 17 Jun 2004 23:28:39 +0000 (23:28 +0000)]
The insn-conditions.c generated by stock GCC does some bad premature
optimizations which breaks e.g. genflags. Remove this until a better
solution is found.
David Rhodus [Thu, 17 Jun 2004 19:37:29 +0000 (19:37 +0000)]
Default the MMX/XMM kernel optimizations to the on position. Also make a
note in the loader man page that these optimizations can be turned off at
the loader by setting kern.mmxopt=1.
Joerg Sonnenberger [Thu, 17 Jun 2004 18:05:17 +0000 (18:05 +0000)]
Don't whine about malloc/realloc "poising" the code for YACC files.
Matthew Dillon [Thu, 17 Jun 2004 16:51:56 +0000 (16:51 +0000)]
Don't set prefetch mode on VIA chips, it causes problems on newer chips and
ATAPI devices.
Notified-by: David Xu <davidxu@viatech.com.cn>
Taken-From: FreeBSD-5
Hiten Pandya [Thu, 17 Jun 2004 01:30:27 +0000 (01:30 +0000)]
Spell 'written' properly.
Hiten Pandya [Wed, 16 Jun 2004 01:17:30 +0000 (01:17 +0000)]
Fix spelling in comment.
Matthew Dillon [Wed, 16 Jun 2004 01:14:10 +0000 (01:14 +0000)]
Make sure gcc_local.c and any left over patch mess is cleaned up by make clean,
and fix an improper setting of CLEANFILES for cpp and f77.
Matthew Dillon [Wed, 16 Jun 2004 01:06:45 +0000 (01:06 +0000)]
Clean up GCC3.3, rip out all the weird search paths it adds and fix a long
standing bug that was preventing it from finding the crtbegin*.o and
crtend*.o files in their new home.
In consultation with: Joerg Sonnenberger <joerg@britannica.bec.de>
Joerg Sonnenberger [Tue, 15 Jun 2004 13:43:20 +0000 (13:43 +0000)]
Fix warning
Joerg Sonnenberger [Tue, 15 Jun 2004 11:56:03 +0000 (11:56 +0000)]
Really use the host compiler in bsd.hostprog.mk
Joerg Sonnenberger [Tue, 15 Jun 2004 08:53:09 +0000 (08:53 +0000)]
Nuke lib/csu/i386 (a.out support) and copy lib/csu/i386-elf there.
Joerg Sonnenberger [Tue, 15 Jun 2004 07:53:32 +0000 (07:53 +0000)]
Add CCVER=gcc34 support to bsd.cpu.mk. Also add the magic for AMD64 support
for GCC 3.4 and backwards compatiblity for the older compilers.
Joerg Sonnenberger [Tue, 15 Jun 2004 07:35:17 +0000 (07:35 +0000)]
Add directory entries for GCC 3.4.
Matthew Dillon [Tue, 15 Jun 2004 00:30:55 +0000 (00:30 +0000)]
Fix a race with the clearing of p->p_session->s_ttyvp. NULL the pointer
out before calling vrele() rather then after.
Fix a bug with v_opencount accounting on revoke(). The underlying device
was being closed properly but v_opencount was being decremented which causes
it to go negative when close() is called on the descriptor later on. To
fix the bug we zero out v_opencount() when the underlying vnode's device
is disassociated and spec_close() now only decrements it when the device is
associated.
Reported-by: GeekGod
Testing-by: GeekGod, Hiten, David Rhodus.
Joerg Sonnenberger [Mon, 14 Jun 2004 22:27:56 +0000 (22:27 +0000)]
Build infrastructure for GCC 3.4
This is based both on the logical structure of GCC own Makefiles
and the build framework of GCC 3.3. For the moment, the generated
helper files are recreated for each directory using them to make
the dependencies simpler. libgcc_r is not included, because the
only difference is the normal version is an explicit call to
pthread_mutex_init instead of using the static init model, which
is serialized by a spinlock for all those locks.
This is not yet hooked into the normal buildworld system.
Joerg Sonnenberger [Mon, 14 Jun 2004 20:08:02 +0000 (20:08 +0000)]
Add the old CSU files to list of file to be deleted and keep the new ones.
Joerg Sonnenberger [Mon, 14 Jun 2004 19:35:36 +0000 (19:35 +0000)]
Switch from GCC-version specific crtbegin/crtend code to the version
independent code. This is binary compatible with old version. The old
object files are currently left in place.
Joerg Sonnenberger [Mon, 14 Jun 2004 18:56:12 +0000 (18:56 +0000)]
Import BSD-licensed crtbegin/crtend support.
Obtained-from: NetBSD
Note: crtend.c comes without license header. I send a mail to Jason Thorpe
and will update it according to the response. I'm assuming the normal
4-clause NetBSD license for now.
Hiten Pandya [Mon, 14 Jun 2004 15:26:56 +0000 (15:26 +0000)]
Make the procfs_validfile() function static.
Hiten Pandya [Mon, 14 Jun 2004 01:35:36 +0000 (01:35 +0000)]
If there was a cache hit, and the msf->m_flags was set to SFBA_ONFREEQ,
make sure we dequeue it properly before jumping to the 'done' label.
Reported-by: Emiel Kollof <coolvibe@gamepoint.net>
Discussed-with: Matthew Dillon <dillon@backplane.com>
Matthew Dillon [Sat, 12 Jun 2004 03:09:41 +0000 (03:09 +0000)]
start_forked_proc() should not be called when rfork() is called without
RFPROC, since no new process is being created.
Reported-by: Hiten
Testing-by: Hiten
Matthew Dillon [Sat, 12 Jun 2004 03:07:36 +0000 (03:07 +0000)]
ANSIfy the remaining K&R functions. Remove two bzero-after-malloc's in
favor of M_ZERO, replace all uses of the MALLOC() macro with malloc(), and
replace all uses of the FREE() macro with free().
This is a cleanup commit only.
Matthew Dillon [Sat, 12 Jun 2004 01:55:59 +0000 (01:55 +0000)]
Fix a bug in the reply port path related to aborts. Aborted messages are
requeued to the target port. If the target is processing the message and
replies to it, the replyport code is supposed to remove any requeued aborts
(since the target completed processing of that message).
However, this was only occuring for MSGF_ASYNC messages. It must be done for
both originator synchronous and originator asynchronous messages (abort
processing has nothing to do with how the originator sent the message).
Reported-by: David Rhodus
Testing-by: David Rhodus
Hiten Pandya [Fri, 11 Jun 2004 12:03:15 +0000 (12:03 +0000)]
Do not produce a warning if the sysctl does not exist. This happens when
the kernel is compiled without the INET6 option.
Matthew Dillon [Thu, 10 Jun 2004 22:11:39 +0000 (22:11 +0000)]
Both 'ps' and the loadav calculations got broken by thread sleeps, which
occur without knowledge by the proc and so ps/loadav thought processes
sitting in e.g. accept() were in a 'R'un state when they were actually
sleeping.
Make ps and the loadav calculator thread-aware.
Joerg Sonnenberger [Thu, 10 Jun 2004 10:31:29 +0000 (10:31 +0000)]
Add Makefile support for host programs (.nx) just like we support normal
programs with bsd.prog.mk. The difference is that bsd.hostprog.mk doesn't
support man pages, scripts and builds ${PROG}.nx.
Hiten Pandya [Wed, 9 Jun 2004 23:35:45 +0000 (23:35 +0000)]
Revert the locking of feof(3) for now; there is possibility of ill
effects due to the current implementation of funlockfile().
Inspired by rev. 1.7 of lib/libc/stdio/fclose.c.
Hiten Pandya [Wed, 9 Jun 2004 20:26:04 +0000 (20:26 +0000)]
Add some whitespace for clarity. No operational changes.
Hiten Pandya [Wed, 9 Jun 2004 19:40:59 +0000 (19:40 +0000)]
Add a 'big fat comment' about the FUNLOCKFILE(fp) implementation and why
it needs to be called before modification of the FILE flags.
Requested-by: Matthew Dillon <dillon at backplane.com>
Hiten Pandya [Wed, 9 Jun 2004 19:28:04 +0000 (19:28 +0000)]
Revert previous commit about FUNLOCKFILE(fp), it causes ill (and weird)
effects for ports like Mozilla and net/freeraidus.
Joerg Sonnenberger [Wed, 9 Jun 2004 12:32:07 +0000 (12:32 +0000)]
Add implemenation of lrealpath. This works like realpath, but returns
a dynamically allocated string or a copy of the original pathname, if
realpath(3) failed. This can return NULL, if malloc(3) failed.
Joerg Sonnenberger [Wed, 9 Jun 2004 12:19:21 +0000 (12:19 +0000)]
Fix the warranty, this is not UCB code
Joerg Sonnenberger [Wed, 9 Jun 2004 10:42:32 +0000 (10:42 +0000)]
Begin implementing a -liberty replacement for binutils and GCC under
BSD license. Any commit for this has to be carefully evaluated not to
create derived work from the corresponding GPL/LGPL code.
This is intentionally not yet hooked into the build tree.
Chris Pressey [Wed, 9 Jun 2004 07:53:55 +0000 (07:53 +0000)]
Merge ... FreeBSD (RELENG_4) src/usr.bin/script/script.c, revision
1.11.2.2:
Let script(1)'s stdin/stdout be something besides a terminal,
allowing it to operate non-interactively. (Addresses FreeBSD PR's
bin/56166, bin/57414, ports/57415, bin/59036, and ports/60534)
Approved-by: dillon
Chris Pressey [Wed, 9 Jun 2004 07:40:15 +0000 (07:40 +0000)]
Add -u option to cpdup(1), which causes its -v[vv] logging output to
stdout to be line-buffered instead of fully buffered.
Approved-by: dillon
David Rhodus [Tue, 8 Jun 2004 15:50:43 +0000 (15:50 +0000)]
Add the SysKonnect ethernet driver to the GENERIC kernel config.
Eirik Nygaard [Tue, 8 Jun 2004 13:20:56 +0000 (13:20 +0000)]
Update tcpslice to version 3.8.
Noticed by: David Rhodus <drhodus@machdep.com>
Jeffrey Hsu [Tue, 8 Jun 2004 10:14:45 +0000 (10:14 +0000)]
Try the ELF image activator first.
Hiten Pandya [Tue, 8 Jun 2004 04:04:11 +0000 (04:04 +0000)]
If handed a bad file pointer that we can't write to, set the errno value
to EBADF in order to get SUSv2 conformant behavior in higher level calls
like fputs() and puts().
Obtained-from: FreeBSD (HEAD)
Hiten Pandya [Tue, 8 Jun 2004 03:53:44 +0000 (03:53 +0000)]
IEEE Std. 1003.1-2001 wants feof(3) to behave as if it locked the FILE
stream for thread safety.
Hiten Pandya [Tue, 8 Jun 2004 03:36:47 +0000 (03:36 +0000)]
IEEE Std. 1003.1-2001 dictates that fileno(3) behave as it locked the
stream.
Hiten Pandya [Tue, 8 Jun 2004 02:58:52 +0000 (02:58 +0000)]
Replace the use of specially reserved pbufs in NFS's nfs_getpages() and
nfs_putpages() with MSF BUFs. The pbufs were only used for providing a
KVA start address for the UIO and then released, thus being temporary.
This will not give a very huge boost in performance just yet because
not enough MSF_BUFs being reserved due to shortages of available KVA.
Until we convert the BUF and DEV subsystems to utilize the MSF_BUF+XIO
combo, we are pretty much limited.
In the worst case, the thrashing effect of MSF_BUFs will be no more then
the temporary pbuf+qenter; instead, the MSF_BUF will not be able to
cache the page-list mappings and end up doing a pmap_qenter() everytime.
Discussed-with: Matthew Dillon <dillon@backplane.com>
(Earlier version of these changes were tested by him)
Hiten Pandya [Tue, 8 Jun 2004 02:41:41 +0000 (02:41 +0000)]
Remove an accessory function called msf_buf_xio(); it is unnecessary for
now and was just additional bloat.
Hiten Pandya [Tue, 8 Jun 2004 02:27:49 +0000 (02:27 +0000)]
Conditionally include the essential header files, sys/queue.h and
sys/xio.h.
Hiten Pandya [Tue, 8 Jun 2004 02:15:38 +0000 (02:15 +0000)]
Re-order include, 'sys' includes first, 'vm' includes after.
Hiten Pandya [Tue, 8 Jun 2004 00:45:00 +0000 (00:45 +0000)]
C99 update: freopen(3) with NULL 'path' argument so that it opens the
same file with a different mode.
At the moment, we just recycle the old file descriptor instead of storing
it somewhere and using that to reopen the file, as the standard seems to
require. Strictly conforming C99 applications would probably not be able
to tell the difference but POSIX ones can.
While I am there, update the manual page about the new functionality and
correct nearby mdoc(7) markup errors.
Original-work-by: Tim J. Robbins <tjr@freebsd.org>
Additional-work-by: Hiten Pandya <hmp@backplane.com>
Hiten Pandya [Tue, 8 Jun 2004 00:29:47 +0000 (00:29 +0000)]
mdoc(7) corrections; use .Dv instead of .Em etc, fix grammar.
Hiten Pandya [Tue, 8 Jun 2004 00:29:03 +0000 (00:29 +0000)]
Document security issues with gets(3) in a proper manner.
Hiten Pandya [Mon, 7 Jun 2004 20:57:15 +0000 (20:57 +0000)]
Set the return value properly for fgetpos(3).
Hiten Pandya [Mon, 7 Jun 2004 20:45:14 +0000 (20:45 +0000)]
FUNLOCKFILE(fp) *after* modifying the FILE pointer's fields.
Hiten Pandya [Mon, 7 Jun 2004 20:35:41 +0000 (20:35 +0000)]
Use ANSI C prototypes and remove the !__STDC__ varargs compatibility
junk.
Add a missing '$DragonFly$' tag in stdio/setbuf.c file.
Hiten Pandya [Mon, 7 Jun 2004 17:59:42 +0000 (17:59 +0000)]
Avoid a memory leak if vfprintf(3) by always calling va_end(3); this
happens if vfprintf(3) runs out of memory.
Move the va_start(3) closer to the vfprintf(3) call; free the buffer
when if there is a failure condition and don't bother to realloc the
buffer before returning it.
Work done by Bruce Evans and Tim J. Robbins of the FreeBSD Project.
Hiten Pandya [Mon, 7 Jun 2004 16:53:40 +0000 (16:53 +0000)]
Remove useless __STDC__ junk.
Correct a nearby comment, s/NULL/NUL/ (NUL char...)
Hiten Pandya [Mon, 7 Jun 2004 16:37:56 +0000 (16:37 +0000)]
Use correct sentence structure.
Hiten Pandya [Mon, 7 Jun 2004 16:31:02 +0000 (16:31 +0000)]
Dissolve use of the 'register' keyword.