--- parser3/src/classes/image.C 2003/09/25 09:15:02 1.93 +++ parser3/src/classes/image.C 2003/11/03 11:22:06 1.95 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char* IDENT_IMAGE_C="$Date: 2003/09/25 09:15:02 $"; +static const char* IDENT_IMAGE_C="$Date: 2003/11/03 11:22:06 $"; /* jpegsize: gets the width and height (in pixels) of a jpeg file @@ -410,7 +410,7 @@ static Value* parse_IFD_entry_formatted_ strcpy(cstr_writable, cstr); time_t t=cstr_to_time_t(cstr_writable, - 0/* do not throw exception, just return bad result */); + false/* do not throw exception, just return bad result */); if(t>=0) return new VDate(t); } @@ -825,14 +825,18 @@ static void _gif(Request& r, MethodParam 0, "does not contain an image"); - // could _ but don't thing it's wise to use $image.src for vfile.name + const String *file_name=0; + if(params.count()>0) + file_name=¶ms.as_string(0, "file name must be string"); gdBuf buf=image->Gif(); VFile& vfile=*new VFile; Value* content_type=new VString(*new String("image/gif")); vfile.set(false/*not tainted*/, - (const char*)buf.ptr, buf.size, 0, content_type); + (const char*)buf.ptr, buf.size, + file_name? file_name->cstr(String::L_FILE_SPEC): 0, + content_type); r.write_no_lang(vfile); } @@ -1242,7 +1246,7 @@ MImage::MImage(): Methoded("image") { add_native_method("create", Method::CT_DYNAMIC, _create, 2, 3); // ^image.gif[] - add_native_method("gif", Method::CT_DYNAMIC, _gif, 0, 0); + add_native_method("gif", Method::CT_DYNAMIC, _gif, 0, 1); // ^image.line(x0;y0;x1;y1;color) add_native_method("line", Method::CT_DYNAMIC, _line, 5, 5);