updwtmpx - update prototype to be void, but ...
authorAlex Hornung <ahornung@gmail.com>
Sun, 31 Jul 2011 06:00:42 +0000 (07:00 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sun, 31 Jul 2011 14:57:26 +0000 (15:57 +0100)
 * also expose the int-returning prototype as _updwtmpx, only for internal
   DragonFly use. It seems as if most programs out there assume that
   updwtmpx returns void.

 * This should fix heirloom in pkgsrc

include/utmpx.h
lib/libc/gen/getlastlogx.3
lib/libc/gen/utmpx.c
lib/pam_module/pam_lastlog/pam_lastlog.c

index 3e26f6e..c4b3050 100644 (file)
@@ -119,7 +119,8 @@ struct utmpx *pututxline(const struct utmpx *);
 void          setutxent(void);
 
 #ifdef __BSD_VISIBLE
-int updwtmpx(const char *, const struct utmpx *);
+int _updwtmpx(const char *, const struct utmpx *);
+void updwtmpx(const char *, const struct utmpx *);
 struct lastlogx *getlastlogx(const char *, uid_t, struct lastlogx *);
 int updlastlogx(const char *, uid_t, struct lastlogx *);
 struct utmp;
index 2da4e96..83096f2 100644 (file)
@@ -36,6 +36,7 @@
 .Nm getutmpx ,
 .Nm updlastlogx ,
 .Nm updwtmpx ,
+.Nm _updwtmpx ,
 .Nm utmpxname
 .Nd user accounting database functions
 .Sh LIBRARY
 .Fn getutmpx "const struct utmp *u" "struct utmpx *ux"
 .Ft int
 .Fn updlastlogx "const char *fname" "uid_t uid" "struct lastlogx *ll"
-.Ft int
+.Ft void
 .Fn updwtmpx "const char *file" "const struct utmpx *utx"
 .Ft int
+.Fn _updwtmpx "const char *file" "const struct utmpx *utx"
+.Ft int
 .Fn utmpxname "const char *fname"
 .Sh DESCRIPTION
 The
@@ -117,7 +120,9 @@ All the fields should be filled out by the caller.
 .Pp
 The
 .Fn updwtmpx
-function updates the
+and
+.Fn _updwtmpx
+functions update the
 .Xr wtmpx 5
 file
 .Fa file
@@ -150,7 +155,7 @@ did not end with
 .Pp
 .Fn updlastlogx
 and
-.Fn updwtmpx
+.Fn _updwtmpx
 return 0 on success, or \-1 in case the database or file respectively
 could not be opened or the data not written into it.
 .Sh SEE ALSO
@@ -162,6 +167,7 @@ The functions
 .Fn getutmp ,
 .Fn getutmpx ,
 .Fn updwtmpx ,
+.Fn _updwtmpx
 and
 .Fn utmpxname
 first appeared in
index 2b9fcef..8f9b034 100644 (file)
@@ -345,9 +345,15 @@ utmp_update(const struct utmpx *utx)
 /*
  * The following are extensions and not part of the X/Open spec.
  */
-int
+void
 updwtmpx(const char *file, const struct utmpx *utx)
 {
+       (void)_updwtmpx(file, utx);
+}
+
+int
+_updwtmpx(const char *file, const struct utmpx *utx)
+{
        int fd;
        int saved_errno;
 
index 078752c..5088fee 100644 (file)
@@ -267,7 +267,7 @@ doutmpx(const char *username, const char *hostname, const char *tty,
        if (pututxline(&utmpx) == NULL)
                logit(LOG_NOTICE, "Cannot update utmpx %m");
        endutxent();
-       if (updwtmpx(_PATH_WTMPX, &utmpx) != 0)
+       if (_updwtmpx(_PATH_WTMPX, &utmpx) != 0)
                logit(LOG_NOTICE, "Cannot update wtmpx %m");
 }