--- parser3/src/classes/image.C 2002/05/16 16:18:19 1.72 +++ parser3/src/classes/image.C 2002/08/15 09:07:48 1.75 @@ -3,10 +3,10 @@ Copyright(c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) - - $Id: image.C,v 1.72 2002/05/16 16:18:19 paf Exp $ */ +static const char* IDENT_IMAGE_C="$Date: 2002/08/15 09:07:48 $"; + /* jpegsize: gets the width and height (in pixels) of a jpeg file Andrew Tong, werdna@ugcs.caltech.edu February 14, 1995 @@ -792,15 +792,17 @@ static void _circle(Request& r, const St gdImage& as_image(Pool& pool, const String& method_name, MethodParams *params, int index, const char *msg) { - Value& value=params->as_no_junction(index, msg); + gdImage *src=0; - if(strcmp(value.type(), VIMAGE_TYPE)!=0) - throw Exception("parser.runtime", - &method_name, - msg); + Value& value=params->as_no_junction(index, msg); - gdImage *src=static_cast(&value)->image; - if(!src) + if(Value *vimage=value.as(VIMAGE_TYPE, false)) { + src=static_cast(vimage)->image; + if(!src) + throw Exception("parser.runtime", + &method_name, + msg); + } else throw Exception("parser.runtime", &method_name, msg);