Commit Graph

93 Commits

Author SHA1 Message Date
bdrewery
62b9eccfc3 Fix some rpcgen sample file issues.
* -Sc was generating code without a return type on main.
* -Sm was generating an unusable clean target due to undefined RM.
* -Sm was generating clean target with extra preceding space.

PR:		185582
Submitted by:	Pawel Biernacki <pawel.biernacki@gmail.com>
MFC after:	1 week
2014-06-06 17:38:37 +00:00
joel
8abe91ebd2 mdoc: minor paragraph fixes. 2014-02-08 13:37:02 +00:00
dfr
1bb9d2a8e0 Generate client sample code which compiles without warnings.
For 'rpcgen -a', generate a makefile where 'make clean all' works.
2013-12-26 11:38:33 +00:00
ed
af31e8843c More -Wmissing-variable-declarations fixes.
In addition to adding `static' where possible:

- bin/date: Move `retval' into extern.h to make it visible to date.c.
- bin/ed: Move globally used variables into ed.h.
- sbin/camcontrol: Move `verbose' into camcontrol.h and fix shadow warnings.
- usr.bin/calendar: Remove unneeded variables.
- usr.bin/chat: Make `line' local instead of global.
- usr.bin/elfdump: Comment out unneeded function.
- usr.bin/rlogin: Use _Noreturn instead of __dead2.
- usr.bin/tset: Pull `Ospeed' into extern.h.
- usr.sbin/mfiutil: Put global variables in mfiutil.h.
- usr.sbin/pkg: Remove unused `os_corres'.
- usr.sbin/quotaon, usr.sbin/repquota: Remove unused `qfname'.
2012-10-19 14:49:42 +00:00
dim
770ca66a70 In usr.bin/rpcgen/rpc_main.c, use execvp(3) instead of execv(3), so
rpcgen will search the current PATH for the preprocessor.  This makes it
possible to run a preprocessor built during the cross-tools stage of
buildworld.

MFC after:	1 week
2012-02-06 21:35:11 +00:00
dim
9df8133640 Amend r231079 by properly shifting up the existing arguments in
rpc_main.c's insarg() function.  I had forgotten to put this in my patch
queue, sorry.

Pointy hat to:	me
MFC after:	1 week
2012-02-06 12:08:41 +00:00
dim
7568a91a59 Let rpcgen(1) support an environment variable RPCGEN_CPP to find the C
preprocessor to run.  Previously, it always ran /usr/bin/cpp, unless you
used the -Y option, and even then you could not set the basename.  It
also attempted to run /usr/ccs/lib/cpp for SVR4 compatibility, but this
is obsolete, and has been removed.

Note that setting RPCGEN_CPP to a command with arguments is supported,
though the command line parsing is simplistic.  However, setting it to
e.g. "gcc46 -E" or "clang -E" will lead to problems, because both gcc
and clang in -E mode will consider files with unknown extensions (such
as .x) as object files, and attempt to link them.

This could be worked around by also adding "-x c", but it is much safer
to set RPCGEN_CPP to e.g. "cpp46" or "clang-cpp" instead.

MFC after:	1 week
2012-02-06 12:03:21 +00:00
dim
a0f02c4418 In usr.bin/rpcgen/rpc_main.c, properly check the return value of
strlcpy(), in addition to checking that of strlcat().

MFC after:	1 week
2012-02-05 20:55:38 +00:00
ed
e7e5b53bf1 Replace index() and rindex() calls with strchr() and strrchr().
The index() and rindex() functions were marked LEGACY in the 2001
revision of POSIX and were subsequently removed from the 2008 revision.
The strchr() and strrchr() functions are part of the C standard.

This makes the source code a lot more consistent, as most of these C
files also call into other str*() routines. In fact, about a dozen
already perform strchr() calls.
2012-01-03 18:51:58 +00:00
uqs
9953595f97 Spelling fixes for usr.bin/ 2011-12-30 11:02:40 +00:00
delphij
d352e8628e Use strlcpy().
MFC after:	1 month
2011-07-11 05:31:52 +00:00
benl
2f470acfb5 Fix clang warnings.
Note: these were actually bugs (printf with no format string).

Approved by: philip (mentor)
2011-05-18 20:52:52 +00:00
delphij
c866f0bf58 Plug a memory leak.
MFC after:	2 weeks
2010-05-06 21:57:38 +00:00
ed
9b380e30d4 Build usr.bin/ with WARNS=6 by default.
Also add some missing $FreeBSD$ to keep svn happy.
2010-01-02 10:27:05 +00:00
ed
b2f1332428 ANSIfy various tools in usr.bin/.
Most of these tools properly build at WARNS=6, except for their K&R
function declarations. Fix this, so we can bump WARNS as well.
2010-01-02 10:09:20 +00:00
delphij
0842b7d53f Revert most part of 200420 as requested, as more review and polish is
needed.
2009-12-13 03:14:06 +00:00
delphij
b963db4652 Remove unneeded header includes from usr.bin/ except contributed code.
Tested with:	make universe
2009-12-11 23:35:38 +00:00
dfr
53c0d641ea When generating thread-safe server code, handle procedures with void return
types correctly.
2008-08-12 13:38:06 +00:00
jb
9b945d63ed Generate code that doesn't fail gcc 4.2's strict aliasing test. 2007-11-20 01:46:12 +00:00
delphij
61f4826628 Use POSIX mutex instead of Solaris ones. This makes generation
of threaded RPC servers to work out of the box.

Spotted by:	Changming Sun <changming at staff.sina.com.cn>
Sponsored by:	SINA Corporation
Approved by:	re (kensmith)
2007-08-23 09:39:40 +00:00
delphij
78fc8a36f5 sysent.h is installed as sys/sysent.h, so reflect it.
Approved by:	re (kensmith)
Spotted by:	Changming Sun <changming at staff.sina.com.cn>
Sponsored by:	SINA Corporation
2007-08-23 09:38:26 +00:00
se
8761a2e70d Never define the generated rpc server main function with storage type
"static". The header file generated by "rpcgen -h" will always declare
it as extern, leading to a "static after extern" error being issued by
gcc-4.2. This caused only a warning in gcc-3.x, but it has been wrong
all the time.

This change does not modify the code generated by "rpcgen -m", it only
affects rpcgen used to generate server stubs with a local main function.

This is the minimal patch. It does not remove the now obsolete "storage"
parameter from write_program() and write_programs() in an attempt to keep
differences to other systems' versions of rpcgen as small as possible.
2007-06-16 14:39:25 +00:00
rwatson
fd6d54b37b In change 1.15, an arbitrary setting of the max RPC record size to
RPC_MAXDATASIZE was introduced.  This is believed to have been debugging
code committed accidentally, although I've been unable to reach the
committer to confirm this.  The effect was to limit the size of RPCs on
TCP and UDP to 9k, well below the default protocol limits in the libc
rpc code.  This change simply removes these introduced limits, falling
back on the libc definitions.

PR:		88856
Reported by:	Keith Bostic <bostic at sleepycat dot com>
Testing by:	Susan LoVerso <sue at loverso dot southborough dot ma dot us>
Reveiwed by:	cel, rees
Review timeout:	alfred, mbr
MFC after:	2 weeks
2006-05-17 23:18:17 +00:00
rodrigc
fe3737065c Eliminate coredump problem introduced by last commit.
Noticed by:	Guido van Rooij <guido at gvr dot org>
2005-11-14 13:35:08 +00:00
rodrigc
2cc617682f Eliminate build breakage due to warnings about const. 2005-11-14 03:11:25 +00:00
dwmalone
6a5a7b7290 Use ANSI definitions.
Avoid using extern by declaring shared functions in header files.
Const poision.
2005-11-13 21:17:24 +00:00
stefanf
722ba00f33 In version 1.8 I botched findval()'s type, fix. 2005-09-02 21:51:18 +00:00
stefanf
5147fb5967 Use socklen_t variables when passing sizes to getsockname() and
getsockopt().
2005-09-02 19:33:50 +00:00
stefanf
f3dab5aa3e The appropriate argument is -K -1, not -k -1. 2005-09-02 18:37:34 +00:00
stefanf
64cdbc5d06 Fix a syntax error in the generated code when invoked with -P. Note that
the generated code still doesn't compile as we lack tinfo, t_getinfo and
friends.
2005-09-02 18:20:47 +00:00
stefanf
da5c69f0c2 Stop generating the `register' keyword. 2005-09-02 10:32:05 +00:00
stefanf
7f349d21e6 Don't generate K&R C code. The -C flag is kept for backwards compatibility.
Also remove the SIG_PF macro, there is no need to cast closedown.
2005-09-02 10:23:26 +00:00
stefanf
cd3615cae7 Only write the dispatch table function prototypes to the header if the -h
flag was specified.  If all files are generated at once, those functions are
static and shouldn't appear in the header.

