diff options
author | brian <brian@FreeBSD.org> | 2001-11-03 21:45:32 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2001-11-03 21:45:32 +0000 |
commit | 6a1de171ac53cf7f8b25dd40c8d9578c6d9cbc5d (patch) | |
tree | ec148ab8a0b3c8d98c08221f9c5b958f68a4203f /usr.sbin/ppp/defs.c | |
parent | 008cbb2ddee52fd6e070d16340a547b330412183 (diff) | |
download | FreeBSD-src-6a1de171ac53cf7f8b25dd40c8d9578c6d9cbc5d.zip FreeBSD-src-6a1de171ac53cf7f8b25dd40c8d9578c6d9cbc5d.tar.gz |
Add a ``log'' command for logging specific information.
Add an ``UPTIME'' variable to indicate the bundle uptime.
It's now possible to put something like this in ppp.linkdown
for a server setup:
MYADDR:
log Session closing: User USER, address HISADDR, up UPTIME
Fixed some memory leakage with commands that expand words.
Made some functions static.
Fixed a diagnostic bug (iface add .... SIOCDIFADDR)
Diffstat (limited to 'usr.sbin/ppp/defs.c')
-rw-r--r-- | usr.sbin/ppp/defs.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/usr.sbin/ppp/defs.c b/usr.sbin/ppp/defs.c index 0e61f88..78ef1dc 100644 --- a/usr.sbin/ppp/defs.c +++ b/usr.sbin/ppp/defs.c @@ -387,3 +387,20 @@ zerofdset(fd_set *s) { memset(s, '\0', howmany(getdtablesize(), NFDBITS) * sizeof (fd_mask)); } + +void +Concatinate(char *buf, size_t sz, int argc, const char *const *argv) +{ + int i, n, pos; + + *buf = '\0'; + for (pos = i = 0; i < argc; i++) { + n = snprintf(buf + pos, sz - pos, "%s%s", i ? " " : "", argv[i]); + if (n < 0) { + buf[pos] = '\0'; + break; + } + if ((pos += n) >= sz) + break; + } +} |