Make parsetime.c more consistent by using the (already declared) enum

type instead of int all over the place.  (Cosmetic, enhances
debugging.)

Point out that a date specification _must_ follow the time of day
spec, in the man page.  This clarifies the last point PR # of bin/483:
"at doesn't seem to ..." (the remainder has already been fixed with
version 1.3 of parsetime.c).
This commit is contained in:
Joerg Wunsch 1995-06-24 17:15:56 +00:00
parent 00a44db927
commit 29eaad36e5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=9296
2 changed files with 13 additions and 11 deletions

View File

@ -1,4 +1,4 @@
.\" $Id: at.man,v 1.3 1994/06/16 16:49:46 kernel Exp $
.\" $Id: at.man,v 1.1 1995/04/12 02:42:31 ache Exp $
.Dd April 12, 1995
.Dt "AT" 1
.Os "FreeBSD 2.1"
@ -81,6 +81,8 @@ or
.Ar MM/DD/YY
or
.Ar DD.MM.YY .
The specification of a date must follow the specification of
the time of day.
You can also give times like
.Op Nm now
.Nm + Ar count \%time-units ,

View File

@ -56,7 +56,7 @@
/* Structures and unions */
enum { /* symbols */
enum tok { /* symbols */
MIDNIGHT, NOON, TEATIME,
PM, AM, TOMORROW, TODAY, NOW,
MINUTES, HOURS, DAYS, WEEKS,
@ -69,8 +69,8 @@ enum { /* symbols */
/* parse translation table - table driven parsers can be your FRIEND!
*/
struct {
char *name; /* token name */
int value; /* token id */
const char *name; /* token name */
enum tok value; /* token id */
int plural; /* is this plural? */
} Specials[] = {
{ "midnight", MIDNIGHT,0 }, /* 00:00:00 of today or tomorrow */
@ -127,18 +127,18 @@ static int need; /* scanner - need to advance to next argument */
static char *sc_token; /* scanner - token buffer */
static size_t sc_len; /* scanner - lenght of token buffer */
static int sc_tokid; /* scanner - token id */
static enum tok sc_tokid; /* scanner - token id */
static int sc_tokplur; /* scanner - is token plural? */
static char rcsid[] = "$Id: parsetime.c,v 1.3 1995/04/12 02:42:35 ache Exp $";
static char rcsid[] = "$Id: parsetime.c,v 1.4 1995/05/30 06:29:25 rgrimes Exp $";
/* Local functions */
/*
* parse a token, checking if it's something special to us
*/
static int
parse_token(char *arg)
static enum tok
parse_token(const char *arg)
{
int i;
@ -172,7 +172,7 @@ init_scanner(int argc, char **argv)
/*
* token() fetches a token from the input stream
*/
static int
static enum tok
token()
{
int idx;
@ -250,7 +250,7 @@ plonk(int tok)
* expect() gets a token and dies most horribly if it's not the token we want
*/
static void
expect(int desired)
expect(enum tok desired)
{
if (token() != desired)
plonk(sc_tokid); /* and we die here... */
@ -489,7 +489,7 @@ month(struct tm *tm)
token();
if (sc_tokid == SLASH || sc_tokid == DOT) {
int sep;
enum tok sep;
sep = sc_tokid;
expect(NUMBER);