--- parser3/src/classes/image.C 2004/03/01 13:33:11 1.109 +++ parser3/src/classes/image.C 2005/07/28 11:23:01 1.112 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_IMAGE_C="$Date: 2004/03/01 13:33:11 $"; +static const char * const IDENT_IMAGE_C="$Date: 2005/07/28 11:23:01 $"; /* jpegsize: gets the width and height (in pixels) of a jpeg file @@ -33,7 +33,7 @@ static const char * const IDENT_IMAGE_C= class MImage: public Methoded { public: // VStateless_class - Value* create_new_value(Pool&) { return new VImage(); } + Value* create_new_value(Pool&, HashStringValue&) { return new VImage(); } public: MImage(); @@ -402,7 +402,7 @@ static Value* parse_IFD_entry_formatted_ size_t length=components_count; // Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes if(length==JPEG_EXIF_DATE_CHARS - && isdigit(cstr[0]) + && isdigit((unsigned char)cstr[0]) && cstr[length-1]==0) { char cstr_writable[JPEG_EXIF_DATE_CHARS]; strcpy(cstr_writable, cstr); @@ -876,6 +876,10 @@ static void _bar(Request& r, MethodParam #ifndef DOXYGEN static void add_point(Table::element_type row, gdImage::Point **p) { + if(row->count()!=2) + throw Exception(0, + 0, + "coordinates table must contain two columns: x and y values"); (**p).x=row->get(0)->as_int(); (**p).y=row->get(1)->as_int(); (*p)++;