Fix gigabit corruption.

Add scaffolding to show json metadata in summaries. *WIP*
This commit is contained in:
Zak Betz 2015-06-17 00:27:23 -06:00
parent 32987e76ee
commit fab62fab3f
3 changed files with 26 additions and 7 deletions

View File

@ -587,6 +587,12 @@ bool Msg20Reply::sendReply ( XmlDoc *xd ) {
gettimeofdayInMilliseconds() ,
color );
// FIXME
//int32_t mdLen = 0;
// char* md = xd->getMetadata(&mdLen);
// if(mdLen) {
// log("this has metadata %s", md);
// }
// . del the list at this point, we've copied all the data into reply
// . this will free a non-null State20::m_ps (ParseState) for us
mdelete ( xd , sizeof(XmlDoc) , "xd20" );

View File

@ -1446,14 +1446,14 @@ bool XmlDoc::set4 ( SpiderRequest *sreq ,
if ( m_sreqValid )
m_recycleContent = m_sreq.m_recycleContent;
if(metadata) {
log("metadata is %s", metadata);
} else {
log("metadata is empty");
}
if(metadata) {
log("metadata is %s", metadata);
} else {
log("metadata is empty");
}
m_hasMetadata = (bool)metadata;
ptr_metadata = metadata;
size_metadata = metadataLen;
ptr_metadata = metadata;
size_metadata = metadataLen;
return true;
}
@ -10670,6 +10670,18 @@ bool XmlDoc::addGigabits(Words *ww,int64_t docId,Sections *sections,
return true;
}
char* XmlDoc::getMetadata(int32_t* retlen) {
if(!m_hasMetadata) {
*retlen = 0;
return NULL;
}
*retlen = size_metadata;
return ptr_metadata;
}
// . this is called by Msg40.cpp to intersect gigabits from multiple docs
// . returns -1 and sets g_errno on error
// . returns # of GigabitInfos stored into "top"

View File

@ -599,6 +599,7 @@ class XmlDoc {
char *getMetaDescription( int32_t *mdlen ) ;
char *getMetaSummary ( int32_t *mslen ) ;
char *getMetaKeywords( int32_t *mklen ) ;
char *getMetadata(int32_t* retlen);
bool addGigabits ( char *s , int64_t docId , uint8_t langId ) ;
bool addGigabits2 ( char *s,int32_t slen,int64_t docId,uint8_t langId);
bool addGigabits ( class Words *ww ,