diff --git a/include/cdio/iso9660.h b/include/cdio/iso9660.h index ca49551d..9fe8048d 100644 --- a/include/cdio/iso9660.h +++ b/include/cdio/iso9660.h @@ -1,5 +1,5 @@ /* - $Id: iso9660.h,v 1.72 2005/02/22 02:02:46 rocky Exp $ + $Id: iso9660.h,v 1.73 2005/02/22 04:32:52 rocky Exp $ Copyright (C) 2000 Herbert Valerio Riedel Copyright (C) 2003, 2004, 2005 Rocky Bernstein @@ -212,19 +212,19 @@ typedef enum strncpy_pad_check { PRAGMA_BEGIN_PACKED /*! - \brief ISO-9660 shorter-format time structure. + \brief ISO-9660 shorter-format time structure. See ECMA 9.1.5. @see iso9660_dtime */ struct iso9660_dtime_s { - uint8_t dt_year; - uint8_t dt_month; /**< Has value in range 1..12. Note starts + iso711_t dt_year; /**< Number of years since 1900 */ + iso711_t dt_month; /**< Has value in range 1..12. Note starts at 1, not 0 like a tm struct. */ - uint8_t dt_day; - uint8_t dt_hour; - uint8_t dt_minute; - uint8_t dt_second; - int8_t dt_gmtoff; /**< GMT values -48 .. + 52 in 15 minute + iso711_t dt_day; /**< Day of the month from 1 to 31 */ + iso711_t dt_hour; /**< Hour of the day from 0 to 23 */ + iso711_t dt_minute; /**< Minute of the hour from 0 to 59 */ + iso711_t dt_second; /**< Second of the minute from 0 to 59 */ + iso712_t dt_gmtoff; /**< GMT values -48 .. + 52 in 15 minute intervals */ } GNUC_PACKED; diff --git a/include/cdio/rock.h b/include/cdio/rock.h index f6c5b9b5..643d3864 100644 --- a/include/cdio/rock.h +++ b/include/cdio/rock.h @@ -1,5 +1,5 @@ /* - $Id: rock.h,v 1.6 2005/02/21 09:00:53 rocky Exp $ + $Id: rock.h,v 1.7 2005/02/22 04:32:52 rocky Exp $ Copyright (C) 2005 Rocky Bernstein @@ -275,7 +275,7 @@ typedef struct iso_rock_time_s { iso9660_ltime_t ltime; iso9660_dtime_t dtime; } t; -} iso_rock_time_t; +} GNUC_PACKED iso_rock_time_t; typedef struct iso_rock_statbuf_s { bool_3way_t b3_rock; /**< has Rock Ridge extension. diff --git a/lib/iso9660/iso9660.c b/lib/iso9660/iso9660.c index 03a90d6b..9cdc5066 100644 --- a/lib/iso9660/iso9660.c +++ b/lib/iso9660/iso9660.c @@ -1,5 +1,5 @@ /* - $Id: iso9660.c,v 1.6 2005/02/22 02:02:46 rocky Exp $ + $Id: iso9660.c,v 1.7 2005/02/22 04:32:52 rocky Exp $ Copyright (C) 2000 Herbert Valerio Riedel Copyright (C) 2003, 2004, 2005 Rocky Bernstein @@ -48,7 +48,7 @@ const char ISO_STANDARD_ID[] = {'C', 'D', '0', '0', '1'}; #include #endif -static const char _rcsid[] = "$Id: iso9660.c,v 1.6 2005/02/22 02:02:46 rocky Exp $"; +static const char _rcsid[] = "$Id: iso9660.c,v 1.7 2005/02/22 04:32:52 rocky Exp $"; /* Variables to hold debugger-helping enumerations */ enum iso_enums1 iso_enums1; @@ -110,7 +110,7 @@ iso9660_get_dtime (const iso9660_dtime_t *idr_date, bool b_localtime, p_tm->tm_hour = idr_date->dt_hour; p_tm->tm_min = idr_date->dt_minute; p_tm->tm_sec = idr_date->dt_second; - p_tm->tm_gmtoff = - timezone * 15; + p_tm->tm_gmtoff = - idr_date->dt_gmtoff * (15 * 60); p_tm->tm_isdst = -1; /* information not available */ @@ -156,7 +156,7 @@ iso9660_get_ltime (const iso9660_ltime_t *p_ldate, set_ltime_field(tm_min, lt_minute, 0); set_ltime_field(tm_sec, lt_second, 0); p_tm->tm_isdst= -1; /* information not available */ - p_tm->tm_gmtoff = - timezone * 15; + p_tm->tm_gmtoff = - p_ldate->lt_gmtoff * (15 * 60); /* Recompute tm_wday and tm_yday via mktime. */ {