date_parse.c File Reference
`#include "ruby.h"`
`#include "ruby/encoding.h"`
`#include "ruby/re.h"`
`#include <ctype.h>`

Go to the source code of this file.

## Data Structures

struct | zone

## Macros

#define | sizeof_array(o) (sizeof o / sizeof o[0])
#define | f_negate(x) rb_funcall(x, rb_intern("-@"), 0)
#define | f_add(x, y) rb_funcall(x, '+', 1, y)
#define | f_sub(x, y) rb_funcall(x, '-', 1, y)
#define | f_mul(x, y) rb_funcall(x, '*', 1, y)
#define | f_div(x, y) rb_funcall(x, '/', 1, y)
#define | f_idiv(x, y) rb_funcall(x, rb_intern("div"), 1, y)
#define | f_mod(x, y) rb_funcall(x, '%', 1, y)
#define | f_expt(x, y) rb_funcall(x, rb_intern("**"), 1, y)
#define | f_lt_p(x, y) rb_funcall(x, '<', 1, y)
#define | f_gt_p(x, y) rb_funcall(x, '>', 1, y)
#define | f_le_p(x, y) rb_funcall(x, rb_intern("<="), 1, y)
#define | f_ge_p(x, y) rb_funcall(x, rb_intern(">="), 1, y)
#define | f_to_s(x) rb_funcall(x, rb_intern("to_s"), 0)
#define | f_match(r, s) rb_funcall(r, rb_intern("match"), 1, s)
#define | f_aref(o, i) rb_funcall(o, rb_intern("[]"), 1, i)
#define | f_aref2(o, i, j) rb_funcall(o, rb_intern("[]"), 2, i, j)
#define | f_begin(o, i) rb_funcall(o, rb_intern("begin"), 1, i)
#define | f_end(o, i) rb_funcall(o, rb_intern("end"), 1, i)
#define | f_aset(o, i, v) rb_funcall(o, rb_intern("[]="), 2, i, v)
#define | f_aset2(o, i, j, v) rb_funcall(o, rb_intern("[]="), 3, i, j, v)
#define | f_sub_bang(s, r, x) rb_funcall(s, rb_intern("sub!"), 2, r, x)
#define | f_gsub_bang(s, r, x) rb_funcall(s, rb_intern("gsub!"), 2, r, x)
#define | set_hash(k, v) rb_hash_aset(hash, ID2SYM(rb_intern(k)), v)
#define | ref_hash(k) rb_hash_aref(hash, ID2SYM(rb_intern(k)))
#define | del_hash(k) rb_hash_delete(hash, ID2SYM(rb_intern(k)))
#define | cstr2num(s) rb_cstr_to_inum(s, 10, 0)
#define | str2num(s) rb_str_to_inum(s, 10, 0)
#define | issign(c) ((c) == '-' || (c) == '+')
#define | asp_string() rb_str_new(" ", 1)
#define | DAYS "sunday|monday|tuesday|wednesday|thursday|friday|saturday"
#define | MONTHS "january|february|march|april|may|june|july|august|september|october|november|december"
#define | ABBR_DAYS "sun|mon|tue|wed|thu|fri|sat"
#define | ABBR_MONTHS "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec"
#define | REGCOMP(pat, opt)
#define | REGCOMP_0(pat) REGCOMP(pat, 0)
#define | REGCOMP_I(pat) REGCOMP(pat, ONIG_OPTION_IGNORECASE)
#define | MATCH(s, p, c)
#define | SUBS(s, p, c)
#define | STD " standard time"
#define | DST " daylight time"
#define | DST " dst"
#define | HAVE_ALPHA (1<<0)
#define | HAVE_DIGIT (1<<1)
#define | HAVE_DASH (1<<2)
#define | HAVE_DOT (1<<3)
#define | HAVE_SLASH (1<<4)
#define | HAVE_ELEM_P(x) ((check_class(str) & (x)) == (x))
#define | SNUM 14
#define | SNUM 17
#define | SNUM 5
#define | iso8601_bas_time_cb iso8601_ext_time_cb
#define | SNUM 8
#define | SNUM 8
#define | SNUM 5
#define | SNUM 4
#define | SNUM 8
#define | SNUM 8
#define | SNUM 8
#define | SNUM 7
#define | SNUM 9

## Functions

