]> git.pld-linux.org Git - packages/urxvt.git/commitdiff
- updated to work with 2.7.10 RA-branch STABLE auto/ac/rxvt-2_7_10-1 auto/ac/rxvt-2_7_10-2 auto/ac/rxvt-2_7_10-3 auto/th/rxvt-2_7_10-5
authormisi3k <misi3k@pld-linux.org>
Fri, 28 Mar 2003 05:57:03 +0000 (05:57 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    rxvt-utmp98.patch -> 1.3

rxvt-utmp98.patch

index ae7f86e29e6ca4eda4c4b7b19b00476ec6c5c171..56fc3a3c71bd45ff9b97232673b652083f1c92ad 100644 (file)
---- rxvt-2.7.8/src/logging.c.orig      Wed May 15 08:29:09 2002
-+++ rxvt-2.7.8/src/logging.c   Wed May 15 08:30:16 2002
-@@ -171,154 +171,9 @@
- /* EXTPROTO */
+--- rxvt-2.7.10/autoconf/Make.common.in.orig   Fri Mar 28 06:34:40 2003
++++ rxvt-2.7.10/autoconf/Make.common.in        Fri Mar 28 06:35:12 2003
+@@ -68,7 +68,7 @@
+ LIBTOOL = @LIBTOOL@
+ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(DEBUG) $(DINCLUDE) $(XINC) -I$(basedir) -I$(srcdir) -I.
+-LINK = $(CC) $(CFLAGS) $(LDFLAGS)
++LINK = $(CC) $(CFLAGS) $(LDFLAGS) -lutempter -lutil
+ # End of common section of the Makefile
+ #-------------------------------------------------------------------------
+--- rxvt-2.7.10/src/logging.c.orig     Fri Mar 28 06:31:43 2003
++++ rxvt-2.7.10/src/logging.c  Fri Mar 28 06:33:37 2003
+@@ -60,157 +60,7 @@
  void
  rxvt_makeutent(rxvt_t *r, const char *pty, const char *hostname)
--#ifndef USE_SYSV_UTMP
--/* ------------------------------ BSD ------------------------------  */
  {
--    FILE           *fd0;
--    UTMP           *ut = &(r->h->ut);
--    struct passwd  *pwent = getpwuid(getuid());
--#ifdef __QNX__
--    UTMP            u2;
--    struct utsname  un;
--#endif
--    char            buf[256], name[256];
--
--/* BSD naming is of the form /dev/tty?? or /dev/pty?? */
--    MEMSET(ut, 0, sizeof(UTMP));
--
--    if (!STRNCMP(pty, "/dev/", 5))
--      pty += 5;               /* skip /dev/ prefix */
--    if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) {
--      rxvt_print_error("can't parse tty name \"%s\"", pty);
--      return;
--    }
--#ifdef __QNX__
--    uname(&un);
--    STRNCPY(ut->id, un.nodename, sizeof(ut->ut_line));
--    ut->ut_pid = getpid();
--    ut->ut_type = USER_PROCESS;
--#endif
--    STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line));
--    STRNCPY(ut->ut_name, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
--          sizeof(ut->ut_name));
--    STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
--    ut->ut_time = time(NULL);
--
--    buf[sizeof(buf) - 1] = '\0';
--#ifdef __QNX__
--    for (;;) {
--      r->h->utmp_pos = fseek(fd0, 0L, 1);
--      if (fread(&u2, sizeof(UTMP), 1, fd0) != 1)
--          break;
--      if ((u2.ut_type == LOGIN_PROCESS || u2.ut_type == USER_PROCESS)
--          && (STRNCMP(u2.ut_line, pty, sizeof(u2.ut_line)) == 0))
--          break;
--    }
--#else
--    if ((fd0 = fopen(TTYTAB_FILENAME, "r")) != NULL) {
--      int             i;
--
--      for (i = 1; (fgets(buf, sizeof(buf) - 1, fd0) != NULL);) {
--          if (*buf == '#' || sscanf(buf, "%s", name) != 1)
--              continue;
--          if (!STRCMP(ut->ut_line, name)) {
--              r->h->utmp_pos = i;
--              fclose(fd0);
--              break;
--          }
--          i++;
--      }
--      fclose(fd0);
--    }
--#endif
--    if (!rxvt_write_bsd_utmp(r->h->utmp_pos, ut))
--      r->h->utmp_pos = 0;
--#ifdef WTMP_SUPPORT
--# ifdef WTMP_ONLY_ON_LOGIN
--    if (r->Options & Opt_loginShell)
--# endif
--      update_wtmp(RXVT_REAL_WTMP_FILE, ut);
+-#ifdef HAVE_STRUCT_UTMP
+-    struct utmp    *ut = &(r->h->ut);
 -#endif
