summaryrefslogtreecommitdiffstats
path: root/time.c
Commit message (Collapse)AuthorAgeFilesLines
* * include/ruby/ruby.h (DBL2NUM): renamed from DOUBLE2NUM.matz2008-09-051-2/+2
| | | | | | | a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in [ruby-dev:36102]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * strftime.c (rb_strftime): supported %s and %P.shugo2008-08-281-0/+2
| | | | | | | | * time.c (time_strftime): ditto. * test/ruby/test_time.rb (test_strftime): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_asctime): workaround for MSVCRT's bug.usa2008-08-261-0/+4
| | | | | | | | | | | based on a patch from wanabe <s.wanabe AT gmail.com> at [ruby-dev:35831] and a suggestion by KIMURA Koichi <kbk AT kt.rim.or.jp> at [ruby-dev:35832] fixed [ruby-dev:35555] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (gmtime_r): check if reentrant versions are available.nobu2008-08-221-17/+37
| | | | | | | | * time.c (IF_HAVE_GMTIME_R, ASCTIME, GMTIME, LOCALTIME): use reentrant versions if available. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * strftime.c (rb_strftime): supported %F and %<precision>N.shugo2008-08-211-1/+5
| | | | | | | | | | reverted config.h to ruby.h for Windows. * test/ruby/test_time.rb (TestTime::test_strftime): added tests for %F and %N. * time.c: documented %F and %N. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: removed strftime from AC_REPLACE_FUNCS().shugo2008-08-201-21/+10
| | | | | | | | | | * include/ruby/missing.h: removed prototype for strftime(). * missing/strftime.c: removed. * time.c (time_to_s): use rb_strftime() instead of strftime(3). (time_zone): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * strftime.c: new file.shugo2008-08-201-5/+13
| | | | | | | | | | * common.mk (COMMONOBJS): added strftime.$(OBJEXT). * time.c (time_strftime): do not use strftime(3). supported %L(millisecond) and %N(nanosecond). * test/ruby/test_time.rb: added tests for %L and %N. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (rb_intern_const): tiny optimization.nobu2008-08-161-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_obj_untrusted): new method Object#untrusted?.shugo2008-08-131-1/+1
| | | | | | | | | | | | | | | (rb_obj_untrust): new method Object#untrust. (rb_obj_trust): new method Object#trust. * array.c, debug.c, time.c, include/ruby/ruby.h, re.c, variable.c, string.c, io.c, dir.c, vm_method.c, struct.c, class.c, hash.c, ruby.c, marshal.c: fixes for Object#untrusted?. * test/ruby/test_module.rb, test/ruby/test_array.rb, test/ruby/test_object.rb, test/ruby/test_string.rb, test/ruby/test_marshal.rb, test/ruby/test_hash.rb: added tests for Object#untrusted?. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_cmp): retry with right hand operand if its not amatz2008-08-131-1/+11
| | | | | | time object. [ruby-dev:35011] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c (COMPILE_OPTION_FALSE), time.c (timegm_noleapsecond),nobu2008-07-011-2/+2
| | | | | | | | thread.c (eKillSignal, eTerminateSignal), missing/vsnprintf.c (BSD_vfprintf): constified. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c: fix rounding negative float.akr2008-06-271-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.nobu2008-06-091-0/+2
| | | | | | | * *.c: no cache in init functions. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c, bignum.c, cont.c, dir.c, dln.c, encoding.c, enumerator.c,ko12008-06-081-4/+4
| | | | | | | | | | | | | | | | | | | enumerator.c (enumerator_allocate), eval_jump.c, file.c, hash.c, io.c, load.c, pack.c, proc.c, random.c, re.c, ruby.c, st.c, string.c, thread.c, thread_pthread.c, time.c, util.c, variable.c, vm.c, gc.c: allocated memory objects by xmalloc (ruby_xmalloc) should be freed by xfree (ruby_xfree). * ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c, ext/gdbm/gdbm.c, ext/json/ext/parser/parser.c, ext/json/ext/parser/unicode.c, ext/openssl/ossl_cipher.c, ext/openssl/ossl_hmac.c, ext/openssl/ossl_pkey_ec.c, ext/sdbm/init.c, ext/strscan/strscan.c, ext/zlib/zlib.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * suppress warnings on cygwin, mingw and mswin.nobu2008-06-011-2/+5
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * suppress warnings with -Wwrite-string.nobu2008-05-311-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (obj2nsec): fix string argument.akr2008-05-041-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_timespec): raise TypeError for nil and other objectsakr2008-05-031-9/+15
| | | | | | | which has no divmod method. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (builtin_types), signal.c (siglist), st.c (primes),nobu2008-04-261-1/+1
| | | | | | | struct.c (ref_func), time.c (months): constified. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c: should include <errno.h> to refer errno.matz2008-04-211-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (rb_strftime): check errno to detect strftime(3)'s error.usa2008-04-211-1/+2
| | | | | | | | | this is workaround for recent version of MSVCRT. [ruby-dev:34456] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix doc.akr2008-03-091-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_strftime): format should be ascii compatible.matz2008-02-291-0/+4
| | | | | | | | | | | | * parse.y (rb_intern3): non ASCII compatible symbols. * re.c (rb_reg_regsub): add encoding check. * string.c (rb_str_chomp_bang): ditto. * test/ruby/test_utf16.rb (TestUTF16::test_chomp): raises exception. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_cmp): Time.<=> no longer supports comparison withnaruse2008-02-021-4/+1
| | | | | | | numeric. [ruby-core#15332] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (make_time_t): revert round trip test. [ruby-dev:33058]akr2008-01-241-13/+16
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_strftime): copy encoding from format. [ruby-dev:33303]nobu2008-01-231-0/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * $Date$ keyword removed to avoid inclusion of locale dependentakr2008-01-061-1/+0
| | | | | | | string. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_arg): use converted object. [ruby-core:14759]nobu2008-01-041-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c: don't mention an obsolete library, ParseDate.akr2008-01-031-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_isascii): defined.akr2008-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rb_isalnum): ditto. (rb_isalpha): ditto. (rb_isblank): ditto. (rb_iscntrl): ditto. (rb_isdigit): ditto. (rb_isgraph): ditto. (rb_islower): ditto. (rb_isprint): ditto. (rb_ispunct): ditto. (rb_isspace): ditto. (rb_isupper): ditto. (rb_isxdigit): ditto. (rb_tolower): ditto. (rb_toupper): ditto. * include/ruby/st.h (st_strcasecmp): declared. (st_strncasecmp): ditto. * st.c (type_strcasehash): use st_strcasecmp instead of strcasecmp. (st_strcasecmp): defined. (st_strncasecmp): ditto. * include/ruby/ruby.h: include include/ruby/encoding.h. (ISASCII): use rb_isascii. (ISPRINT): use rb_isprint. (ISSPACE): use rb_isspace. (ISUPPER): use rb_isupper. (ISLOWER): use rb_islower. (ISALNUM): use rb_isalnum. (ISALPHA): use rb_isalpha. (ISDIGIT): use rb_isdigit. (ISXDIGIT): use rb_isxdigit. (TOUPPER): defined. (TOLOWER): ditto. (STRCASECMP): ditto. (STRNCASECMP): ditto. * dir.c, encoding.c, file.c, hash.c, process.c, ruby.c, time.c, transcode.c, ext/readline/readline.c: use locale insensitive functions. [ruby-core:14662] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (make_time_t): verify mktime and timegm result.akr2007-12-281-16/+13
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cosmetic: fixed a typo in RDoc commentnahi2007-12-151-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_mload): ignore invalid digits in submicro.akr2007-11-201-6/+10
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update doc.akr2007-11-201-7/+40
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update doc.akr2007-11-191-88/+130
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: check struct timespec, clock_gettime, utimensat,akr2007-11-191-103/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | struct stat.st_atim, struct stat.st_atimespec, struct stat.st_atimensec, struct stat.st_mtim, struct stat.st_mtimespec, struct stat.st_mtimensec, struct stat.st_ctim, struct stat.st_ctimespec, struct stat.st_ctimensec. * include/ruby/missing.h: provide struct timespec if not available. * time.c: support nanosecond-resolution using struct timespec. * include/ruby/intern.h: provide rb_time_nano_new. * file.c (utime_internal): use utimensat if available. (rb_file_s_utime): refactored. (rb_f_test): use stat_atime, stat_mtime, stat_ctime. (rb_stat_cmp): check tv_nsec. (stat_atimespec): new function. (stat_atime): ditto. (stat_mtimespec): ditto. (stat_mtime): ditto. (stat_ctimespec): ditto. (stat_ctime): ditto. (rb_stat_atime): use stat_atime. (rb_file_s_atime): ditto. (rb_file_atime): ditto. (rb_stat_mtime): use stat_mtime. (rb_file_s_mtime): ditto. (rb_file_mtime): ditto. (rb_file_ctime): use stat_ctime. (rb_file_s_ctime): ditto. (rb_stat_ctime): ditto. * variable.c (rb_copy_generic_ivar): clear clone's instance variables if obj has no instance variable. * marshal.c (w_object): dump instance variables of generated string for TYPE_USERDEF, even if original object has instance variables. * lib/time.rb (Time#xmlschema): use nsec instead of usec. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_minus): fix Time.at(2**60+1) - Time.at(2**60).akr2007-11-181-2/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_arg): show actual year in 2-3 digits year warning.akr2007-11-181-3/+3
| | | | | | | (time_mdump): show actual year in "year too big to marshal" error. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: introduce 2 macros:ko12007-11-131-5/+5
| | | | | | | | | | | | | | | RFLOAT_VALUE(v), DOUBLE2NUM(dbl). Rename RFloat#value -> RFloat#double_value. Do not touch RFloat#double_value directly. * bignum.c, insns.def, marshal.c, math.c, numeric.c, object.c, pack.c, parse.y, process.c, random.c, sprintf.c, string.c, time.c: apply above changes. * ext/dl/mkcallback.rb, ext/json/ext/generator/generator.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_to_s): Fix documentation. Time format changed.knu2007-10-051-4/+7
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (Init_Time): remove obsolete Time::times.matz2007-10-041-16/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c: provide basic features for M17N.matz2007-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse.y: encoding aware parsing. * parse.y (pragma_encoding): encoding specification pragma. * parse.y (rb_intern3): encoding specified symbols. * string.c (rb_str_length): length based on characters. for older behavior, bytesize method added. * string.c (rb_str_index_m): index based on characters. rindex as well. * string.c (succ_char): encoding aware succeeding string. * string.c (rb_str_reverse): reverse based on characters. * string.c (rb_str_inspect): encoding aware string description. * string.c (rb_str_upcase_bang): encoding aware case conversion. downcase, capitalize, swapcase as well. * string.c (rb_str_tr_bang): tr based on characters. delete, squeeze, tr_s, count as well. * string.c (rb_str_split_m): split based on characters. * string.c (rb_str_each_line): encoding aware each_line. * string.c (rb_str_each_char): added. iteration based on characters. * string.c (rb_str_strip_bang): encoding aware whitespace stripping. lstrip, rstrip as well. * string.c (rb_str_justify): encoding aware justifying (ljust, rjust, center). * string.c (str_encoding): get encoding attribute from a string. * re.c (rb_reg_initialize): encoding aware regular expression * sprintf.c (rb_str_format): formatting (i.e. length count) based on characters. * io.c (rb_io_getc): getc to return one-character string. for older behavior, getbyte method added. * ext/stringio/stringio.c (strio_getc): ditto. * io.c (rb_io_ungetc): allow pushing arbitrary string at the current reading point. * ext/stringio/stringio.c (strio_ungetc): ditto. * ext/strscan/strscan.c: encoding support. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_succ): Time#succ should return a time object in thematz2007-07-171-1/+6
| | | | | | same timezone mode to the original. [ruby-talk:260256] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby: moved public headers.nobu2007-06-101-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_arg): should allow to specify 24:00.matz2007-04-161-1/+2
| | | | | | [ruby-core:10915] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * Merge YARVko12006-12-311-1/+7
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_dup): duplicate the class of original time.matz2006-10-311-1/+1
| | | | | | | | | | [ruby-core:09357] * lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate): should respect subclasses. [ruby-core:09357] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_to_s): adopt new date format using digitsmatz2006-09-071-15/+17
| | | | | | | e.g. "2006-09-07 02:03:45 +9000". git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_to_s): variable declaration after an executionnobu2006-09-041-1/+4
| | | | | | | statement. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_to_s): make it conform to RFC2822 date format.matz2006-09-041-17/+12
| | | | | | | [ruby-dev:29467] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e