Changeset 5350

Show
Ignore:
Timestamp:
03/11/08 10:01:01 (5 months ago)
Author:
morris
Message:

Special handling of zero ISO8501 date

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libwired/trunk/libwired/data/wi-date.c

    r4797 r5350  
    225225 
    226226        wi_release(date); 
    227  
     227         
    228228        if(wi_string_length(string) < _WI_DATE_ISO8601_STRING_SIZE) 
    229229                return NULL; 
     230         
     231        if(wi_is_equal(string, WI_STR("0000-00-00T00:00:00+00:00"))) 
     232                return wi_date_init_with_time(wi_date_alloc(), 0); 
    230233 
    231234        substring = wi_string_by_deleting_characters_in_range(string, wi_make_range(22, 1)); 
     
    330333        wi_string_t             *string; 
    331334         
    332         string = wi_date_string_with_format(date, WI_STR("%Y-%m-%dT%H:%M:%S%z")); 
    333          
    334         wi_string_insert_string_at_index(string, WI_STR(":"), 22); 
     335        if(date->interval == 0.0) { 
     336                string = WI_STR("0000-00-00T00:00:00+00:00"); 
     337        } else { 
     338                string = wi_date_string_with_format(date, WI_STR("%Y-%m-%dT%H:%M:%S%z")); 
     339         
     340                wi_string_insert_string_at_index(string, WI_STR(":"), 22); 
     341        } 
    335342         
    336343        return string;