--#if defined(LASTLOG_SUPPORT) && defined(RXVT_LASTLOG_FILE)
--    if (r->Options & Opt_loginShell)
--      rxvt_update_lastlog(RXVT_LASTLOG_FILE, pty, hostname);
+-#ifdef HAVE_STRUCT_UTMPX
+-    struct utmpx   *utx = &(r->h->utx);
 -#endif
-+    addToUtmp(pty, NULL, r->cmd_fd);
- }
--#else
--/* ------------------------------ SYSV ------------------------------  */
--{
+-#ifdef HAVE_UTMP_PID
 -    int             i;
--    char           *colon;
--    UTMP           *ut = &(r->h->ut);
+-#endif
+-    char            ut_id[5];
 -    struct passwd  *pwent = getpwuid(getuid());
 -
--    MEMSET(ut, 0, sizeof(UTMP));
--
 -    if (!STRNCMP(pty, "/dev/", 5))
 -      pty += 5;               /* skip /dev/ prefix */
--    if (!STRNCMP(pty, "pty", 3) || !STRNCMP(pty, "tty", 3))
--      STRNCPY(ut->ut_id, (pty + 3), sizeof(ut->ut_id));
+-
+-    if (!STRNCMP(pty, "pty", 3) || !STRNCMP(pty, "tty", 3)) {
+-      STRNCPY(ut_id, (pty + 3), sizeof(ut_id));
+-    }
+-#ifdef HAVE_UTMP_PID
 -    else if (sscanf(pty, "pts/%d", &i) == 1)
--      sprintf(ut->ut_id, "vt%02x", (i & 0xff));       /* sysv naming */
--    else {
+-      sprintf(ut_id, "vt%02x", (i & 0xff));   /* sysv naming */
+-#endif
+-    else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) {
 -      rxvt_print_error("can't parse tty name \"%s\"", pty);
 -      return;
 -    }
 -
--#if 0
--    /* XXX: most likely unnecessary.  could be harmful */
--    utmpname(RXVT_REAL_UTMP_FILE);
--#endif
--    STRNCPY(r->h->ut_id, ut->ut_id, sizeof(r->h->ut_id));
--
--    setutent();                       /* XXX: should be unnecessaray */
--
+-#ifdef HAVE_STRUCT_UTMP
+-    MEMSET(ut, 0, sizeof(struct utmp));
+-# ifdef HAVE_UTMP_PID
+-    setutent();
+-    STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id));
 -    ut->ut_type = DEAD_PROCESS;
 -    getutid(ut);              /* position to entry in utmp file */
+-    STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id));
+-# endif
+-#endif
 -
--/* set up the new entry */
--    ut->ut_type = USER_PROCESS;
--#if 0         /* #ifndef linux */
--    ut->ut_exit.e_exit = 2;
+-#ifdef HAVE_STRUCT_UTMPX
+-    MEMSET(utx, 0, sizeof(struct utmpx));
+-    setutxent();
+-    STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
+-    utx->ut_type = DEAD_PROCESS;
+-    getutxid(utx);            /* position to entry in utmp file */
+-    STRNCPY(r->h->ut_id, ut_id, sizeof(r->h->ut_id));
 -#endif
