From c56d99e9dd240b2485acc07f5b81a6195c6e0856 Mon Sep 17 00:00:00 2001 From: Ben Kaduk Date: Fri, 25 Oct 2013 17:45:38 -0400 Subject: [PATCH] Remove bucoord/expire.c 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 Reviewed-by: Derrick Brashear --- src/bucoord/bucoord_internal.h | 6 +- src/bucoord/expire.c | 464 --------------------------------- src/bucoord/status.c | 1 + src/bucoord/ubik_db_if.c | 1 + 4 files changed, 4 insertions(+), 468 deletions(-) delete mode 100644 src/bucoord/expire.c diff --git a/src/bucoord/bucoord_internal.h b/src/bucoord/bucoord_internal.h index 83622b42c..543bf0009 100644 --- a/src/bucoord/bucoord_internal.h +++ b/src/bucoord/bucoord_internal.h @@ -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 index 332bd8059..000000000 --- a/src/bucoord/expire.c +++ /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 -#include -#include - -#include - -#include - -#include -#include - -#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 ymd representing years - * months and days. 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; -} diff --git a/src/bucoord/status.c b/src/bucoord/status.c index 60d5a2381..979b60574 100644 --- a/src/bucoord/status.c +++ b/src/bucoord/status.c @@ -13,6 +13,7 @@ #include +#include #include #include #include diff --git a/src/bucoord/ubik_db_if.c b/src/bucoord/ubik_db_if.c index 991e0a138..01c81a098 100644 --- a/src/bucoord/ubik_db_if.c +++ b/src/bucoord/ubik_db_if.c @@ -18,6 +18,7 @@ # pragma GCC diagnostic warning "-Wstrict-prototypes" #endif +#include #include #include #include -- 2.39.5