static void | s3e (VALUE hash, VALUE y, VALUE m, VALUE d, int bc)
static VALUE | regcomp (const char *source, long len, int opt)
static int | match (VALUE str, VALUE pat, VALUE hash, int(*cb)(VALUE, VALUE))
static int | subs (VALUE str, VALUE pat, VALUE hash, int(*cb)(VALUE, VALUE))
VALUE | date_zone_to_diff (VALUE str)
static int | day_num (VALUE s)
static int | mon_num (VALUE s)
static int | parse_day_cb (VALUE m, VALUE hash)
static int | parse_day (VALUE str, VALUE hash)
static int | parse_time2_cb (VALUE m, VALUE hash)
static int | parse_time_cb (VALUE m, VALUE hash)
static int | parse_time (VALUE str, VALUE hash)
static int | parse_eu_cb (VALUE m, VALUE hash)
static int | parse_eu (VALUE str, VALUE hash)
static int | parse_us_cb (VALUE m, VALUE hash)
static int | parse_us (VALUE str, VALUE hash)
static int | parse_iso_cb (VALUE m, VALUE hash)
static int | parse_iso (VALUE str, VALUE hash)
static int | parse_iso21_cb (VALUE m, VALUE hash)
static int | parse_iso21 (VALUE str, VALUE hash)
static int | parse_iso22_cb (VALUE m, VALUE hash)
static int | parse_iso22 (VALUE str, VALUE hash)
static int | parse_iso23_cb (VALUE m, VALUE hash)
static int | parse_iso23 (VALUE str, VALUE hash)
static int | parse_iso24_cb (VALUE m, VALUE hash)
static int | parse_iso24 (VALUE str, VALUE hash)
static int | parse_iso25_cb (VALUE m, VALUE hash)
static int | parse_iso25 (VALUE str, VALUE hash)
static int | parse_iso26_cb (VALUE m, VALUE hash)
static int | parse_iso26 (VALUE str, VALUE hash)
static int | parse_iso2 (VALUE str, VALUE hash)
static int | gengo (int c)
static int | parse_jis_cb (VALUE m, VALUE hash)
static int | parse_jis (VALUE str, VALUE hash)
static int | parse_vms11_cb (VALUE m, VALUE hash)
static int | parse_vms11 (VALUE str, VALUE hash)
static int | parse_vms12_cb (VALUE m, VALUE hash)
static int | parse_vms12 (VALUE str, VALUE hash)
static int | parse_vms (VALUE str, VALUE hash)
static int | parse_sla_cb (VALUE m, VALUE hash)
static int | parse_sla (VALUE str, VALUE hash)
static int | parse_dot_cb (VALUE m, VALUE hash)
static int | parse_dot (VALUE str, VALUE hash)
static int | parse_year_cb (VALUE m, VALUE hash)
static int | parse_year (VALUE str, VALUE hash)
static int | parse_mon_cb (VALUE m, VALUE hash)
static int | parse_mon (VALUE str, VALUE hash)
static int | parse_mday_cb (VALUE m, VALUE hash)
static int | parse_mday (VALUE str, VALUE hash)
static int | n2i (const char *s, long f, long w)
static int | parse_ddd_cb (VALUE m, VALUE hash)
static int | parse_ddd (VALUE str, VALUE hash)
static int | parse_bc_cb (VALUE m, VALUE hash)
static int | parse_bc (VALUE str, VALUE hash)
static int | parse_frag_cb (VALUE m, VALUE hash)
static int | parse_frag (VALUE str, VALUE hash)
static unsigned | check_class (VALUE s)
VALUE | date__parse (VALUE str, VALUE comp)
static VALUE | comp_year69 (VALUE y)
static VALUE | comp_year50 (VALUE y)
static VALUE | sec_fraction (VALUE f)
static int | iso8601_ext_datetime_cb (VALUE m, VALUE hash)
static int | iso8601_ext_datetime (VALUE str, VALUE hash)
static int | iso8601_bas_datetime_cb (VALUE m, VALUE hash)
static int | iso8601_bas_datetime (VALUE str, VALUE hash)
static int | iso8601_ext_time_cb (VALUE m, VALUE hash)
static int | iso8601_ext_time (VALUE str, VALUE hash)
static int | iso8601_bas_time (VALUE str, VALUE hash)
VALUE | date__iso8601 (VALUE str)
static int | rfc3339_cb (VALUE m, VALUE hash)
static int | rfc3339 (VALUE str, VALUE hash)
VALUE | date__rfc3339 (VALUE str)
static int | xmlschema_datetime_cb (VALUE m, VALUE hash)
static int | xmlschema_datetime (VALUE str, VALUE hash)
static int | xmlschema_time_cb (VALUE m, VALUE hash)
static int | xmlschema_time (VALUE str, VALUE hash)
static int | xmlschema_trunc_cb (VALUE m, VALUE hash)
static int | xmlschema_trunc (VALUE str, VALUE hash)
VALUE | date__xmlschema (VALUE str)
static int | rfc2822_cb (VALUE m, VALUE hash)
static int | rfc2822 (VALUE str, VALUE hash)
VALUE | date__rfc2822 (VALUE str)
static int | httpdate_type1_cb (VALUE m, VALUE hash)
static int | httpdate_type1 (VALUE str, VALUE hash)
static int | httpdate_type2_cb (VALUE m, VALUE hash)
static int | httpdate_type2 (VALUE str, VALUE hash)
static int | httpdate_type3_cb (VALUE m, VALUE hash)
static int | httpdate_type3 (VALUE str, VALUE hash)
VALUE | date__httpdate (VALUE str)
static int | jisx0301_cb (VALUE m, VALUE hash)
static int | jisx0301 (VALUE str, VALUE hash)
VALUE | date__jisx0301 (VALUE str)

## Variables

static const char * | abbr_days []
static const char * | abbr_months []
static struct zone | zones_source []

## Macro Definition Documentation

#define ABBR_DAYS "sun|mon|tue|wed|thu|fri|sat"

Definition at line 217 of file date_parse.c.

Referenced by httpdate_type1(), httpdate_type3(), parse_day(), and rfc2822().

#define ABBR_MONTHS "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec"

Definition at line 218 of file date_parse.c.

Referenced by httpdate_type1(), httpdate_type2(), httpdate_type3(), parse_eu(), parse_mon(), parse_us(), parse_vms11(), parse_vms12(), and rfc2822().

#define asp_string | ( |  | ) | rb_str_new(" ", 1)

Definition at line 56 of file date_parse.c.

Referenced by date__parse(), and subs().