+-
+-#ifdef HAVE_STRUCT_UTMP
+-    STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line));
+-    ut->ut_time = time(NULL);
+-# ifdef HAVE_UTMP_PID
 -    STRNCPY(ut->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
 -          sizeof(ut->ut_user));
--    STRNCPY(ut->ut_id, r->h->ut_id, sizeof(ut->ut_id));
--    STRNCPY(ut->ut_line, pty, sizeof(ut->ut_line));
--
--#if (defined(HAVE_UTMP_HOST) && ! defined(RXVT_UTMP_AS_UTMPX)) || (defined(HAVE_UTMPX_HOST) && defined(RXVT_UTMP_AS_UTMPX))
+-    STRNCPY(ut->ut_id, ut_id, sizeof(ut->ut_id));
+-    ut->ut_time = time(NULL);
+-    ut->ut_pid = r->h->cmd_pid;
+-#  ifdef HAVE_UTMP_HOST
+-    STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
+-#  endif
+-    ut->ut_type = USER_PROCESS;
+-    pututline(ut);
+-    endutent();                       /* close the file */
+-    r->h->utmp_pos = -1;
+-# else
+-    STRNCPY(ut->ut_name, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+-          sizeof(ut->ut_name));
+-#  ifdef HAVE_UTMP_HOST
 -    STRNCPY(ut->ut_host, hostname, sizeof(ut->ut_host));
--# ifndef linux
--    if ((colon = STRRCHR(ut->ut_host, ':')) != NULL)
--      *colon = '\0';
+-#  endif
 -# endif
 -#endif
 -
--    ut->ut_pid = getpid();
+-#ifdef HAVE_STRUCT_UTMPX
+-    STRNCPY(utx->ut_line, pty, sizeof(utx->ut_line));
+-    STRNCPY(utx->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+-          sizeof(utx->ut_user));
+-    STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
+-    utx->ut_session = getsid(0);
+-    utx->ut_tv.tv_sec = time(NULL);
+-    utx->ut_tv.tv_usec = 0;
+-    utx->ut_pid = r->h->cmd_pid;
+-# ifdef HAVE_UTMPX_HOST
+-    STRNCPY(utx->ut_host, hostname, sizeof(utx->ut_host));
+-#  if 0
+-    {
+-      char           *colon;
 -
--#ifdef RXVT_UTMP_AS_UTMPX
--    ut->ut_session = getsid(0);
--    ut->ut_tv.tv_sec = time(NULL);
--    ut->ut_tv.tv_usec = 0;
--#else
--    ut->ut_time = time(NULL);
--#endif                                /* HAVE_UTMPX_H */
--    pututline(ut);
--    r->h->utmp_pos = 1;
+-      if ((colon = STRRCHR(ut->ut_host, ':')) != NULL)
+-          *colon = '\0';
+-    }
+-#  endif
+-# endif
+-    utx->ut_type = USER_PROCESS;
+-    pututxline(utx);
+-    endutxent();              /* close the file */
+-    r->h->utmp_pos = -1;
+-#endif
+-
+-#if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID)
+-    {
+-      int             i;
+-# ifdef HAVE_TTYSLOT
+-      i = ttyslot();
+-      if (rxvt_write_bsd_utmp(i, ut))
+-          r->h->utmp_pos = i;
+-# else
+-      FILE           *fd0;
+-
+-      if ((fd0 = fopen(TTYTAB_FILENAME, "r")) != NULL) {
+-          char            buf[256], name[256];
+-
+-          buf[sizeof(buf) - 1] = '\0';
+-          for (i = 1; (fgets(buf, sizeof(buf) - 1, fd0) != NULL);) {
+-              if (*buf == '#' || sscanf(buf, "%s", name) != 1)
+-                  continue;
+-              if (!STRCMP(ut->ut_line, name)) {
+-                  if (!rxvt_write_bsd_utmp(i, ut))
+-                      i = 0;
+-                  r->h->utmp_pos = i;
+-                  fclose(fd0);
+-                  break;
+-              }
+-              i++;
+-          }
+-          fclose(fd0);
+-      }
+-# endif
+-    }
+-#endif
 -
 -#ifdef WTMP_SUPPORT
 -# ifdef WTMP_ONLY_ON_LOGIN
 -    if (r->Options & Opt_loginShell)
 -# endif
