svn commit: r263028 - in stable: 10/usr.sbin/services_mkdb 9/usr.sbin/services_mkdb
John Baldwin
jhb at FreeBSD.org
Tue Mar 11 15:28:43 UTC 2014
Author: jhb
Date: Tue Mar 11 15:28:41 2014
New Revision: 263028
URL: http://svnweb.freebsd.org/changeset/base/263028
Log:
MFC 261030:
Similar to cap_mkdb(1), add endianness support to services_mkdb(1)
to support cross-builds once this is invoked during releases.
Modified:
stable/9/usr.sbin/services_mkdb/services_mkdb.8
stable/9/usr.sbin/services_mkdb/services_mkdb.c
Directory Properties:
stable/9/usr.sbin/services_mkdb/ (props changed)
Changes in other areas also in this revision:
Modified:
stable/10/usr.sbin/services_mkdb/extern.h
stable/10/usr.sbin/services_mkdb/services_mkdb.8
stable/10/usr.sbin/services_mkdb/services_mkdb.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/9/usr.sbin/services_mkdb/services_mkdb.8
==============================================================================
--- stable/9/usr.sbin/services_mkdb/services_mkdb.8 Tue Mar 11 15:20:47 2014 (r263027)
+++ stable/9/usr.sbin/services_mkdb/services_mkdb.8 Tue Mar 11 15:28:41 2014 (r263028)
@@ -37,6 +37,7 @@
.Nd generate the services database
.Sh SYNOPSIS
.Nm
+.Op Fl b | l
.Op Fl q
.Op Fl o Ar database
.Op Ar file
@@ -61,6 +62,10 @@ The file must be in the correct format (
.Pp
The options are as follows:
.Bl -tag -width indent
+.It Fl b
+Use big-endian byte order for database metadata.
+.It Fl l
+Use little-endian byte order for database metadata.
.It Fl o Ar database
Put the output databases in the named file.
.It Fl q
@@ -70,6 +75,13 @@ Print the services file to stdout, omitt
.El
.Pp
The databases are used by the C library services routines (see
+.Pp
+The
+.Fl b
+and
+.Fl l
+flags are mutually exclusive.
+The default byte ordering is the current host order.
.Xr getservent 3 ) .
.Sh FILES
.Bl -tag -width ".Pa /var/db/services.db.tmp" -compact
Modified: stable/9/usr.sbin/services_mkdb/services_mkdb.c
==============================================================================
--- stable/9/usr.sbin/services_mkdb/services_mkdb.c Tue Mar 11 15:20:47 2014 (r263027)
+++ stable/9/usr.sbin/services_mkdb/services_mkdb.c Tue Mar 11 15:28:41 2014 (r263028)
@@ -67,7 +67,7 @@ static const char *getprotostr(StringLis
static const char *mkaliases(StringList *, char *, size_t);
static void usage(void);
-const HASHINFO hinfo = {
+HASHINFO hinfo = {
.bsize = 256,
.ffactor = 4,
.nelem = 32768,
@@ -87,14 +87,21 @@ main(int argc, char *argv[])
int warndup = 1;
int unique = 0;
int otherflag = 0;
+ int byteorder = 0;
size_t cnt = 0;
StringList *sl, ***svc;
size_t port, proto;
setprogname(argv[0]);
- while ((ch = getopt(argc, argv, "qo:u")) != -1)
+ while ((ch = getopt(argc, argv, "blo:qu")) != -1)
switch (ch) {
+ case 'b':
+ case 'l':
+ if (byteorder != 0)
+ usage();
+ byteorder = ch == 'b' ? 4321 : 1234;
+ break;
case 'q':
otherflag = 1;
warndup = 0;
@@ -119,6 +126,9 @@ main(int argc, char *argv[])
if (argc == 1)
fname = argv[0];
+ /* Set byte order. */
+ hinfo.lorder = byteorder;
+
if (unique)
uniq(fname);
@@ -423,7 +433,8 @@ out:
static void
usage(void)
{
- (void)fprintf(stderr, "Usage:\t%s [-q] [-o <db>] [<servicefile>]\n"
+ (void)fprintf(stderr,
+ "Usage:\t%s [-b | -l] [-q] [-o <db>] [<servicefile>]\n"
"\t%s -u [<servicefile>]\n", getprogname(), getprogname());
exit(1);
}
More information about the svn-src-stable-9
mailing list