PR:		84450
Reviewed by:	alfred
2005-09-01 19:16:25 +00:00
stefanf
ed8baf6598 - Use prototypes in headers.
- Include rpc_scan.h before rpc_util.h for the tok_kind enum.
- Nuke unused declarations.
2005-08-31 20:45:15 +00:00
stefanf
991cce17d6 Rename the variable inline' to inline_size'. 2005-08-31 19:44:40 +00:00
stefanf
e73616b51f Move #ident into #if 0. 2005-05-31 20:00:29 +00:00
alfred
e6388323e9 back out 1.7 changes, unneeded and possibly wrong. 2005-02-10 10:44:29 +00:00
stefanf
d65c308b85 Let the generated code include <string.h> instead of <memory.h>. 2005-02-10 08:12:38 +00:00
alfred
44d9bd3489 Modify rpcgen -t output to something that's a lot more useful in
today's modern "no sir, not today" compilers.

Basically, when building the table:

 use NULL instead of 0,
 use braces around array initializers,
 case the function pointers to xdrproc_t,
 don't cast function pointers that do not need casting.

MFC After: 1 week
2005-02-02 22:14:10 +00:00
ru
039d88f8a0 Markup nit. 2005-01-15 11:20:51 +00:00
ru
fb1d8b3724 Mechanically kill hard sentence breaks. 2004-07-02 22:22:35 +00:00
smkelly
746c90d1a0 - style(9) improvements courtesy of bde.
- Revise the former commit to behave nicer on filenames containing
  multiple '.' characters.