--      update_wtmp(RXVT_REAL_WTMP_FILE, ut);
+-    {
+-# ifdef HAVE_STRUCT_UTMP
+-#  ifdef HAVE_UPDWTMP
+-      updwtmp(RXVT_WTMP_FILE, ut);
+-#  else
+-      rxvt_update_wtmp(RXVT_WTMP_FILE, ut);
+-#  endif
+-# endif
+-# ifdef HAVE_STRUCT_UTMPX
+-      updwtmpx(RXVT_WTMPX_FILE, utx);
+-# endif
+-    }
 -#endif
 -#if defined(LASTLOG_SUPPORT) && defined(RXVT_LASTLOG_FILE)
 -    if (r->Options & Opt_loginShell)
 -      rxvt_update_lastlog(RXVT_LASTLOG_FILE, pty, hostname);
 -#endif
--    endutent();                       /* close the file */
--}
--#endif                                /* !USE_SYSV_UTMP */
++      addToUtmp(pty, NULL, r->cmd_fd);
+ }
  
  /* ------------------------------------------------------------------------- */
- /*
-@@ -327,77 +182,9 @@
- /* EXTPROTO */
+@@ -221,85 +71,7 @@
  void
  rxvt_cleanutent(rxvt_t *r)
--#ifndef USE_SYSV_UTMP
--/* ------------------------------ BSD ------------------------------  */
  {
--    UTMP           *ut = &(r->h->ut);
--#ifdef __QNX__
--    UTMP            u2;
--
--    MEMCPY(u2, ut, sizeof(UTMP));
+-#ifdef HAVE_STRUCT_UTMP
+-    struct utmp    *tmput, *ut = &(r->h->ut);
 -#endif
--#ifdef WTMP_SUPPORT
--# ifdef WTMP_ONLY_ON_LOGIN
--    if (r->Options & Opt_loginShell)
--# endif
--    {
--      MEMSET(ut->ut_name, 0, sizeof(ut->ut_name));
--      MEMSET(ut->ut_host, 0, sizeof(ut->ut_host));
--      ut->ut_time = time(NULL);
--      update_wtmp(RXVT_REAL_WTMP_FILE, ut);
--    }
+-#ifdef HAVE_STRUCT_UTMPX
+-    struct utmpx   *tmputx, *utx = &(r->h->utx);
 -#endif
--    if (!r->h->utmp_pos)
--      return;
--#ifdef __QNX__
--    u2.ut_type = DEAD_PROCESS;
--    rxvt_write_bsd_utmp(r->h->utmp_pos, &u2);
--#else
--    MEMSET(ut, 0, sizeof(UTMP));
--    rxvt_write_bsd_utmp(r->h->utmp_pos, ut);
--#endif
-+    removeFromUtmp();
- }
--#else                         /* USE_SYSV_UTMP */
--/* ------------------------------ SYSV ------------------------------  */
--{
--    UTMP           *putmp, *ut = &(r->h->ut);
 -
--    if (!r->h->utmp_pos)
--      return;
--#if 0
--    /* XXX: most likely unnecessary.  could be harmful */
--    utmpname(RXVT_REAL_UTMP_FILE);
--#endif
--    MEMSET(ut, 0, sizeof(UTMP));
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+-    MEMSET(ut, 0, sizeof(struct utmp));
+-    setutent();
 -    STRNCPY(ut->ut_id, r->h->ut_id, sizeof(ut->ut_id));
 -    ut->ut_type = USER_PROCESS;
--    setutent();                       /* XXX: should be unnecessaray */
--
--    putmp = getutid(ut);
--    if (!putmp || putmp->ut_pid != getpid())
--      return;
--
--    putmp->ut_type = DEAD_PROCESS;
+-    if ((tmput = getutid(ut)))        /* position to entry in utmp file */
+-      ut = tmput;
+-    ut->ut_type = DEAD_PROCESS;
+-# else 
+-    MEMSET(ut->ut_name, 0, sizeof(ut->ut_name));
+-#  ifdef HAVE_UTMP_HOST
+-    MEMSET(ut->ut_host, 0, sizeof(ut->ut_host));
+-#  endif
+-# endif
+-    ut->ut_time = time(NULL);
+-#endif
 -
--#ifdef RXVT_UTMP_AS_UTMPX
--    putmp->ut_session = getsid(0);
--    putmp->ut_tv.tv_sec = time(NULL);
--    putmp->ut_tv.tv_usec = 0;
--#else                         /* HAVE_UTMPX_H */
--    putmp->ut_time = time(NULL);
--#endif                                /* HAVE_UTMPX_H */
--    pututline(putmp);
+-#ifdef HAVE_STRUCT_UTMPX
+-    MEMSET(utx, 0, sizeof(struct utmpx));
+-    setutxent();
+-    STRNCPY(utx->ut_id, r->h->ut_id, sizeof(utx->ut_id));
+-    utx->ut_type = USER_PROCESS;
+-    if ((tmputx = getutxid(utx)))     /* position to entry in utmp file */
+-      utx = tmputx;
+-    utx->ut_type = DEAD_PROCESS;
+-    utx->ut_session = getsid(0);
+-    utx->ut_tv.tv_sec = time(NULL);
+-    utx->ut_tv.tv_usec = 0;
+-#endif
 -
+-    /*
+-     * Write ending wtmp entry
+-     */
 -#ifdef WTMP_SUPPORT
 -# ifdef WTMP_ONLY_ON_LOGIN
 -    if (r->Options & Opt_loginShell)
 -# endif
--      update_wtmp(RXVT_REAL_WTMP_FILE, putmp);
+-    {
+-# ifdef HAVE_STRUCT_UTMP
+-#  ifdef HAVE_UPDWTMP
+-      updwtmp(RXVT_WTMP_FILE, ut);
+-#  else
+-      rxvt_update_wtmp(RXVT_WTMP_FILE, ut);
+-#  endif
+-# endif
+-# ifdef HAVE_STRUCT_UTMPX
+-      updwtmpx(RXVT_WTMPX_FILE, utx);
+-# endif
+-    }
 -#endif
 -
+-    /*
+-     * Write utmp entry
+-     */
+-#ifdef HAVE_STRUCT_UTMP
+-# ifdef HAVE_UTMP_PID
+-    if (ut->ut_pid == r->h->cmd_pid)
+-      pututline(ut);
 -    endutent();
--}
--#endif                                /* !USE_SYSV_UTMP */
- #endif                                /* UTMP_SUPPORT */
---- rxvt-2.7.6/src/Makefile.in Mon Apr  2 16:33:43 2001
-+++ rxvt-2.7.6.modified/src/Makefile.in        Thu May 10 16:58:32 2001
-@@ -82,7 +82,7 @@
- all: allbin
- rxvt: version.h rxvt.o librxvt.la
--      $(LIBTOOL) --mode=link $(LINK) rxvt.o librxvt.la $(LIBS) $(XLIB) $(DLIB) -o $@
-+      $(LIBTOOL) --mode=link $(LINK) rxvt.o librxvt.la $(LIBS) $(XLIB) -lutempter -lutil $(DLIB) -o $@
+-# else
+-    if (r->h->utmp_pos > 0) {
+-      MEMSET(ut, 0, sizeof(struct utmp));
+-      rxvt_write_bsd_utmp(r->h->utmp_pos, ut);
+-    }
+-# endif
+-#endif
+-#ifdef HAVE_STRUCT_UTMPX
+-    if (utx->ut_pid == r->h->cmd_pid)
+-      pututxline(utx);
+-    endutxent();
+-#endif
++      removeFromUtmp();
+ }
  
- protos:
-       @for I in $(EXTPROS); do \
+ /* ------------------------------------------------------------------------- */
This page took 0.051072 seconds and 4 git commands to generate.