#define cstr2num | ( |  | s | ) | rb_cstr_to_inum(s, 10, 0)

Definition at line 42 of file date_parse.c.

Referenced by date_zone_to_diff(), and s3e().

#define DAYS "sunday|monday|tuesday|wednesday|thursday|friday|saturday"

Definition at line 215 of file date_parse.c.

Referenced by httpdate_type2().

#define del_hash | ( |  | k | ) | rb_hash_delete(hash, ID2SYM(rb_intern(k)))

Definition at line 40 of file date_parse.c.

Referenced by date__parse().

#define DST " daylight time"

Referenced by date_zone_to_diff().

#define DST " dst"

#define f_add | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '+', 1, y)

Definition at line 13 of file date_parse.c.

Referenced by comp_year50(), comp_year69(), date__parse(), date_zone_to_diff(), jisx0301_cb(), parse_bc_cb(), parse_jis_cb(), and s3e().

#define f_aref | ( |  | o,
|  |  | i
| ) |  | rb_funcall(o, rb_intern("[]"), 1, i)

Definition at line 29 of file date_parse.c.

Referenced by date_zone_to_diff().

#define f_aref2 | ( |  | o,
|  |  | i,
|  |  | j
| ) |  | rb_funcall(o, rb_intern("[]"), 2, i, j)

Definition at line 30 of file date_parse.c.

#define f_aset | ( |  | o,
|  |  | i,
|  |  | v
| ) |  | rb_funcall(o, rb_intern("[]="), 2, i, v)

Definition at line 33 of file date_parse.c.

#define f_aset2 | ( |  | o,
|  |  | i,
|  |  | j,
|  |  | v
| ) |  | rb_funcall(o, rb_intern("[]="), 3, i, j, v)

Definition at line 34 of file date_parse.c.

Referenced by subs().

#define f_begin | ( |  | o,
|  |  | i
| ) |  | rb_funcall(o, rb_intern("begin"), 1, i)

Definition at line 31 of file date_parse.c.

Referenced by subs().

#define f_div | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '/', 1, y)

Definition at line 16 of file date_parse.c.

#define f_end | ( |  | o,
|  |  | i
| ) |  | rb_funcall(o, rb_intern("end"), 1, i)

Definition at line 32 of file date_parse.c.

Referenced by subs().

#define f_expt | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, rb_intern("**"), 1, y)

Definition at line 19 of file date_parse.c.

Referenced by date_zone_to_diff(), parse_ddd_cb(), parse_time2_cb(), and sec_fraction().

#define f_ge_p | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, rb_intern(">="), 1, y)

Definition at line 24 of file date_parse.c.

Referenced by comp_year50(), comp_year69(), date__parse(), httpdate_type2_cb(), and parse_frag_cb().

#define f_gsub_bang | ( |  | s,
|  |  | r,
|  |  | x
| ) |  | rb_funcall(s, rb_intern("gsub!"), 2, r, x)

Definition at line 36 of file date_parse.c.

Referenced by date__parse().

#define f_gt_p | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '>', 1, y)

Definition at line 22 of file date_parse.c.

#define f_idiv | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, rb_intern("div"), 1, y)

Definition at line 17 of file date_parse.c.

#define f_le_p | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, rb_intern("<="), 1, y)

Definition at line 23 of file date_parse.c.

Referenced by date__parse(), httpdate_type2_cb(), and parse_frag_cb().

#define f_lt_p | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '<', 1, y)

Definition at line 21 of file date_parse.c.

#define f_match | ( |  | r,
|  |  | s
| ) |  | rb_funcall(r, rb_intern("match"), 1, s)

Definition at line 28 of file date_parse.c.

Referenced by match(), parse_iso25(), parse_iso26(), parse_time_cb(), and subs().

#define f_mod | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '%', 1, y)

Definition at line 18 of file date_parse.c.

#define f_mul | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '*', 1, y)

Definition at line 15 of file date_parse.c.

Referenced by date_zone_to_diff().

#define f_negate | ( |  | x | ) | rb_funcall(x, rb_intern("-@"), 0)

Definition at line 12 of file date_parse.c.

Referenced by date_zone_to_diff(), parse_bc_cb(), and s3e().

#define f_sub | ( |  | x,
|  |  | y
| ) |  | rb_funcall(x, '-', 1, y)

Definition at line 14 of file date_parse.c.

#define f_sub_bang | ( |  | s,
|  |  | r,
|  |  | x
| ) |  | rb_funcall(s, rb_intern("sub!"), 2, r, x)

Definition at line 35 of file date_parse.c.

#define f_to_s | ( |  | x | ) | rb_funcall(x, rb_intern("to_s"), 0)

Definition at line 26 of file date_parse.c.

Referenced by s3e().

#define HAVE_ALPHA (1<<0)

Definition at line 1509 of file date_parse.c.

Referenced by check_class(), and date__parse().

#define HAVE_DASH (1<<2)

Definition at line 1511 of file date_parse.c.

Referenced by check_class(), and date__parse().

#define HAVE_DIGIT (1<<1)

Definition at line 1510 of file date_parse.c.

Referenced by check_class(), and date__parse().

#define HAVE_DOT (1<<3)

Definition at line 1512 of file date_parse.c.

Referenced by check_class(), and date__parse().

#define HAVE_ELEM_P | ( |  | x | ) | ((check_class(str) & (x)) == (x))

Definition at line 1537 of file date_parse.c.

Referenced by date__parse().

#define HAVE_SLASH (1<<4)

