@ -72,23 +72,23 @@ typedef char gchar;
% t y p e m a p ( in ) t i m e 64 * ( t i m e 64 t ) "t = scm_to_int64($input); $1 = &t;"
% t y p e m a p ( o u t ) t i m e 64 * " $result = ($1) ? scm_from_int64(*($1)) : SCM_BOOL_F; "
% t y p e m a p ( in ) s t r u c t t m * {
% t y p e m a p ( in ) s t r u c t t m * ( s t r u c t t m t ) {
S C M t m = $ input ;
st r u c t t m t = {
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 0 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 1 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 2 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 3 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 4 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 5 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 6 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 7 ) ) ,
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 8 ) ) ,
# i f def H A V E _ S T R U C T _ T M _ G M T O F F
s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 9 ) ) ,
s c m _ t o _ l o c a l e _ s t r i n g ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 10 ) ) ,
# e n d i f
} ;
SC M z o n e ;
t . t m _ s e c = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 0 ) ) ;
t . t m _ m i n = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 1 ) ) ;
t . t m _ h o u r = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 2 ) ) ;
t . t m _ m d a y = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 3 ) ) ;
t . t m _ m o n = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 4 ) ) ;
t . t m _ y e a r = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 5 ) ) ;
t . t m _ w d a y = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 6 ) ) ;
t . t m _ y d a y = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 7 ) ) ;
t . t m _ i s d s t = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 8 ) ) ;
% # i f def H A V E _ S T R U C T _ T M _ G M T O F F
t . t m _ g m t o f f = s c m _ t o _ i n t ( S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 9 ) ) ;
z o n e = S C M _ S I M P L E _ V E C T O R _ R E F ( t m , 10 ) ;
t . t m _ z o n e = S C M _ U N B N D P ( z o n e ) ? NULL : s c m _ t o _ l o c a l e _ s t r i n g ( z o n e ) ;
% # e n d i f
$ 1 = &t;
}
@ -104,15 +104,38 @@ typedef char gchar;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 6 , s c m _ f r o m _ i n t ( t - > t m _ w d a y ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 7 , s c m _ f r o m _ i n t ( t - > t m _ y d a y ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 8 , s c m _ f r o m _ i n t ( t - > t m _ i s d s t ) ) ;
# i f def H A V E _ S T R U C T _ T M _ G M T O F F
% # i f def H A V E _ S T R U C T _ T M _ G M T O F F
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 9 , s c m _ f r o m _ l o n g ( t - > t m _ g m t o f f ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 10 , s c m _ f r o m _ l o c a l e _ s t r i n g ( t - > t m _ z o n e ) ) ;
# else
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 10 , s c m _ f r o m _ l o c a l e _ s t r i n g ( t - > t m _ z o n e ? t - > t m _ z o n e : "Unset" ) ) ;
% # else
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 9 , s c m _ f r o m _ l o n g ( 0 ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 10 , s c m _ f r o m _ l o c a l e _ s t r i n g ( "GMT" ) ) ;
# e n d i f
% # e n d i f
$ r e s u l t = t m ;
}
% t y p e m a p ( n e w f r e e ) s t r u c t t m * "gnc_tm_free($1);"
% t y p e m a p ( a r g o u t ) s t r u c t t m * {
s t r u c t t m * t = $ 1 ;
S C M t m = $ input ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 0 , s c m _ f r o m _ i n t ( t - > t m _ s e c ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 1 , s c m _ f r o m _ i n t ( t - > t m _ m i n ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 2 , s c m _ f r o m _ i n t ( t - > t m _ h o u r ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 3 , s c m _ f r o m _ i n t ( t - > t m _ m d a y ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 4 , s c m _ f r o m _ i n t ( t - > t m _ m o n ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 5 , s c m _ f r o m _ i n t ( t - > t m _ y e a r ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 6 , s c m _ f r o m _ i n t ( t - > t m _ w d a y ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 7 , s c m _ f r o m _ i n t ( t - > t m _ y d a y ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 8 , s c m _ f r o m _ i n t ( t - > t m _ i s d s t ) ) ;
% # i f def H A V E _ S T R U C T _ T M _ G M T O F F
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 9 , s c m _ f r o m _ l o n g ( t - > t m _ g m t o f f ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 10 , s c m _ f r o m _ l o c a l e _ s t r i n g ( t - > t m _ z o n e ? t - > t m _ z o n e : "Unset" ) ) ;
% # else
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 9 , s c m _ f r o m _ l o n g ( 0 ) ) ;
S C M _ S I M P L E _ V E C T O R _ S E T ( t m , 10 , s c m _ f r o m _ l o c a l e _ s t r i n g ( "GMT" ) ) ;
% # e n d i f
}
% define G L I S T _ H E L P E R _ I N O U T ( L i s t T y p e , E l e m S w i g T y p e )
% t y p e m a p ( in ) L i s t T y p e * {