Remove bucoord/expire.c
authorBen Kaduk <kaduk@mit.edu>
Fri, 25 Oct 2013 21:45:38 +0000 (17:45 -0400)
committerDerrick Brashear <shadow@your-file-system.com>
Sat, 26 Oct 2013 13:01:10 +0000 (06:01 -0700)
It was not compiled into anything.

Correct references in bucoord_internal to command.c.

Remove the forward declaration of struct cmd_parmdesc and make cmd.h
a prerequisite for this header, since all but two consumers had cmd.h
already.

Change-Id: Id60a550871643610ccd96c226ecf0a3c4acb3955
Reviewed-on: http://gerrit.openafs.org/10363
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

src/bucoord/bucoord_internal.h
src/bucoord/expire.c [deleted file]
src/bucoord/status.c
src/bucoord/ubik_db_if.c

index 83622b4..543bf00 100644 (file)
@@ -20,6 +20,8 @@ extern char *bc_CopyString(char *astring);
 extern afs_int32 getPortOffset(char *port);
 extern afs_int32 bc_SafeATOI(char *anum);
 extern int bc_WaitForNoJobs(void);
+extern afs_int32 bc_ParseExpiration(struct cmd_parmdesc *paramPtr,
+                                   afs_int32 *expType, afs_int32 *expDate);
 
 struct cmd_syndesc;
 extern int bc_DumpCmd(struct cmd_syndesc *as, void *arock);
