use local static krb4_stime instead of unlikely stime
authorMark Eichin <eichin@mit.edu>
Thu, 16 Jun 1994 09:10:58 +0000 (09:10 +0000)
committerMark Eichin <eichin@mit.edu>
Thu, 16 Jun 1994 09:10:58 +0000 (09:10 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3856 dc483132-0cff-0310-8789-dd5450dbe970

src/kdc/configure.in
src/kdc/kerberos_v4.c

index 1793b21e89ee62775b2862737a638f3beff8fc74..dd156cd34deb1b1ca5360fcd684f8f1bfc2a3073 100644 (file)
@@ -1,4 +1,5 @@
 AC_INIT(main.c)
+AC_STRUCT_TM
 AC_HAVE_LIBRARY(socket)
 AC_HAVE_LIBRARY(nsl)
 ET_RULES
index 7092db26580f795c344affb7261f3d9cb570c348..1155c2c4574aad54e25d2c4a82c0d2f127cee3c3 100644 (file)
@@ -1090,6 +1090,36 @@ static void check_db_age()
 }
 #endif /* BACKWARD_COMPAT */
 
+/*
+ * Given a pointer to a long containing the number of seconds
+ * since the beginning of time (midnight 1 Jan 1970 GMT), return
+ * a string containing the local time in the form:
+ *
+ * "25-Jan-88 10:17:56"
+ */
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#else
+#include <time.h>
+#endif
+
+static char *krb4_stime(t)
+    long *t;
+{
+    static char st[40];
+    static long adjusted_time;
+    struct tm *tm;
+    char *month_sname();
+
+    adjusted_time = *t /* - CONVERT_TIME_EPOCH */;
+    tm = localtime(&adjusted_time);
+    (void) sprintf(st,"%2d-%s-%02d %02d:%02d:%02d",tm->tm_mday,
+                   month_sname(tm->tm_mon + 1),tm->tm_year,
+                   tm->tm_hour, tm->tm_min, tm->tm_sec);
+    return st;
+}
+
 int check_princ(p_name, instance, lifetime, p)
     char   *p_name;
     char   *instance;
@@ -1149,7 +1179,7 @@ int check_princ(p_name, instance, lifetime, p)
        /* service did expire, log it */
        lt = klog(L_ERR_SEXP,
            "EXPIRED \"%s\" \"%s\"  %s", (int) p->name, (int) p->instance,
-            (int) stime(&(p->exp_date)), 0);
+            (int) krb4_stime(&(p->exp_date)), 0);
        return KERB_ERR_NAME_EXP;
     }
     /* ok is zero */