cSvn-UI for SVN Repositories

cGit-UI – is a web interface for Subversion (SVN) Repositories. cSvn CGI script is writen in C and therefore it's fast enough

6 Commits   0 Branches   2 Tags

#ifndef    __DATE_H
#define    __DATE_H

#ifdef __cplusplus
extern "C" {
#endif

enum date_mode_type {
  DATE_NORMAL = 0,
  DATE_HUMAN,
  DATE_RELATIVE,
  DATE_SHORT,
  DATE_ISO8601,
  DATE_ISO8601_STRICT,
  DATE_RFC2822,
  DATE_RAW,
  DATE_UNIX
};

struct date_mode {
  enum date_mode_type type;
  int local;
};

/*******************************************************
  Convenience helper for passing a constant type, like:

    show_date( t, tz, DATE_MODE(NORMAL) );
 */
#define DATE_MODE(t) date_mode_from_type(DATE_##t)
struct date_mode *date_mode_from_type(enum date_mode_type type);


/*
  Parse data in the input TEXT, fill struct tm TM and return
  UTC time_t. On error parse_data returns -1:
 */
extern time_t parse_date( struct tm *tm, const char *text );

extern void show_date_relative( struct strbuf *sb, time_t t );
extern void show_date( struct strbuf *sb, time_t t, int tz, const struct date_mode *mode );


#ifdef __cplusplus
}
#endif

#endif  /* __DATE_H */