Definition at line 1513 of file date_parse.c.

Referenced by check_class(), and date__parse().

#define iso8601_bas_time_cb iso8601_ext_time_cb

Definition at line 1872 of file date_parse.c.

Referenced by iso8601_bas_time().

#define issign | ( |  | c | ) | ((c) == '-' || (c) == '+')

Definition at line 55 of file date_parse.c.

Referenced by date_zone_to_diff(), and s3e().

#define MATCH | ( |  | s,
|  |  | p,
|  |  | c
| ) |  |

Value:
{ \
return match(s, p, hash, c); \
}

Definition at line 239 of file date_parse.c.

Referenced by httpdate_type1(), httpdate_type2(), httpdate_type3(), iso8601_bas_datetime(), iso8601_bas_time(), iso8601_ext_datetime(), iso8601_ext_time(), jisx0301(), rfc2822(), rfc3339(), xmlschema_datetime(), xmlschema_time(), and xmlschema_trunc().

#define MONTHS "january|february|march|april|may|june|july|august|september|october|november|december"

Definition at line 216 of file date_parse.c.

#define ref_hash | ( |  | k | ) | rb_hash_aref(hash, ID2SYM(rb_intern(k)))

Definition at line 39 of file date_parse.c.

Referenced by date__parse(), parse_bc_cb(), and parse_frag_cb().

#define REGCOMP | ( |  | pat,
|  |  | opt
| ) |  |

Value:
{ \
if (NIL_P(pat)) \
pat = regcomp(pat##_source, sizeof pat##_source - 1, opt); \
}

Definition at line 230 of file date_parse.c.

#define REGCOMP_0 | ( |  | pat | ) | REGCOMP(pat, 0)

Definition at line 236 of file date_parse.c.

Referenced by date__parse(), parse_iso(), parse_iso23(), parse_iso24(), parse_iso25(), parse_iso26(), and parse_year().

#define REGCOMP_I | ( |  | pat | ) | REGCOMP(pat, ONIG_OPTION_IGNORECASE)

Definition at line 237 of file date_parse.c.

Referenced by httpdate_type1(), httpdate_type2(), httpdate_type3(), iso8601_bas_datetime(), iso8601_bas_time(), iso8601_ext_datetime(), iso8601_ext_time(), jisx0301(), parse_bc(), parse_day(), parse_ddd(), parse_dot(), parse_eu(), parse_frag(), parse_iso21(), parse_iso22(), parse_jis(), parse_mday(), parse_mon(), parse_sla(), parse_time(), parse_time_cb(), parse_us(), parse_vms11(), parse_vms12(), rfc2822(), rfc3339(), xmlschema_datetime(), xmlschema_time(), and xmlschema_trunc().

#define set_hash | ( |  | k,
|  |  | v
| ) |  | rb_hash_aset(hash, ID2SYM(rb_intern(k)), v)

Definition at line 38 of file date_parse.c.

Referenced by date__parse(), httpdate_type1_cb(), httpdate_type2_cb(), httpdate_type3_cb(), iso8601_bas_datetime_cb(), iso8601_ext_datetime_cb(), iso8601_ext_time_cb(), jisx0301_cb(), parse_bc_cb(), parse_day_cb(), parse_ddd_cb(), parse_frag_cb(), parse_iso21_cb(), parse_iso22_cb(), parse_iso23_cb(), parse_iso24_cb(), parse_iso25_cb(), parse_iso26_cb(), parse_jis_cb(), parse_mday_cb(), parse_mon_cb(), parse_time2_cb(), parse_time_cb(), parse_year_cb(), rfc2822_cb(), rfc3339_cb(), s3e(), xmlschema_datetime_cb(), xmlschema_time_cb(), and xmlschema_trunc_cb().

#define sizeof_array | ( |  | o | ) | (sizeof o / sizeof o[0])

Definition at line 10 of file date_parse.c.

Referenced by date_zone_to_diff(), day_num(), and mon_num().

#define SNUM 14

Definition at line 2353 of file date_parse.c.

Referenced by httpdate_type1_cb(), httpdate_type2_cb(), httpdate_type3_cb(), iso8601_bas_datetime_cb(), iso8601_ext_datetime_cb(), iso8601_ext_time_cb(), jisx0301_cb(), rfc2822_cb(), rfc3339_cb(), xmlschema_datetime_cb(), xmlschema_time_cb(), and xmlschema_trunc_cb().

#define SNUM 17

Definition at line 2353 of file date_parse.c.

#define SNUM 5

Definition at line 2353 of file date_parse.c.

#define SNUM 8

Definition at line 2353 of file date_parse.c.

#define SNUM 8

Definition at line 2353 of file date_parse.c.

#define SNUM 5

Definition at line 2353 of file date_parse.c.

#define SNUM 4

Definition at line 2353 of file date_parse.c.

#define SNUM 8

Definition at line 2353 of file date_parse.c.

#define SNUM 8

Definition at line 2353 of file date_parse.c.

#define SNUM 8

Definition at line 2353 of file date_parse.c.

#define SNUM 7

Definition at line 2353 of file date_parse.c.

#define SNUM 9

Definition at line 2353 of file date_parse.c.

#define STD " standard time"

Referenced by date_zone_to_diff().

#define str2num | ( |  | s | ) | rb_str_to_inum(s, 10, 0)

Definition at line 43 of file date_parse.c.

