nobu
ee58c638b8
Timezone support by Time [Feature #14850 ]
...
* strftime.c (rb_strftime): support timezone object by `%z`.
* time.c (time_init_1, time_new_timew, time_getlocaltime): accept
timezone object as `off`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-08 02:35:31 +00:00
svn
7ef91e62e2
* expand tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-25 13:42:05 +00:00
nobu
d7278b5b32
Moved `struct vtm` stuff from internal.h to timev.h
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-25 13:42:02 +00:00
akr
277cedb84c
Store String as zone in struct vtm.
...
This removes zone_table and use fstring instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-08 10:00:43 +00:00
normal
56524df980
timev.h: just use "unsigned int" for bitfields
...
There's no point in having separate types depending on C dialect
when using bitfields, "unsigned int" bitfields are bitfields
anywhere.
Note: we also have test_memsize in test_time.rb in case
users of other platforms want to enable size assertions
if they don't trust their compiler.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-16 06:36:05 +00:00
shyouhei
db5d556f9b
bit-fields other than int is a C99ism
...
To be precise C90 says "A bit-field may have type int, unsigned
int, or signed int". It is clear that char or enum are NG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-02 06:41:50 +00:00
nobu
df9199d468
configure.in, win32/Makefile.sub: PACKED_STRUCT with VC
...
* configure.in (PACKED_STRUCT): check VC pragma too, and make
function-style macro.
* win32/Makefile.sub (PACKED_STRUCT): enable with VC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 07:00:10 +00:00
normal
131e4bec04
time: only use packed struct on x86*
...
* configure.in: define PACKED_STRUCT_UNALIGNED for x86*
* timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED
* time.c (struct time_object): ditto
[Bug #9558 ] non-x86 cannot safely access unaligned addresses
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-24 11:10:11 +00:00
normal
b2f3063cae
time: rearrange+pack vtm and time_object structs
...
struct time_object shrinks from 88 to 46 bytes on my 64-bit system.
* configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+
use __attribute__((packed)) if available
* timev.h: shrink and pack struct vtm
* time.c: pack struct time_object and adjust/introduce helpers
[ruby-core:60794]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-24 03:38:14 +00:00
nobu
77ff241fa0
timev.h: move time_t stuffs
...
* timev.h (TYPEOF_TIMEVAL_TV_SEC, unsigned_time_t): move from time.c.
* thread.c: use definitions in timev.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-30 21:08:36 +00:00
akr
8b32a1de29
* timev.h (TIME_SCALE): defined as 1000000000.
...
(struct vtm): subsec is replaced by subsecx.
subsec * TIME_SCALE == subsecx.
* time.c: avoid rational in most cases.
(struct time_object): timev is replaced by timexv.
timev * TIME_SCALE == timexv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-29 19:06:29 +00:00
akr
3bc16f62c1
* time.c: remove time_t restriction from Time class.
...
* timev.h: new file to define struct vtm.
* strftime.c: format struct vtm instead of struct tm.
* ext/syck/rubyext.c (mktime_do): don't use time_t;
[ruby-dev:38191]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-21 14:56:59 +00:00