- Prevent the generation of macros starting with "__".
2004-05-02 07:07:54 +00:00
smkelly
7d92f80dd2 Teach rpcgen to generate .h files properly when the input filename contains
characters that can't be used in preprocessor macros.

PR:		bin/66156
Submitted by:	K S Braunsdorf <rpc@ksb.npcguild.org>
2004-05-02 01:55:23 +00:00
mbr
27abef6699 Fix broken -a functionality.
Reviewed by:	phk
Submitted by:	Martin Kammerhofer <mkamm@gmx.net>
PR:		53451

MFC:		1 week
2003-06-19 09:19:51 +00:00
mbr
f4b7d59385 Implement nonblocking tpc-connections. rpcgen -m does still
produce backcompatible code.

Reviewed by:	rwatson
Obtained from:	NetBSD
MFC after:	1 day
2003-01-16 07:27:30 +00:00
ru
b67068895d mdoc(7) police: markup polishing.
Approved by:	re
2002-11-26 17:33:37 +00:00
charnier
26ad533edb Removal of spaces at EOL. Add __FBSDID. New function xmalloc, xrealloc,
xstrdup. There is a crash() function that do cleaning before exiting the
program. The new functions are wrappers that make use of crash() in case
of allocation failure. warn, exit -> err.

Reviewed by:	alfred
2002-07-21 12:55:04 +00:00
alfred
b7f8470fdf WARNS=2 2002-07-14 17:55:35 +00:00
alfred
d95d8b89ab - TI-RPC is now the default again for code generation.
- As before, inetd support support is turned of per default.
  Code for inetd can be made with -I.

- Support for ``transport monitors'' and the NLSPROVIDER env
  variable is still there , even if their use is not clear in
  non TLI stream based systems like Free-/NetBSD. It can be activated
  with -P.

- There are a few corrections in rpcgen.1 and usage function to conform
  to the code. Added and documented -P

- I removed the #ifdefs checks for Free-/NetBSD since we are the only
  ones who use this code. MaxOS X may have the same limitations as
  we have, so this code will correctly build for them.

- Generate correct cflags.

Submitted by: mbr, Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
PR: bin/29175, misc/27816
2002-07-14 17:54:00 +00:00
des
349f81351d Back out part of previous commit - K&R doesn't have const. 2002-05-09 11:24:58 +00:00