Referenced by date_zone_to_diff(), httpdate_type1_cb(), httpdate_type2_cb(), httpdate_type3_cb(), iso8601_bas_datetime_cb(), iso8601_ext_datetime_cb(), iso8601_ext_time_cb(), jisx0301_cb(), parse_ddd_cb(), parse_frag_cb(), parse_iso21_cb(), parse_iso22_cb(), parse_iso23_cb(), parse_iso24_cb(), parse_iso25_cb(), parse_iso26_cb(), parse_jis_cb(), parse_mday_cb(), parse_time2_cb(), parse_year_cb(), rfc2822_cb(), rfc3339_cb(), sec_fraction(), xmlschema_datetime_cb(), xmlschema_time_cb(), and xmlschema_trunc_cb().

#define SUBS | ( |  | s,
|  |  | p,
|  |  | c
| ) |  |

Value:
{ \
return subs(s, p, hash, c); \
}

Definition at line 259 of file date_parse.c.

Referenced by parse_bc(), parse_day(), parse_ddd(), parse_dot(), parse_eu(), parse_frag(), parse_iso(), parse_iso21(), parse_iso22(), parse_iso23(), parse_iso24(), parse_iso25(), parse_iso26(), parse_jis(), parse_mday(), parse_mon(), parse_sla(), parse_time(), parse_us(), parse_vms11(), parse_vms12(), and parse_year().

## Function Documentation

static unsigned check_class | ( | VALUE | s | ) |

static

Definition at line 1516 of file date_parse.c.

References HAVE_ALPHA, HAVE_DASH, HAVE_DIGIT, HAVE_DOT, HAVE_SLASH, i, RSTRING_LEN, and RSTRING_PTR.

static VALUE comp_year50 | ( | VALUE | y | ) |

static

Definition at line 1652 of file date_parse.c.

References f_add, f_ge_p, and INT2FIX.

Referenced by rfc2822_cb().

static VALUE comp_year69 | ( | VALUE | y | ) |

static

Definition at line 1644 of file date_parse.c.

References f_add, f_ge_p, and INT2FIX.

Referenced by httpdate_type2_cb(), iso8601_bas_datetime_cb(), and iso8601_ext_datetime_cb().

VALUE date__httpdate | ( | VALUE | str | ) |

Definition at line 2330 of file date_parse.c.

References hash(), httpdate_type1(), httpdate_type2(), httpdate_type3(), rb_backref_get(), rb_backref_set(), rb_hash_new(), and rb_match_busy().

Referenced by date_s__httpdate().

VALUE date__iso8601 | ( | VALUE | str | ) |

Definition at line 1899 of file date_parse.c.

References hash(), iso8601_bas_datetime(), iso8601_bas_time(), iso8601_ext_datetime(), iso8601_ext_time(), rb_backref_get(), rb_backref_set(), rb_hash_new(), and rb_match_busy().

Referenced by date__jisx0301(), and date_s__iso8601().

VALUE date__jisx0301 | ( | VALUE | str | ) |

Definition at line 2404 of file date_parse.c.

References date__iso8601(), hash(), jisx0301(), rb_backref_get(), rb_backref_set(), rb_hash_new(), and rb_match_busy().

Referenced by date_s__jisx0301().

VALUE date__parse | ( | VALUE | str,
|  | VALUE | comp
| ) |  |

Definition at line 1540 of file date_parse.c.

References asp_string, date_zone_to_diff(), del_hash, f_add, f_ge_p, f_gsub_bang, f_le_p, hash(), HAVE_ALPHA, HAVE_DASH, HAVE_DIGIT, HAVE_DOT, HAVE_ELEM_P, HAVE_SLASH, INT2FIX, NIL_P, parse_bc(), parse_day(), parse_ddd(), parse_dot(), parse_eu(), parse_frag(), parse_iso(), parse_iso2(), parse_jis(), parse_mday(), parse_mon(), parse_sla(), parse_time(), parse_us(), parse_vms(), parse_year(), Qnil, rb_backref_get(), rb_backref_set(), rb_hash_new(), rb_match_busy(), rb_str_dup(), ref_hash, REGCOMP_0, RTEST, and set_hash.

Referenced by date_s__parse_internal().

VALUE date__rfc2822 | ( | VALUE | str | ) |

Definition at line 2184 of file date_parse.c.

References hash(), rb_backref_get(), rb_backref_set(), rb_hash_new(), rb_match_busy(), and rfc2822().

Referenced by date_s__rfc2822().

VALUE date__rfc3339 | ( | VALUE | str | ) |

Definition at line 1967 of file date_parse.c.

References hash(), rb_backref_get(), rb_backref_set(), rb_hash_new(), rb_match_busy(), and rfc3339().

Referenced by date_s__rfc3339().

VALUE date__xmlschema | ( | VALUE | str | ) |

Definition at line 2113 of file date_parse.c.

References hash(), rb_backref_get(), rb_backref_set(), rb_hash_new(), rb_match_busy(), xmlschema_datetime(), xmlschema_time(), and xmlschema_trunc().

Referenced by date_s__xmlschema().

VALUE date_zone_to_diff | ( | VALUE | str | ) |

Definition at line 370 of file date_parse.c.

References ALLOCA_N, cstr2num, DST, f_add, f_aref, f_expt, f_mul, f_negate, i, INT2FIX, issign, LONG2NUM, min(), name, NIL_P, zone::offset, p, Qnil, RB_GC_GUARD, rb_gc_register_mark_object(), rb_hash_aset(), rb_hash_new(), rb_rational_new2, rb_str_new(), rb_str_new2(), RSTRING_LEN, RSTRING_PTR, sizeof_array, STD, str2num, strchr(), strlen(), T_STRING, and TYPE.

