jscript: Fix strings allocation.

This commit is contained in:
Piotr Caban 2009-07-03 02:45:32 +02:00 committed by Alexandre Julliard
parent 60ddd438d3
commit c001ffae2c

View File

@ -531,11 +531,13 @@ static HRESULT Date_toString(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARA
GetLocaleInfoW(lcid_en, month_id, month, size); GetLocaleInfoW(lcid_en, month_id, month, size);
len += size-1; len += size-1;
year = year_from_time(time)/10; year = year_from_time(time);
while(year) { if(year<0)
year = -year+1;
do {
year /= 10; year /= 10;
len++; len++;
} } while(year);
year = year_from_time(time); year = year_from_time(time);
if(year<0) { if(year<0) {
@ -544,11 +546,11 @@ static HRESULT Date_toString(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARA
len += 5; len += 5;
} }
day = date_from_time(time)/10; day = date_from_time(time);
while(day) { do {
day /= 10; day /= 10;
len++; len++;
} } while(day);
day = date_from_time(time); day = date_from_time(time);
offset = date->bias + offset = date->bias +
@ -733,11 +735,13 @@ static HRESULT Date_toUTCString(DispatchEx *dispex, LCID lcid, WORD flags, DISPP
GetLocaleInfoW(lcid_en, month_id, month, size); GetLocaleInfoW(lcid_en, month_id, month, size);
len += size-1; len += size-1;
year = year_from_time(date->time)/10; year = year_from_time(date->time);
while(year) { if(year<0)
year = -year+1;
do {
year /= 10; year /= 10;
len++; len++;
} } while(year);
year = year_from_time(date->time); year = year_from_time(date->time);
if(year<0) { if(year<0) {
@ -746,11 +750,11 @@ static HRESULT Date_toUTCString(DispatchEx *dispex, LCID lcid, WORD flags, DISPP
len += 5; len += 5;
} }
day = date_from_time(date->time)/10; day = date_from_time(date->time);
while(day) { do {
day /= 10; day /= 10;
len++; len++;
} } while(day);
day = date_from_time(date->time); day = date_from_time(date->time);
date_str = SysAllocStringLen(NULL, len); date_str = SysAllocStringLen(NULL, len);
@ -842,11 +846,13 @@ static HRESULT Date_toDateString(DispatchEx *dispex, LCID lcid, WORD flags, DISP
GetLocaleInfoW(lcid_en, month_id, month, size); GetLocaleInfoW(lcid_en, month_id, month, size);
len += size-1; len += size-1;
year = year_from_time(time)/10; year = year_from_time(time);
while(year) { if(year<0)
year = -year+1;
do {
year /= 10; year /= 10;
len++; len++;
} } while(year);
year = year_from_time(time); year = year_from_time(time);
if(year<0) { if(year<0) {
@ -855,11 +861,11 @@ static HRESULT Date_toDateString(DispatchEx *dispex, LCID lcid, WORD flags, DISP
len += 5; len += 5;
} }
day = date_from_time(time)/10; day = date_from_time(time);
while(day) { do {
day /= 10; day /= 10;
len++; len++;
} } while(day);
day = date_from_time(time); day = date_from_time(time);
date_str = SysAllocStringLen(NULL, len); date_str = SysAllocStringLen(NULL, len);
@ -2172,9 +2178,8 @@ static HRESULT create_date(script_ctx_t *ctx, BOOL use_constr, DOUBLE time, Disp
DateInstance *date; DateInstance *date;
HRESULT hres; HRESULT hres;
TIME_ZONE_INFORMATION tzi; TIME_ZONE_INFORMATION tzi;
DWORD dret;
dret = GetTimeZoneInformation(&tzi); GetTimeZoneInformation(&tzi);
date = heap_alloc_zero(sizeof(DateInstance)); date = heap_alloc_zero(sizeof(DateInstance));
if(!date) if(!date)