diff options
author | Anas Nashif <anas.nashif@intel.com> | 2013-02-22 07:24:03 -0800 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2013-02-22 07:24:03 -0800 |
commit | 2cdd5bf0e73eff343d4ca085b315e78982e76202 (patch) | |
tree | e9082ffa48b4651e998fd9caa1dab827a9e6b7ae /libedsio/partime.h | |
download | xdelta1-2cdd5bf0e73eff343d4ca085b315e78982e76202.tar.gz xdelta1-2cdd5bf0e73eff343d4ca085b315e78982e76202.tar.bz2 xdelta1-2cdd5bf0e73eff343d4ca085b315e78982e76202.zip |
Imported Upstream version 1.1.4upstream/1.1.4upstream
Diffstat (limited to 'libedsio/partime.h')
-rwxr-xr-x | libedsio/partime.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/libedsio/partime.h b/libedsio/partime.h new file mode 100755 index 0000000..bcc8165 --- /dev/null +++ b/libedsio/partime.h @@ -0,0 +1,67 @@ +/* Parse a string, yielding a struct partime that describes it. */ + +/* Copyright 1993, 1994, 1995, 1997 Paul Eggert + Distributed under license by the Free Software Foundation, Inc. + + This file is part of RCS. + + RCS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + RCS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with RCS; see the file COPYING. + If not, write to the Free Software Foundation, + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Report problems and direct all questions to: + + rcs-bugs@cs.purdue.edu + + */ + +#define TM_UNDEFINED (-1) +#define TM_DEFINED(x) (0 <= (x)) + +/* #include <limits.h> if you want to use these symbols. */ +#define TM_LOCAL_ZONE LONG_MIN +#define TM_UNDEFINED_ZONE (LONG_MIN + 1) + +struct partime + { + /* This structure describes the parsed time. + Only the following tm_* values in it are used: + sec, min, hour, mday, mon, year, wday, yday. + If TM_UNDEFINED (value), the parser never found the value. + The tm_year field is the actual year, not the year - 1900; + but see ymodulus below. */ + struct tm tm; + + /* If !TM_UNDEFINED (ymodulus), + then tm.tm_year is actually modulo ymodulus. */ + int ymodulus; + + /* Week of year, ISO 8601 style. + If TM_UNDEFINED (yweek), the parser never found yweek. + Weeks start on Mondays. + Week 1 includes Jan 4. */ + int yweek; + + /* Seconds east of UTC; or TM_LOCAL_ZONE or TM_UNDEFINED_ZONE. */ + long zone; + }; + +#if defined __STDC__ || has_prototypes +# define __PARTIME_P(x) x +#else +# define __PARTIME_P(x) () +#endif + +char *partime __PARTIME_P ((char const *, struct partime *)); +char *parzone __PARTIME_P ((char const *, long *)); |