Referenced by date__parse(), date__strptime_internal(), iso8601_bas_datetime_cb(), iso8601_ext_datetime_cb(), iso8601_ext_time_cb(), jisx0301_cb(), offset_to_sec(), parse_ddd_cb(), rfc2822_cb(), rfc3339_cb(), xmlschema_datetime_cb(), xmlschema_time_cb(), and xmlschema_trunc_cb().

static int day_num | ( | VALUE | s | ) |

static

Definition at line 562 of file date_parse.c.

References abbr_days, i, RSTRING_PTR, sizeof_array, and strncasecmp.

Referenced by httpdate_type1_cb(), httpdate_type2_cb(), httpdate_type3_cb(), parse_day_cb(), and rfc2822_cb().

static int gengo | ( | int | c | ) |

static

Definition at line 989 of file date_parse.c.

Referenced by jisx0301_cb(), and parse_jis_cb().

static int httpdate_type1 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2226 of file date_parse.c.

References ABBR_DAYS, ABBR_MONTHS, httpdate_type1_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__httpdate().

static int httpdate_type1_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2201 of file date_parse.c.

References day_num(), i, INT2FIX, mon_num(), Qnil, rb_reg_nth_match(), set_hash, SNUM, and str2num.

Referenced by httpdate_type1().

static int httpdate_type2 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2273 of file date_parse.c.

References ABBR_MONTHS, DAYS, httpdate_type2_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__httpdate().

static int httpdate_type2_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2245 of file date_parse.c.

References comp_year69(), day_num(), f_ge_p, f_le_p, i, INT2FIX, mon_num(), Qnil, rb_reg_nth_match(), set_hash, SNUM, and str2num.

Referenced by httpdate_type2().

static int httpdate_type3 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2315 of file date_parse.c.

References ABBR_DAYS, ABBR_MONTHS, httpdate_type3_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__httpdate().

static int httpdate_type3_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2292 of file date_parse.c.

References day_num(), i, INT2FIX, mon_num(), Qnil, rb_reg_nth_match(), set_hash, SNUM, and str2num.

Referenced by httpdate_type3().

static int iso8601_bas_datetime | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1825 of file date_parse.c.

References iso8601_bas_datetime_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__iso8601().

static int iso8601_bas_datetime_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1756 of file date_parse.c.

References comp_year69(), date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), RSTRING_LEN, RSTRING_PTR, sec_fraction(), set_hash, SNUM, and str2num.

Referenced by iso8601_bas_datetime().

static int iso8601_bas_time | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1887 of file date_parse.c.

References iso8601_bas_time_cb, MATCH, Qnil, and REGCOMP_I.

Referenced by date__iso8601().

static int iso8601_ext_datetime | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1736 of file date_parse.c.

References iso8601_ext_datetime_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__iso8601().

static int iso8601_ext_datetime_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1670 of file date_parse.c.

References comp_year69(), date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), RSTRING_LEN, RSTRING_PTR, sec_fraction(), set_hash, SNUM, and str2num.

Referenced by iso8601_ext_datetime().

static int iso8601_ext_time | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1875 of file date_parse.c.

References iso8601_ext_time_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__iso8601().

static int iso8601_ext_time_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1847 of file date_parse.c.

References date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), sec_fraction(), set_hash, SNUM, and str2num.

Referenced by iso8601_ext_time().

static int jisx0301 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2390 of file date_parse.c.

References jisx0301_cb(), MATCH, Qnil, and REGCOMP_I.

Referenced by date__jisx0301().

static int jisx0301_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2356 of file date_parse.c.

References date_zone_to_diff(), f_add, gengo(), i, INT2FIX, NIL_P, Qnil, rb_reg_nth_match(), RSTRING_PTR, sec_fraction(), set_hash, SNUM, and str2num.

Referenced by jisx0301().

static int match | ( | VALUE | str,
|  | VALUE | pat,
|  | VALUE | hash,
|  | int(*)(VALUE, VALUE) | cb
| ) |  |

static

Definition at line 245 of file date_parse.c.

References f_match, hash(), and NIL_P.

Referenced by match_alloc(), match_getter(), onig_search(), rb_reg_s_last_match(), rb_reg_search(), rb_str_sub_bang(), rb_str_subpat(), rb_str_subpat_set(), reg_named_capture_assign_gen(), ruby_strtod(), scan_once(), and str_gsub().

static int mon_num | ( | VALUE | s | ) |

static

Definition at line 573 of file date_parse.c.

References abbr_months, i, RSTRING_PTR, sizeof_array, and strncasecmp.

Referenced by httpdate_type1_cb(), httpdate_type2_cb(), httpdate_type3_cb(), parse_eu_cb(), parse_mon_cb(), parse_us_cb(), parse_vms11_cb(), parse_vms12_cb(), and rfc2822_cb().

static int n2i | ( | const char * | s,
|  | long | f,
|  | long | w
| ) |  |

static

Definition at line 1209 of file date_parse.c.

References i, and v.

Referenced by parse_ddd_cb().

static int parse_bc | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1466 of file date_parse.c.

References parse_bc_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_bc_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1454 of file date_parse.c.

References f_add, f_negate, INT2FIX, NIL_P, ref_hash, and set_hash.

Referenced by parse_bc().

