320 lines
8.9 KiB
Diff
320 lines
8.9 KiB
Diff
Upstream-Status: Pending
|
|
|
|
From 096abf14d2dc978607ccd8a0d7f42da65d8991f3 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Sun, 9 Sep 2012 22:00:04 -0700
|
|
Subject: [PATCH] Revert "utent.c, wtent.c: move functions from utxent.c"
|
|
|
|
This reverts commit 84135275cfeebc0b233c1c96eeada4d4178a0b18.
|
|
---
|
|
include/utmp.h | 8 +++++
|
|
libc/misc/utmp/utent.c | 80 +++++++++++------------------------------------
|
|
libc/misc/utmp/utxent.c | 4 +--
|
|
libc/misc/utmp/wtent.c | 14 ++-------
|
|
4 files changed, 30 insertions(+), 76 deletions(-)
|
|
|
|
Index: git/include/utmp.h
|
|
===================================================================
|
|
--- git.orig/include/utmp.h 2013-01-21 16:37:18.000000000 -0800
|
|
+++ git/include/utmp.h 2013-01-21 16:40:56.987583099 -0800
|
|
@@ -56,30 +56,37 @@
|
|
/* Append entry UTMP to the wtmp-like file WTMP_FILE. */
|
|
extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp)
|
|
__THROW;
|
|
+libc_hidden_proto(updwtmp)
|
|
|
|
/* Change name of the utmp file to be examined. */
|
|
extern int utmpname (const char *__file) __THROW;
|
|
+libc_hidden_proto(utmpname)
|
|
|
|
/* Read next entry from a utmp-like file. */
|
|
extern struct utmp *getutent (void) __THROW;
|
|
+libc_hidden_proto(getutent)
|
|
|
|
/* Reset the input stream to the beginning of the file. */
|
|
extern void setutent (void) __THROW;
|
|
+libc_hidden_proto(setutent)
|
|
|
|
/* Close the current open file. */
|
|
extern void endutent (void) __THROW;
|
|
+libc_hidden_proto(endutent)
|
|
|
|
/* Search forward from the current point in the utmp file until the
|
|
next entry with a ut_type matching ID->ut_type. */
|
|
extern struct utmp *getutid (const struct utmp *__id) __THROW;
|
|
+libc_hidden_proto(getutid)
|
|
|
|
/* Search forward from the current point in the utmp file until the
|
|
next entry with a ut_line matching LINE->ut_line. */
|
|
extern struct utmp *getutline (const struct utmp *__line) __THROW;
|
|
+libc_hidden_proto(getutline)
|
|
|
|
/* Write out entry pointed to by UTMP_PTR into the utmp file. */
|
|
extern struct utmp *pututline (const struct utmp *__utmp_ptr) __THROW;
|
|
-
|
|
+libc_hidden_proto(pututline)
|
|
|
|
#if 0 /* def __USE_MISC */
|
|
/* Reentrant versions of the file for handling utmp files. */
|
|
Index: git/libc/misc/utmp/utent.c
|
|
===================================================================
|
|
--- git.orig/libc/misc/utmp/utent.c 2013-01-21 16:37:18.000000000 -0800
|
|
+++ git/libc/misc/utmp/utent.c 2013-01-21 16:38:14.035578638 -0800
|
|
@@ -19,9 +19,6 @@
|
|
#include <errno.h>
|
|
#include <string.h>
|
|
#include <utmp.h>
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-# include <utmpx.h>
|
|
-#endif
|
|
#include <not-cancel.h>
|
|
|
|
#include <bits/uClibc_mutex.h>
|
|
@@ -34,7 +31,7 @@
|
|
static const char *static_ut_name = default_file_name;
|
|
|
|
/* This function must be called with the LOCK held */
|
|
-static void __setutent_unlocked(void)
|
|
+static void __setutent(void)
|
|
{
|
|
if (static_fd < 0) {
|
|
static_fd = open_not_cancel_2(static_ut_name, O_RDWR | O_CLOEXEC);
|
|
@@ -53,24 +50,19 @@
|
|
lseek(static_fd, 0, SEEK_SET);
|
|
}
|
|
#if defined __UCLIBC_HAS_THREADS__
|
|
-static void __setutent(void)
|
|
+void setutent(void)
|
|
{
|
|
__UCLIBC_MUTEX_LOCK(utmplock);
|
|
- __setutent_unlocked();
|
|
+ __setutent();
|
|
__UCLIBC_MUTEX_UNLOCK(utmplock);
|
|
}
|
|
#else
|
|
-static void __setutent(void);
|
|
-strong_alias(__setutent_unlocked,__setutent)
|
|
-#endif
|
|
strong_alias(__setutent,setutent)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-strong_alias(__setutent,setutxent)
|
|
#endif
|
|
+libc_hidden_def(setutent)
|
|
|
|
/* This function must be called with the LOCK held */
|
|
-static struct utmp *__getutent_unlocked(void)
|
|
+static struct utmp *__getutent(void)
|
|
{
|
|
if (static_fd < 0) {
|
|
__setutent();
|
|
@@ -86,27 +78,19 @@
|
|
return NULL;
|
|
}
|
|
#if defined __UCLIBC_HAS_THREADS__
|
|
-static struct utmp *__getutent(void)
|
|
+struct utmp *getutent(void)
|
|
{
|
|
struct utmp *ret;
|
|
|
|
__UCLIBC_MUTEX_LOCK(utmplock);
|
|
- ret = __getutent_unlocked();
|
|
+ ret = __getutent();
|
|
__UCLIBC_MUTEX_UNLOCK(utmplock);
|
|
return ret;
|
|
}
|
|
#else
|
|
-static struct utmp *__getutent(void);
|
|
-strong_alias(__getutent_unlocked,__getutent)
|
|
-#endif
|
|
strong_alias(__getutent,getutent)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-struct utmpx *getutxent(void)
|
|
-{
|
|
- return (struct utmpx *) __getutent ();
|
|
-}
|
|
#endif
|
|
+libc_hidden_def(getutent)
|
|
|
|
static void __endutent(void)
|
|
{
|
|
@@ -117,13 +101,10 @@
|
|
__UCLIBC_MUTEX_UNLOCK(utmplock);
|
|
}
|
|
strong_alias(__endutent,endutent)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-strong_alias(__endutent,endutxent)
|
|
-#endif
|
|
+libc_hidden_def(endutent)
|
|
|
|
/* This function must be called with the LOCK held */
|
|
-static struct utmp *__getutid_unlocked(const struct utmp *utmp_entry)
|
|
+static struct utmp *__getutid(const struct utmp *utmp_entry)
|
|
{
|
|
struct utmp *lutmp;
|
|
unsigned type;
|
|
@@ -133,7 +114,7 @@
|
|
type = utmp_entry->ut_type - 1;
|
|
type /= 4;
|
|
|
|
- while ((lutmp = __getutent_unlocked()) != NULL) {
|
|
+ while ((lutmp = __getutent()) != NULL) {
|
|
if (type == 0 && lutmp->ut_type == utmp_entry->ut_type) {
|
|
/* one of RUN_LVL, BOOT_TIME, NEW_TIME, OLD_TIME */
|
|
return lutmp;
|
|
@@ -147,34 +128,26 @@
|
|
return NULL;
|
|
}
|
|
#if defined __UCLIBC_HAS_THREADS__
|
|
-static struct utmp *__getutid(const struct utmp *utmp_entry)
|
|
+struct utmp *getutid(const struct utmp *utmp_entry)
|
|
{
|
|
struct utmp *ret;
|
|
|
|
__UCLIBC_MUTEX_LOCK(utmplock);
|
|
- ret = __getutid_unlocked(utmp_entry);
|
|
+ ret = __getutid(utmp_entry);
|
|
__UCLIBC_MUTEX_UNLOCK(utmplock);
|
|
return ret;
|
|
}
|
|
#else
|
|
-static struct utmp *__getutid(const struct utmp *utmp_entry);
|
|
-strong_alias(__getutid_unlocked,__getutid)
|
|
-#endif
|
|
strong_alias(__getutid,getutid)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-struct utmpx *getutxid(const struct utmpx *utmp_entry)
|
|
-{
|
|
- return (struct utmpx *) __getutid ((const struct utmp *) utmp_entry);
|
|
-}
|
|
#endif
|
|
+libc_hidden_def(getutid)
|
|
|
|
static struct utmp *__getutline(const struct utmp *utmp_entry)
|
|
{
|
|
struct utmp *lutmp;
|
|
|
|
__UCLIBC_MUTEX_LOCK(utmplock);
|
|
- while ((lutmp = __getutent_unlocked()) != NULL) {
|
|
+ while ((lutmp = __getutent()) != NULL) {
|
|
if (lutmp->ut_type == USER_PROCESS || lutmp->ut_type == LOGIN_PROCESS) {
|
|
if (strncmp(lutmp->ut_line, utmp_entry->ut_line, sizeof(lutmp->ut_line)) == 0) {
|
|
break;
|
|
@@ -185,13 +158,7 @@
|
|
return lutmp;
|
|
}
|
|
strong_alias(__getutline,getutline)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-struct utmpx *getutxline(const struct utmpx *utmp_entry)
|
|
-{
|
|
- return (struct utmpx *) __getutline ((const struct utmp *) utmp_entry);
|
|
-}
|
|
-#endif
|
|
+libc_hidden_def(getutline)
|
|
|
|
static struct utmp *__pututline(const struct utmp *utmp_entry)
|
|
{
|
|
@@ -200,7 +167,7 @@
|
|
the file pointer where they want it, everything will work out. */
|
|
lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
|
|
|
|
- if (__getutid_unlocked(utmp_entry) != NULL)
|
|
+ if (__getutid(utmp_entry) != NULL)
|
|
lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
|
|
else
|
|
lseek(static_fd, (off_t) 0, SEEK_END);
|
|
@@ -211,13 +178,7 @@
|
|
return (struct utmp *)utmp_entry;
|
|
}
|
|
strong_alias(__pututline,pututline)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-struct utmpx *pututxline (const struct utmpx *utmp_entry)
|
|
-{
|
|
- return (struct utmpx *) __pututline ((const struct utmp *) utmp_entry);
|
|
-}
|
|
-#endif
|
|
+libc_hidden_def(pututline)
|
|
|
|
static int __utmpname(const char *new_ut_name)
|
|
{
|
|
@@ -241,7 +202,4 @@
|
|
return 0; /* or maybe return -(static_ut_name != new_ut_name)? */
|
|
}
|
|
strong_alias(__utmpname,utmpname)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-strong_alias(__utmpname,utmpxname)
|
|
-#endif
|
|
+libc_hidden_def(utmpname)
|
|
Index: git/libc/misc/utmp/utxent.c
|
|
===================================================================
|
|
--- git.orig/libc/misc/utmp/utxent.c 2013-01-21 16:37:18.000000000 -0800
|
|
+++ git/libc/misc/utmp/utxent.c 2013-01-21 16:38:14.035578638 -0800
|
|
@@ -13,7 +13,6 @@
|
|
#include <utmpx.h>
|
|
#include <utmp.h>
|
|
|
|
-#if 0 /* moved to utent.c */
|
|
void setutxent(void)
|
|
{
|
|
setutent ();
|
|
@@ -49,12 +48,10 @@
|
|
return utmpname (new_ut_name);
|
|
}
|
|
|
|
-/* moved to wtent.c */
|
|
void updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
|
|
{
|
|
updwtmp (wtmpx_file, (const struct utmp *) utmpx);
|
|
}
|
|
-#endif
|
|
|
|
/* Copy the information in UTMPX to UTMP. */
|
|
void getutmp (const struct utmpx *utmpx, struct utmp *utmp)
|
|
@@ -107,3 +104,4 @@
|
|
utmpx->ut_time = utmp->ut_time;
|
|
#endif
|
|
}
|
|
+
|
|
Index: git/libc/misc/utmp/wtent.c
|
|
===================================================================
|
|
--- git.orig/libc/misc/utmp/wtent.c 2013-01-21 16:37:18.000000000 -0800
|
|
+++ git/libc/misc/utmp/wtent.c 2013-01-21 16:38:14.035578638 -0800
|
|
@@ -11,9 +11,6 @@
|
|
#include <time.h>
|
|
#include <unistd.h>
|
|
#include <utmp.h>
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-# include <utmpx.h>
|
|
-#endif
|
|
#include <fcntl.h>
|
|
#include <sys/file.h>
|
|
#include <not-cancel.h>
|
|
@@ -36,7 +33,7 @@
|
|
}
|
|
#endif
|
|
|
|
-static void __updwtmp(const char *wtmp_file, const struct utmp *lutmp)
|
|
+void updwtmp(const char *wtmp_file, const struct utmp *lutmp)
|
|
{
|
|
int fd;
|
|
|
|
@@ -49,11 +46,4 @@
|
|
}
|
|
}
|
|
}
|
|
-strong_alias(__updwtmp,updwtmp)
|
|
-
|
|
-#ifdef __UCLIBC_HAS_UTMPX__
|
|
-void updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
|
|
-{
|
|
- __updwtmp (wtmpx_file, (const struct utmp *) utmpx);
|
|
-}
|
|
-#endif
|
|
+libc_hidden_def(updwtmp)
|