GP<DataPool> DjVuErrorList::request_data(const DjVuPort * source, const GURL & url) { GP<DataPool> retval; G_TRY { if (pool && url.protocol().downcase() == "data") { if(url == pool_url) { retval=pool; }else if(url.base() == pool_url) { GUTF8String name=url.fname(); GP<DjVmDoc> doc=DjVmDoc::create(); GP<ByteStream> bs=pool->get_stream(); doc->read(*bs); retval=doc->get_data(name); } }else if (url.is_local_file_url()) { // GUTF8String fname=GOS::url_to_filename(url); // if (GOS::basename(fname)=="-") fname="-"; retval=DataPool::create(url); } } G_CATCH_ALL { retval=0; } G_ENDCATCH; return retval; }