static int parse_day | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 594 of file date_parse.c.

References ABBR_DAYS, parse_day_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_day_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 584 of file date_parse.c.

References day_num(), INT2FIX, rb_reg_nth_match(), and set_hash.

Referenced by parse_day().

static int parse_ddd | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1427 of file date_parse.c.

References parse_ddd_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_ddd_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1224 of file date_parse.c.

References ALLOCA_N, buf, date_zone_to_diff(), f_expt, INT2FIX, LONG2NUM, n2i(), NIL_P, Qfalse, RB_GC_GUARD, rb_rational_new2, rb_reg_nth_match(), rb_str_new2(), RSTRING_LEN, RSTRING_PTR, set_hash, str2num, and strchr().

Referenced by parse_ddd().

static int parse_dot | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1138 of file date_parse.c.

References parse_dot_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_dot_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1125 of file date_parse.c.

References rb_reg_nth_match(), and s3e().

Referenced by parse_dot().

static int parse_eu | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 734 of file date_parse.c.

References ABBR_MONTHS, parse_eu_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_eu_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 716 of file date_parse.c.

References INT2FIX, mon_num(), NIL_P, rb_reg_nth_match(), RSTRING_PTR, and s3e().

Referenced by parse_eu().

static int parse_frag | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1500 of file date_parse.c.

References parse_frag_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_frag_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1477 of file date_parse.c.

References f_ge_p, f_le_p, INT2FIX, NIL_P, rb_reg_nth_match(), ref_hash, set_hash, and str2num.

Referenced by parse_frag().

static int parse_iso | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 803 of file date_parse.c.

References parse_iso_cb(), Qnil, REGCOMP_0, and SUBS.

Referenced by date__parse().

static int parse_iso2 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 968 of file date_parse.c.

References parse_iso21(), parse_iso22(), parse_iso23(), parse_iso24(), parse_iso25(), and parse_iso26().

Referenced by date__parse().

static int parse_iso21 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 831 of file date_parse.c.

References parse_iso21_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by parse_iso2().

static int parse_iso21_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 813 of file date_parse.c.

References NIL_P, rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_iso21().

static int parse_iso22 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 852 of file date_parse.c.

References parse_iso22_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by parse_iso2().

static int parse_iso22_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 842 of file date_parse.c.

References rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_iso22().

static int parse_iso23 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 877 of file date_parse.c.

References parse_iso23_cb(), Qnil, REGCOMP_0, and SUBS.

Referenced by parse_iso2().

static int parse_iso23_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 862 of file date_parse.c.

References NIL_P, rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_iso23().

static int parse_iso24 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 902 of file date_parse.c.

References parse_iso24_cb(), Qnil, REGCOMP_0, and SUBS.

Referenced by parse_iso2().

static int parse_iso24_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 887 of file date_parse.c.

References NIL_P, rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_iso24().

static int parse_iso25 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 926 of file date_parse.c.

References f_match, NIL_P, parse_iso25_cb(), Qnil, REGCOMP_0, and SUBS.

Referenced by parse_iso2().

static int parse_iso25_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 912 of file date_parse.c.

References rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_iso25().

static int parse_iso26 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 952 of file date_parse.c.

References f_match, NIL_P, parse_iso26_cb(), Qnil, REGCOMP_0, and SUBS.

Referenced by parse_iso2().

static int parse_iso26_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 942 of file date_parse.c.

References rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_iso26().

static int parse_iso_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 790 of file date_parse.c.

References rb_reg_nth_match(), and s3e().

Referenced by parse_iso().

static int parse_jis | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1024 of file date_parse.c.

References parse_jis_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_jis_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1004 of file date_parse.c.

References f_add, gengo(), INT2FIX, rb_reg_nth_match(), RSTRING_PTR, set_hash, and str2num.

Referenced by parse_jis().

static int parse_mday | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1199 of file date_parse.c.

References parse_mday_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_mday_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1189 of file date_parse.c.

References rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_mday().

static int parse_mon | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1179 of file date_parse.c.

References ABBR_MONTHS, parse_mon_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_mon_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1169 of file date_parse.c.

References INT2FIX, mon_num(), rb_reg_nth_match(), and set_hash.

Referenced by parse_mon().

static int parse_sla | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1114 of file date_parse.c.

References parse_sla_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_sla_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1101 of file date_parse.c.

References rb_reg_nth_match(), and s3e().

Referenced by parse_sla().

static int parse_time | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 680 of file date_parse.c.

References parse_time_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_time2_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 604 of file date_parse.c.

References f_expt, INT2FIX, LONG2NUM, min(), NIL_P, NUM2INT, p, rb_rational_new2, rb_reg_nth_match(), RSTRING_LEN, RSTRING_PTR, set_hash, and str2num.

Referenced by parse_time_cb().

static int parse_time_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 647 of file date_parse.c.

References f_match, NIL_P, parse_time2_cb(), Qnil, rb_reg_nth_match(), REGCOMP_I, and set_hash.

Referenced by parse_time().

static int parse_us | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 771 of file date_parse.c.

References ABBR_MONTHS, parse_us_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by date__parse().

static int parse_us_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 753 of file date_parse.c.

References INT2FIX, mon_num(), NIL_P, rb_reg_nth_match(), RSTRING_PTR, and s3e().

Referenced by parse_us().

static int parse_vms | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1088 of file date_parse.c.

References parse_vms11(), and parse_vms12().

Referenced by date__parse().

