Procházet zdrojové kódy

fix namespace violations in utmpx.h

Rich Felker před 11 roky
rodič
revize
a1527a0c3e
2 změnil soubory, kde provedl 12 přidání a 5 odebrání
  1. 3 0
      include/utmp.h
  2. 9 5
      include/utmpx.h

+ 3 - 0
include/utmp.h

@@ -10,6 +10,7 @@ extern "C" {
 #define ACCOUNTING 9
 #define UT_NAMESIZE 32
 #define UT_HOSTSIZE 256
+#define UT_LINESIZE 32
 
 struct lastlog {
 	time_t ll_time;
@@ -22,6 +23,8 @@ struct lastlog {
 #define ut_addr ut_addr_v6[0]
 #define utmp utmpx
 #define utmpname(x) (-1)
+#define e_exit __e_exit
+#define e_termination __e_termination
 
 void         endutent(void);
 struct utmp *getutent(void);

+ 9 - 5
include/utmpx.h

@@ -5,6 +5,8 @@
 extern "C" {
 #endif
 
+#include <features.h>
+
 #define __NEED_pid_t
 #define __NEED_time_t
 #define __NEED_suseconds_t
@@ -12,19 +14,17 @@ extern "C" {
 
 #include <bits/alltypes.h>
 
-#define UT_LINESIZE 32
-
 struct utmpx
 {
 	short ut_type;
 	pid_t ut_pid;
-	char ut_line[UT_LINESIZE];
+	char ut_line[32];
 	char ut_id[4];
 	char ut_user[32];
 	char ut_host[256];
 	struct {
-		short e_termination;
-		short e_exit;
+		short __e_termination;
+		short __e_exit;
 	} ut_exit;
 	long ut_session;
 	struct timeval ut_tv;
@@ -39,7 +39,11 @@ struct utmpx *getutxline(const struct utmpx *);
 struct utmpx *pututxline(const struct utmpx *);
 void          setutxent(void);
 
+#if defined(_BSD_SOURCE) | defined(_GNU_SOURCE)
+#define e_exit __e_exit
+#define e_termination __e_termination
 void updwtmpx(const char *, const struct utmpx *);
+#endif
 
 #define EMPTY           0
 #define RUN_LVL         1