@@ -114,10 +116,6 @@ extern int bc_ScanDumps(struct bc_config *config, afs_int32 dbAddFlag,
 extern afs_int32 bc_UpdateDumpSchedule(void);
 extern int bc_SaveDumpSchedule(void);
 
-/* expire.c */
-struct cmd_parmdesc;
-extern afs_int32 bc_ParseExpiration(struct cmd_parmdesc *paramPtr,
-                                   afs_int32 *expType, afs_int32 *expDate);
 /* main.c */
 extern time_t tokenExpires;
 extern afs_int32 doDispatch(afs_int32, char *[], afs_int32);
diff --git a/src/bucoord/expire.c b/src/bucoord/expire.c
deleted file mode 100644 (file)
index 332bd80..0000000
+++ /dev/null
@@ -1,464 +0,0 @@
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License.  For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#include <afsconfig.h>
-#include <afs/param.h>
-#include <afs/stds.h>
-
-#include <roken.h>
-
-#include <ctype.h>
-
-#include <afs/ktime.h>
-#include <afs/cmd.h>
-
-#include "bc.h"
-
-#define        MAX_YEAR_VALUE  0
-#define        MAX_MONTH_VALUE 11
-#define        MAX_DAY_VALUE   30
-
-/* for parsing relative expiration dates */
-static struct parseseqS {
-    afs_int32 ps_field;
-    char ps_keychar;
-    afs_int32 ps_maxValue;
-} parseseq[] = {
-    KTIMEDATE_YEAR, 'y', MAX_YEAR_VALUE,       /* no max. value */
-       KTIMEDATE_MONTH, 'm', MAX_MONTH_VALUE,  /* months max. 12 */
-       KTIMEDATE_DAY, 'd', MAX_DAY_VALUE,      /* days max. 31 */
-0, 0, 0,};
-
-/* Encodings to and from relative dates. The caller is responsible for
- * enforcing appropriate use of these routines
- */
-afs_int32
-ktimeRelDate_ToLong(kdptr)
-     struct ktime_date *kdptr;
-{
-    afs_int32 retval;
-
-    retval =
-       (((kdptr->year * (MAX_MONTH_VALUE + 1)) +
-         kdptr->month) * (MAX_DAY_VALUE + 1)) + kdptr->day;
-    return (retval);
-}
-
-/* LongTo_ktimeRelDate
- *     Convert a relative date encoded in a long - back into a ktime_date
- *     structure
- */
-
-LongTo_ktimeRelDate(longDate, kdptr)
-     afs_int32 longDate;
-     struct ktime_date *kdptr;
-{
-    memset(kdptr, 0, sizeof(*kdptr));
-
-    kdptr->day = longDate % (MAX_DAY_VALUE + 1);
-    if (kdptr->day != 0)
-       kdptr->mask |= KTIMEDATE_DAY;
-
-    longDate = longDate / (MAX_DAY_VALUE + 1);
-
-    kdptr->month = longDate % (MAX_MONTH_VALUE + 1);
-    if (kdptr->month != 0)
-       kdptr->mask |= KTIMEDATE_MONTH;
-
-    longDate = longDate / (MAX_MONTH_VALUE + 1);
-
-    kdptr->year = longDate;
-    if (kdptr->year != 0)
-       kdptr->mask |= KTIMEDATE_YEAR;
-
-    return (0);
-}
-
-
-#ifdef notdef
-/* First some date storage and retrieval routines.
- * These routines are for convert ktime date structures into text, and back.
- * the format is compact and suitable for relative dates. These are used
- * to store dates into the backup database.
- */
-
-/* ktimeDate_ToCompactString
- *     convert the ktime into a compact text form.
- * exit:
- *     pointer to a static string containing the text form of the ktime.
- * notes:
- *     it assumes that non-valid portions of the date are set to 0 and that
- *     all date fields are non-negative.
- */
-
-char *
-ktimeDate_ToCompactString(kdptr)
-     struct ktime_date *kdptr;
-{
-    char buffer[1024];
-
-    sprintf(buffer, "%-d:%-d:%-d:%-d:%-d:%-d", kdptr->year, kdptr->month,
-           kdptr->day, kdptr->hour, kdptr->min, kdptr->sec);
-
-    return (&buffer[0]);
-}
-
-/* CompactStringTo_ktimeDate
- *     parses the string and places it in the ktime structure
- * exit:
- *     0 - success
- *     -1 - failed, string format error
- */
-afs_int32
-CompactStringTo_ktimeDate(stptr, kdptr)
-     char *stptr;
-     struct ktime_date *kdptr;
-{
-    afs_int32 code;
-
-    code =
-       sscanf(stptr, "%d:%d:%d:%d:%d:%d", &kdptr->year, &kdptr->month,
-              &kdptr->day, &kdptr->hour, &kdptr->min, &kdptr->sec);
-
-    if (code != 6)
-       return (-1);
-
-    kdptr->mask = 0;
-
-    if (kdptr->year)
-       kdptr->mask |= KTIMEDATE_YEAR;
-
-    if (kdptr->month)
-       kdptr->mask |= KTIMEDATE_MONTH;
-
-    if (kdptr->day)
-       kdptr->mask |= KTIMEDATE_DAY;
-
-    if (kdptr->hour)
-       kdptr->mask |= KTIMEDATE_HOUR;
-
-    if (kdptr->min)
-       kdptr->mask |= KTIMEDATE_MIN;
-
-    if (kdptr->sec)
-       kdptr->mask |= KTIMEDATE_SEC;
-
-    return (0);
-}
-
-/* ktimeDate_FromLong
- *     Converts a time in seconds, to a time (in ktime_date format). Result is
- *     placed in the supplied structure
- * entry:
- *     timeSecs - time in seconds
- *     ktimePtr - ptr to struct for the return value
- */
-
-ktimeDate_FromLong(timeSecs, ktimePtr)
-     afs_int32 timeSecs;
-     struct ktime_date *ktimePtr;
-{
-    struct tm timePtr;
-
-    timePtr = localtime(&timeSecs);
-
-    /* copy the relevant fields */
-    ktimePtr->sec = timePtr->sec;
-    ktimePtr->min = timePtr->min;
-    ktimePtr->hour = timePtr->hour;
-    ktimePtr->day = timePtr->mday;
-    ktimePtr->month = timePtr->mon;
-    ktimePtr->year = timePtr->year;
-
-    ktimePtr->mask =
-       KTIMEDATE_YEAR | KTIMEDATE_MONTH | KTIMEDATE_DAY | KTIMEDATE_HOUR |
-       KTIMEDATE_MIN | KTIMEDATE_SEC;
-
-    return (0);
-}
-
-
-/* AddKtimeToNow
- *     Returns current time with a relative time added. Note that the
- *     computation adds in most significant fields first, i.e. year, month
- *     day etc. Addition of least significant fields would produce different
- *     results (depending on the data).
- * entry:
- *     relDatePtr - a ktime_date containing a relative time specification
- * exit:
- *     returns current time with relative time added.
- */
-
-afs_int32
-AddKtimeToNow(relDatePtr)
-     struct ktime_date *relDatePtr;
-{
-    struct parseseqS typePtr;
-    afs_int32 curTime;
-    afs_int32 moreYears;
-    static struct ktime_date absDate;
-
-    curTime = time(0);         /* get current time */
-    ktimeDate_FromLong(curTime, &absDate);     /* convert to ktime */
-
-    /* add in years */
-    absDate.year += relDatePtr->year;
-
-    /* add in months */
-    absDate.month += relDatePtr->month;
-    if (absDate.month > 12) {
-       moreYears = absDate.month / 12;
-       absDate.month = absDate.month % 12;
-       absDate.year += moreYears;
-    }
-
-    /* day computations depend upon month size, so do these in seconds */
-    curTime = ktime_InterpretDate(&absDate);
-
-    curTime =
-       curTime + relDatePtr->sec + relDatePtr->min * 60 +
-       relDatePtr->hour * 60 * 60 + relDatePtr->day * 24 * 60 * 60;
-
-    return (curTime);
-}
-#endif /* notdef */
-
-#define        RD_DIGIT_LIMIT  4       /* max. no. digits permitted */
-
-
-/* ParseRelDate
- *     Parses a relative date of the form  <n>y<n>m<n>d representing years
- *     months and days. <n> is limited to RD_DIGIT_LIMIT digits in length.
- * entry:
- *     dateStr - ptr to string to parse. Leading white space ingnored.
- * exit:
- *     returns a ptr to a static ktime_date structure containing
- *             appropriately set fields. The mask field is unused.
- *     0 - error in date specification
- */
-
-afs_int32
-ParseRelDate(dateStr, relDatePtr)
-     char *dateStr;
-     struct ktime_date *relDatePtr;
-{
-    struct parseseqS *psPtr;
-    afs_int32 value, digit_limit;
-    afs_int32 type_index;
-
-    memset(relDatePtr, 0, sizeof(*relDatePtr));
-    type_index = 0;
-
-    while (1) {                        /*w */
-
-       while (isspace(*dateStr))       /* skip leading whitespace */
-           dateStr++;
-
-       if (isdigit(*dateStr) == 0)
-           goto error;
-
-       digit_limit = RD_DIGIT_LIMIT;
-       value = 0;
-       while (isdigit(*dateStr)) {
-           value = value * 10 + *dateStr - '0';
-           dateStr++;
-           if (digit_limit-- == 0)
-               goto error;
-       }
-
-       psPtr = &parseseq[type_index];
-       /* determine the units. Search for a matching type character */
-       while ((psPtr->ps_keychar != *dateStr)
-              && (psPtr->ps_keychar != 0)
-           ) {
-           type_index++;
-           psPtr = &parseseq[type_index];
-       }
-
-       /* no matching type found */
-       if (psPtr->ps_keychar == 0)
-           goto error;
-
-       /* check the bounds on the maximum value. Can't be negative
-        * and if a maximum value is specified, check against it
-        */
-       if ((value < 0)
-           || ((psPtr->ps_maxValue > 0) && (value > psPtr->ps_maxValue))
-           )
-           goto error;
-
-       /* save computed value in the relevant type field */
-       switch (psPtr->ps_field) {
-       case KTIMEDATE_YEAR:
-           relDatePtr->year = value;
-           relDatePtr->mask |= KTIMEDATE_YEAR;
-           break;
-
-       case KTIMEDATE_MONTH:
-           relDatePtr->month = value;
-           relDatePtr->mask |= KTIMEDATE_MONTH;
-           break;
-
-       case KTIMEDATE_DAY:
-           relDatePtr->mask |= KTIMEDATE_DAY;
-           relDatePtr->day = value;
-           break;
-
-       default:
-           goto error;
-       }
-       dateStr++;              /* next digit */
-
-       if (*dateStr == 0) {
-           /* no more chars to process, return the result */
-           return (0);
-       }
-    }                          /*w */
-
-  error:
-    return (1);
-}
-
-/* RelDatetoString
- *     returns a static string representing the relative date. This is in
- *     a format acceptable to the relative date parser.
- * entry:
- *     datePtr - relative date to be converted.
- * exit:
- *     ptr to static string
- */
-
-char *
-RelDatetoString(datePtr)
-     struct ktime_date *datePtr;
-{
-    static char dateString[64];
-    char tempstring[64], *sptr;
-
-    dateString[0] = 0;
-    sptr = &dateString[0];
-
-    if (datePtr->mask & KTIMEDATE_YEAR) {
-       sprintf(tempstring, "%-dy", datePtr->year);
-       strcat(sptr, tempstring);
-    }
-
-    if (datePtr->mask & KTIMEDATE_MONTH) {
-       strcat(sptr, " ");
-       sprintf(tempstring, "%-dm", datePtr->month);
-       strcat(sptr, tempstring);
-    }
-
-    if (datePtr->mask & KTIMEDATE_DAY) {
-       strcat(sptr, " ");
-       sprintf(tempstring, "%-dd", datePtr->day);
-       strcat(sptr, tempstring);
-    }
-    return (sptr);
-}
-
-#define        FAIL(n)                                         \
-{                                                      \
-     code = n;                                         \
-     goto error;                                       \
-}
-
-/* bc_ParseExpiration
- *
- * Notes:
- *     dates are specified as absolute or relative, the syntax is:
- *     absolute:       at %d/%d/%d [%d:%d]     where [..] is optional
- *     relative:       in [%dy][%dm][%dd]      where at least one component
- *                                             must be specified
- */
-
-afs_int32
-bc_ParseExpiration(struct cmd_parmdesc *paramPtr, afs_int32 *expType,
-                  afs_int32 *expDate)
-{
-    struct cmd_item *itemPtr, *tempPtr;
-    struct ktime_date kt;
-    char *dateString;
-    afs_int32 length = 0;
-    afs_int32 code = 0;
-
-    if (paramPtr->items == 0) {
-       /* no expiration specified */
-       *expType = BC_NO_EXPDATE;
-       *expDate = 0;
-       return (0);
-    }
-
-    /* some form of expiration date specified. First validate the prefix */
-    itemPtr = paramPtr->items;
-
-    if (strcmp(itemPtr->data, "at") == 0) {
-       *expType = BC_ABS_EXPDATE;
-    } else if (strcmp(itemPtr->data, "in") == 0) {
-       *expType = BC_REL_EXPDATE;
-    } else
-       FAIL(1);
-
-    /* before parsing the date string - concatenate all the pieces */
-    itemPtr = itemPtr->next;
-    tempPtr = itemPtr;
-
-    /* compute the length of string required */
-    while (tempPtr != 0) {
-       length += strlen(tempPtr->data);
-       tempPtr = tempPtr->next;
-       length++;               /* space or null terminator */
-    }
-    if (length == 0)           /* no actual date string */
-       FAIL(1);
-
-    dateString = malloc(length);
-    if (dateString == 0)
-       FAIL(2);
-
-    /* now assemble the date string */
-    dateString[0] = 0;
-    while (itemPtr != 0) {
-       strcat(dateString, itemPtr->data);
-       itemPtr = itemPtr->next;
-       if (itemPtr != 0)
-           strcat(dateString, " ");
-    }
-
-    switch (*expType) {
-    case BC_ABS_EXPDATE:
-       code = ktime_DateToLong(dateString, expDate);
-       if (code)
-           FAIL(1);
-       break;
-
-    case BC_REL_EXPDATE:
-       code = ParseRelDate(dateString, &kt);
-       if (code)
-           FAIL(1);
-       *expDate = ktimeRelDate_ToLong(&kt);
-       break;
-
-    default:
-       FAIL(1);
-    }
-
-    /* code will be 0 */
-  exit:
-    /* normal exit */
-    if (dateString)
-       free(dateString);
-    return (code);
-
-  error:
-    /* assign default values */
-    *expType = BC_NO_EXPDATE;
-    *expDate = 0;
-    goto exit;
-}
index 60d5a23..979b605 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <roken.h>
 
+#include <afs/cmd.h>
 #include <afs/opr.h>
 #include <afs/com_err.h>
 #include <afs/bubasics.h>
index 991e0a1..01c81a0 100644 (file)
@@ -18,6 +18,7 @@
 # pragma GCC diagnostic warning "-Wstrict-prototypes"
 #endif
 
+#include <afs/cmd.h>
 #include <afs/auth.h>
 #include <afs/cellconfig.h>
 #include <ubik.h>