static int parse_vms11 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1049 of file date_parse.c.

References ABBR_MONTHS, parse_vms11_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by parse_vms().

static int parse_vms11_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1034 of file date_parse.c.

References INT2FIX, mon_num(), rb_reg_nth_match(), and s3e().

Referenced by parse_vms11().

static int parse_vms12 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1076 of file date_parse.c.

References ABBR_MONTHS, parse_vms12_cb(), Qnil, REGCOMP_I, and SUBS.

Referenced by parse_vms().

static int parse_vms12_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1061 of file date_parse.c.

References INT2FIX, mon_num(), rb_reg_nth_match(), and s3e().

Referenced by parse_vms12().

static int parse_year | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1159 of file date_parse.c.

References parse_year_cb(), Qnil, REGCOMP_0, and SUBS.

Referenced by date__parse().

static int parse_year_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1149 of file date_parse.c.

References rb_reg_nth_match(), set_hash, and str2num.

Referenced by parse_year().

static VALUE regcomp | ( | const char * | source,
|  | long | len,
|  | int | opt
| ) |  |

static

Definition at line 221 of file date_parse.c.

References rb_gc_register_mark_object(), and rb_reg_new().

static int rfc2822 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2168 of file date_parse.c.

References ABBR_DAYS, ABBR_MONTHS, MATCH, Qnil, REGCOMP_I, and rfc2822_cb().

Referenced by date__rfc2822().

static int rfc2822_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2139 of file date_parse.c.

References comp_year50(), date_zone_to_diff(), day_num(), i, INT2FIX, mon_num(), NIL_P, Qnil, rb_reg_nth_match(), RSTRING_LEN, set_hash, SNUM, and str2num.

Referenced by rfc2822().

static int rfc3339 | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 1953 of file date_parse.c.

References MATCH, Qnil, REGCOMP_I, and rfc3339_cb().

Referenced by date__rfc3339().

static int rfc3339_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1927 of file date_parse.c.

References date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), sec_fraction(), set_hash, SNUM, and str2num.

Referenced by rfc3339().

static void s3e | ( | VALUE | hash,
|  | VALUE | y,
|  | VALUE | m,
|  | VALUE | d,
|  | int | bc
| ) |  |

static

Definition at line 59 of file date_parse.c.

References ALLOCA_N, bp, buf, cstr2num, f_add, f_negate, f_to_s, id, INT2FIX, issign, NIL_P, Qfalse, Qnil, rb_str_new(), RSTRING_LEN, RSTRING_PTR, set_hash, T_STRING, and TYPE.

Referenced by parse_dot_cb(), parse_eu_cb(), parse_iso_cb(), parse_sla_cb(), parse_us_cb(), parse_vms11_cb(), and parse_vms12_cb().

static VALUE sec_fraction | ( | VALUE | f | ) |

static

Definition at line 1660 of file date_parse.c.

References f_expt, INT2FIX, LONG2NUM, rb_rational_new2, RSTRING_LEN, and str2num.

Referenced by iso8601_bas_datetime_cb(), iso8601_ext_datetime_cb(), iso8601_ext_time_cb(), jisx0301_cb(), rfc3339_cb(), xmlschema_datetime_cb(), and xmlschema_time_cb().

static int subs | ( | VALUE | str,
|  | VALUE | pat,
|  | VALUE | hash,
|  | int(*)(VALUE, VALUE) | cb
| ) |  |

static

Definition at line 265 of file date_parse.c.

References asp_string, f_aset2, f_begin, f_end, f_match, hash(), INT2FIX, LONG2NUM, NIL_P, and NUM2LONG().

static int xmlschema_datetime | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2017 of file date_parse.c.

References MATCH, Qnil, REGCOMP_I, and xmlschema_datetime_cb().

Referenced by date__xmlschema().

static int xmlschema_datetime_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 1984 of file date_parse.c.

References date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), sec_fraction(), set_hash, SNUM, and str2num.

Referenced by xmlschema_datetime().

static int xmlschema_time | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2060 of file date_parse.c.

References MATCH, Qnil, REGCOMP_I, and xmlschema_time_cb().

Referenced by date__xmlschema().

static int xmlschema_time_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2034 of file date_parse.c.

References date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), sec_fraction(), set_hash, SNUM, and str2num.

Referenced by xmlschema_time().

static int xmlschema_trunc | ( | VALUE | str,
|  | VALUE | hash
| ) |  |

static

Definition at line 2101 of file date_parse.c.

References MATCH, Qnil, REGCOMP_I, and xmlschema_trunc_cb().

Referenced by date__xmlschema().

static int xmlschema_trunc_cb | ( | VALUE | m,
|  | VALUE | hash
| ) |  |

static

Definition at line 2075 of file date_parse.c.

References date_zone_to_diff(), i, NIL_P, Qnil, rb_reg_nth_match(), set_hash, SNUM, and str2num.

Referenced by xmlschema_trunc().

## Variable Documentation

const char* abbr_days[]

static

Initial value:
= {
"sun", "mon", "tue", "wed",
"thu", "fri", "sat"
}

Definition at line 45 of file date_parse.c.

Referenced by day_num().

const char* abbr_months[]

static

Initial value:
= {
"jan", "feb", "mar", "apr", "may", "jun",
"jul", "aug", "sep", "oct", "nov", "dec"
}

Definition at line 50 of file date_parse.c.

Referenced by mon_num().

struct zone zones_source[]

static

Definition at line 291 of file date_parse.c.