* kadmin.c (strdur): Print negative durations somewhat (!)
authorTom Yu <tlyu@mit.edu>
Tue, 17 Oct 2000 03:17:55 +0000 (03:17 +0000)
committerTom Yu <tlyu@mit.edu>
Tue, 17 Oct 2000 03:17:55 +0000 (03:17 +0000)
sanely.
(kadmin_startup): Call krb5_klog_init() to avoid coredumping if
kadm5_init() logs something via krb5_klog_syslog().

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12764 dc483132-0cff-0310-8789-dd5450dbe970

src/kadmin/cli/ChangeLog
src/kadmin/cli/kadmin.c

index d5d16ef8a3c55a612b167d3a1d79c6fcda9ced3b..509a7a42255f516b47dc307fe2d88d1f755a084b 100644 (file)
@@ -1,3 +1,10 @@
+2000-10-16  Tom Yu  <tlyu@mit.edu>
+
+       * kadmin.c (strdur): Print negative durations somewhat (!)
+       sanely.
+       (kadmin_startup): Call krb5_klog_init() to avoid coredumping if
+       kadm5_init() logs something via krb5_klog_syslog().
+
 2000-10-03  Ezra Peisach  <epeisach@mit.edu>
 
        * kadmin.c (kadmin_getpol): Change format strings from %d to %ld
index c7a001d6384e1aedb644040da4bd6498515d8414..948a711887f28598b7d331a685fdfb0cc5070236 100644 (file)
@@ -104,8 +104,13 @@ char *strdur(duration)
     time_t duration;
 {
     static char out[50];
-    int days, hours, minutes, seconds;
-    
+    int neg, days, hours, minutes, seconds;
+
+    if (duration < 0) {
+       duration *= -1;
+       neg = 1;
+    } else
+       neg = 0;
     days = duration / (24 * 3600);
     duration %= 24 * 3600;
     hours = duration / 3600;
@@ -113,7 +118,8 @@ char *strdur(duration)
     minutes = duration / 60;
     duration %= 60;
     seconds = duration;
-    sprintf(out, "%d %s %02d:%02d:%02d", days, days == 1 ? "day" : "days",
+    sprintf(out, "%s%d %s %02d:%02d:%02d", neg ? "-" : "",
+           days, days == 1 ? "day" : "days",
            hours, minutes, seconds);
     return out;
 }
@@ -378,6 +384,12 @@ char *kadmin_startup(argc, argv)
        }
     }
 
+    retval = krb5_klog_init(context, "admin_server", whoami, 0);
+    if (retval) {
+       com_err(whoami, retval, "while setting up logging");
+       exit(1);
+    }
+
     /*
      * Initialize the kadm5 connection.  If we were given a ccache,
      * use it.  Otherwise, use/prompt for the password.
@@ -456,6 +468,7 @@ int quit()
      }
 
      /* insert more random cleanup here */
+     krb5_klog_close(context);
      krb5_free_context(context);
      return 0;
 }