mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* ext/date/date_core.c (date_zone_to_diff): renamed.
* ext/date/date_parse.c: ditto. * ext/date/date_strptime.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									21e6862cd5
								
							
						
					
					
						commit
						322bffd84b
					
				
					 4 changed files with 20 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,9 @@
 | 
			
		|||
Wed Apr 27 01:20:59 2011  Tadayoshi Funaba  <tadf@dotrb.org>
 | 
			
		||||
 | 
			
		||||
	* ext/date/date_core.c (date_zone_to_diff): renamed.
 | 
			
		||||
	* ext/date/date_parse.c: ditto.
 | 
			
		||||
	* ext/date/date_strptime.c: ditto.
 | 
			
		||||
 | 
			
		||||
Wed Apr 27 01:16:59 2011  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* encoding.c (enc_find): accept Encoding objects.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -591,6 +591,12 @@ jd_to_wday(long jd)
 | 
			
		|||
    return (int)MOD(jd + 1, 7);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VALUE
 | 
			
		||||
date_zone_to_diff(VALUE s)
 | 
			
		||||
{
 | 
			
		||||
    return rb_funcall(cDate, rb_intern("zone_to_diff"), 1, s);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
daydiff_to_sec(VALUE vof, int *rof)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -635,7 +641,7 @@ daydiff_to_sec(VALUE vof, int *rof)
 | 
			
		|||
	}
 | 
			
		||||
      case T_STRING:
 | 
			
		||||
	{
 | 
			
		||||
	    VALUE vs = rb_funcall(cDate, rb_intern("zone_to_diff"), 1, vof);
 | 
			
		||||
	    VALUE vs = date_zone_to_diff(vof);
 | 
			
		||||
	    int n;
 | 
			
		||||
 | 
			
		||||
	    if (!FIXNUM_P(vs))
 | 
			
		||||
| 
						 | 
				
			
			@ -1471,12 +1477,6 @@ date_s_today(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VALUE
 | 
			
		||||
zone_to_diff(VALUE s)
 | 
			
		||||
{
 | 
			
		||||
    return rb_funcall(cDate, rb_intern("zone_to_diff"), 1, s);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VALUE
 | 
			
		||||
date__strptime(const char *str, size_t slen,
 | 
			
		||||
	       const char *fmt, size_t flen, VALUE hash);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -914,6 +914,8 @@ n2i(const char *s, long f, long w)
 | 
			
		|||
    return v;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VALUE date_zone_to_diff(VALUE);
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
parse_ddd_cb(VALUE m, VALUE hash)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -1080,7 +1082,6 @@ parse_ddd_cb(VALUE m, VALUE hash)
 | 
			
		|||
				  f_expt(INT2FIX(10), LONG2NUM(l4))));
 | 
			
		||||
    }
 | 
			
		||||
    if (!NIL_P(s5)) {
 | 
			
		||||
	VALUE zone_to_diff(VALUE s);
 | 
			
		||||
	cs5 = RSTRING_PTR(s5);
 | 
			
		||||
	l5 = RSTRING_LEN(s5);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1108,7 +1109,7 @@ parse_ddd_cb(VALUE m, VALUE hash)
 | 
			
		|||
	    set_hash("zone", zone);
 | 
			
		||||
	    if (isdigit(*s1))
 | 
			
		||||
		*--s1 = '+';
 | 
			
		||||
	    set_hash("offset", zone_to_diff(rb_str_new2(s1)));
 | 
			
		||||
	    set_hash("offset", date_zone_to_diff(rb_str_new2(s1)));
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1231,7 +1232,6 @@ check_class(VALUE s)
 | 
			
		|||
VALUE
 | 
			
		||||
date__parse(VALUE str, VALUE comp)
 | 
			
		||||
{
 | 
			
		||||
    VALUE zone_to_diff(VALUE s);
 | 
			
		||||
    VALUE backref, hash;
 | 
			
		||||
 | 
			
		||||
    backref = rb_backref_get();
 | 
			
		||||
| 
						 | 
				
			
			@ -1325,7 +1325,7 @@ date__parse(VALUE str, VALUE comp)
 | 
			
		|||
    {
 | 
			
		||||
	VALUE zone = ref_hash("zone");
 | 
			
		||||
	if (!NIL_P(zone) && NIL_P(ref_hash("offset")))
 | 
			
		||||
	    set_hash("offset", zone_to_diff(zone));
 | 
			
		||||
	    set_hash("offset", date_zone_to_diff(zone));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    rb_backref_set(backref);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -150,6 +150,8 @@ valid_range_p(VALUE v, int a, int b)
 | 
			
		|||
    si += l; \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
VALUE date_zone_to_diff(VALUE);
 | 
			
		||||
 | 
			
		||||
static size_t
 | 
			
		||||
date__strptime_internal(const char *str, size_t slen,
 | 
			
		||||
			const char *fmt, size_t flen, VALUE hash)
 | 
			
		||||
| 
						 | 
				
			
			@ -567,7 +569,6 @@ date__strptime_internal(const char *str, size_t slen,
 | 
			
		|||
			")";
 | 
			
		||||
		    static VALUE pat = Qnil;
 | 
			
		||||
		    VALUE m, b;
 | 
			
		||||
		    VALUE zone_to_diff(VALUE s);
 | 
			
		||||
 | 
			
		||||
		    if (NIL_P(pat)) {
 | 
			
		||||
			pat = rb_reg_new(pat_source, sizeof pat_source - 1,
 | 
			
		||||
| 
						 | 
				
			
			@ -584,7 +585,7 @@ date__strptime_internal(const char *str, size_t slen,
 | 
			
		|||
 | 
			
		||||
			s = f_aref(m, INT2FIX(1));
 | 
			
		||||
			l = f_end(m, INT2FIX(0));
 | 
			
		||||
			o = zone_to_diff(s);
 | 
			
		||||
			o = date_zone_to_diff(s);
 | 
			
		||||
			si += NUM2LONG(l);
 | 
			
		||||
			set_hash("zone", s);
 | 
			
		||||
			set_hash("offset", o);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue