Hi, here a bit lengthy one.
Regards.
Index: patches/patch-src_indexer_cpp =================================================================== RCS file: patches/patch-src_indexer_cpp diff -N patches/patch-src_indexer_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_indexer_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: src/indexer.cpp +--- src/indexer.cpp.orig ++++ src/indexer.cpp +@@ -1291,7 +1291,7 @@ bool DoIndex ( const CSphConfigSection & hIndex, const + iTotalBytes += tSource.m_iTotalBytes; + } + +- fprintf ( stdout, "total "INT64_FMT" docs, "INT64_FMT" bytes\n", iTotalDocs, iTotalBytes ); ++ fprintf ( stdout, "total " INT64_FMT " docs, " INT64_FMT " bytes\n", iTotalDocs, iTotalBytes ); + + fprintf ( stdout, "total %d.%03d sec, %d bytes/sec, %d.%02d docs/sec\n", + (int)(tmTime/1000000), (int)(tmTime%1000000)/1000, // sec Index: patches/patch-src_indextool_cpp =================================================================== RCS file: patches/patch-src_indextool_cpp diff -N patches/patch-src_indextool_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_indextool_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,32 @@ +$OpenBSD$ + +Index: src/indextool.cpp +--- src/indextool.cpp.orig ++++ src/indextool.cpp +@@ -490,7 +490,7 @@ bool BuildIDF ( const CSphString & sFilename, const CS + break; + } + +- fprintf ( stdout, INT64_FMT" documents, "INT64_FMT" words ("INT64_FMT" read, "INT64_FMT" merged, "INT64_FMT" skipped)\n", ++ fprintf ( stdout, INT64_FMT " documents, " INT64_FMT " words (" INT64_FMT" read, " INT64_FMT " merged, " INT64_FMT " skipped)\n", + iTotalDocuments, iTotalWords, iReadWords, iMergedWords, iSkippedWords ); + + // write to disk +@@ -643,7 +643,7 @@ bool MergeIDF ( const CSphString & sFilename, const CS + ARRAY_FOREACH ( i, dFiles ) + SafeDeleteArray ( dBuffers[i] ); + +- fprintf ( stdout, INT64_FMT" documents, "INT64_FMT" words ("INT64_FMT" read, "INT64_FMT" merged, "INT64_FMT" skipped)\n", ++ fprintf ( stdout, INT64_FMT " documents, " INT64_FMT " words (" INT64_FMT " read, " INT64_FMT " merged, " INT64_FMT " skipped)\n", + iTotalDocuments, iTotalWords, iReadWords, iMergedWords, iSkippedWords ); + + int tmWallMsec = (int)( ( sphMicroTimer() - tmStart )/1000 ); +@@ -1170,7 +1170,7 @@ int main ( int argc, char ** argv ) + fprintf ( stdout, "dumping dictionary for index '%s'...\n", sIndex.cstr() ); + + if ( bStats ) +- fprintf ( stdout, "total-documents: "INT64_FMT"\n", pIndex->GetStats().m_iTotalDocuments ); ++ fprintf ( stdout, "total-documents: " INT64_FMT "\n", pIndex->GetStats().m_iTotalDocuments ); + pIndex->DebugDumpDict ( stdout ); + break; + } Index: patches/patch-src_searchd_cpp =================================================================== RCS file: patches/patch-src_searchd_cpp diff -N patches/patch-src_searchd_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_searchd_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,274 @@ +$OpenBSD$ + +Index: src/searchd.cpp +--- src/searchd.cpp.orig ++++ src/searchd.cpp +@@ -3927,7 +3927,7 @@ struct MetaAgentDesc_t (public) + // only one node with lowest error rating. Return it. + if ( !dCandidates.GetLength() ) + { +- sphLogDebug ( "HA selected %d node with best num of errors a row ("INT64_FMT")", iBestAgent, iErrARow ); ++ sphLogDebug ( "HA selected %d node with best num of errors a row (" INT64_FMT ")", iBestAgent, iErrARow ); + return &m_dAgents[iBestAgent]; + } + +@@ -3940,7 +3940,7 @@ struct MetaAgentDesc_t (public) + { + const HostDashboard_t & dDash = GetCommonStat ( iBestAgent ); + fAge = ( dDash.m_iLastAnswerTime-dDash.m_iLastQueryTime ) / 1000.0f; +- sLogStr = "HA selected %d node by weighted random, with best EaR ("INT64_FMT"), last answered in %f milliseconds"; ++ sLogStr = "HA selected %d node by weighted random, with best EaR (" INT64_FMT "), last answered in %f milliseconds"; + } + + sphLogDebug ( sLogStr, iBestAgent, iErrARow, fAge ); +@@ -6935,7 +6935,7 @@ void LogQueryPlain ( const CSphQuery & tQuery, const C + // [matchmode/numfilters/sortmode matches (offset,limit) + static const char * sModes [ SPH_MATCH_TOTAL ] = { "all", "any", "phr", "bool", "ext", "scan", "ext2" }; + static const char * sSort [ SPH_SORT_TOTAL ] = { "rel", "attr-", "attr+", "tsegs", "ext", "expr" }; +- tBuf.Appendf ( " [%s/%d/%s "INT64_FMT" (%d,%d)", ++ tBuf.Appendf ( " [%s/%d/%s " INT64_FMT " (%d,%d)", + sModes [ tQuery.m_eMode ], tQuery.m_dFilters.GetLength(), sSort [ tQuery.m_eSort ], + tRes.m_iTotalMatches, tQuery.m_iOffset, tQuery.m_iLimit ); + +@@ -7045,10 +7045,10 @@ static void LogQuerySphinxql ( const CSphQuery & q, co + tBuf += sTimeBuf; + + if ( tRes.m_iMultiplier>1 ) +- tBuf.Appendf ( " conn %d real %d.%03d wall %d.%03d x%d found "INT64_FMT" *""/ ", ++ tBuf.Appendf ( " conn %d real %d.%03d wall %d.%03d x%d found " INT64_FMT " *""/ ", + iCid, iRealTime/1000, iRealTime%1000, iQueryTime/1000, iQueryTime%1000, tRes.m_iMultiplier, tRes.m_iTotalMatches ); + else +- tBuf.Appendf ( " conn %d real %d.%03d wall %d.%03d found "INT64_FMT" *""/ ", ++ tBuf.Appendf ( " conn %d real %d.%03d wall %d.%03d found " INT64_FMT " *""/ ", + iCid, iRealTime/1000, iRealTime%1000, iQueryTime/1000, iQueryTime%1000, tRes.m_iTotalMatches ); + + /////////////////////////////////// +@@ -7089,9 +7089,9 @@ static void LogQuerySphinxql ( const CSphQuery & q, co + if ( f.m_dValues.GetLength()==1 ) + { + if ( f.m_bExclude ) +- tBuf.Appendf ( " %s!="INT64_FMT, f.m_sAttrName.cstr(), (int64_t)f.m_dValues[0] ); ++ tBuf.Appendf ( " %s!=" INT64_FMT, f.m_sAttrName.cstr(), (int64_t)f.m_dValues[0] ); + else +- tBuf.Appendf ( " %s="INT64_FMT, f.m_sAttrName.cstr(), (int64_t)f.m_dValues[0] ); ++ tBuf.Appendf ( " %s=" INT64_FMT, f.m_sAttrName.cstr(), (int64_t)f.m_dValues[0] ); + } else + { + if ( f.m_bExclude ) +@@ -7106,7 +7106,7 @@ static void LogQuerySphinxql ( const CSphQuery & q, co + for ( int j=0; j<iLimit; ++j ) + { + if ( j ) +- tBuf.Appendf ( ","INT64_FMT, (int64_t)f.m_dValues[j] ); ++ tBuf.Appendf ( "," INT64_FMT, (int64_t)f.m_dValues[j] ); + else + tBuf.Appendf ( INT64_FMT, (int64_t)f.m_dValues[j] ); + } +@@ -7115,7 +7115,7 @@ static void LogQuerySphinxql ( const CSphQuery & q, co + for ( int j=iLimit-3; j<iLimit; ++j ) + { + if ( j ) +- tBuf.Appendf ( ","INT64_FMT, (int64_t)f.m_dValues[j] ); ++ tBuf.Appendf ( "," INT64_FMT, (int64_t)f.m_dValues[j] ); + else + tBuf.Appendf ( INT64_FMT, (int64_t)f.m_dValues[j] ); + } +@@ -7124,7 +7124,7 @@ static void LogQuerySphinxql ( const CSphQuery & q, co + ARRAY_FOREACH ( j, f.m_dValues ) + { + if ( j ) +- tBuf.Appendf ( ","INT64_FMT, (int64_t)f.m_dValues[j] ); ++ tBuf.Appendf ( "," INT64_FMT, (int64_t)f.m_dValues[j] ); + else + tBuf.Appendf ( INT64_FMT, (int64_t)f.m_dValues[j] ); + } +@@ -7137,17 +7137,17 @@ static void LogQuerySphinxql ( const CSphQuery & q, co + { + // no min, thus (attr<maxval) + const char * sOps[2][2] = { { "<", "<=" }, { ">=", ">" } }; +- tBuf.Appendf ( " %s%s"INT64_FMT, f.m_sAttrName.cstr(), ++ tBuf.Appendf ( " %s%s" INT64_FMT, f.m_sAttrName.cstr(), + sOps [ f.m_bExclude ][ f.m_bHasEqual ], f.m_iMaxValue ); + } else if ( f.m_iMaxValue==INT64_MAX || ( f.m_iMaxValue==-1 && f.m_sAttrName=="@id" ) ) + { + // mo max, thus (attr>minval) + const char * sOps[2][2] = { { ">", ">=" }, { "<", "<=" } }; +- tBuf.Appendf ( " %s%s"INT64_FMT, f.m_sAttrName.cstr(), ++ tBuf.Appendf ( " %s%s" INT64_FMT, f.m_sAttrName.cstr(), + sOps [ f.m_bExclude ][ f.m_bHasEqual ], f.m_iMinValue ); + } else + { +- tBuf.Appendf ( " %s%s BETWEEN "INT64_FMT" AND "INT64_FMT, ++ tBuf.Appendf ( " %s%s BETWEEN " INT64_FMT " AND " INT64_FMT, + f.m_sAttrName.cstr(), f.m_bExclude ? " NOT" : "", + f.m_iMinValue + !f.m_bHasEqual, f.m_iMaxValue - !f.m_bHasEqual ); + } +@@ -14320,7 +14320,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + DWORD uServer = htonl ( SPHINX_SEARCHD_PROTO ); + if ( sphSockSend ( iSock, (char*)&uServer, sizeof(DWORD) )!=sizeof(DWORD) ) + { +- sphWarning ( "failed to send server version (client=%s("INT64_FMT"))", sClientIP, iCID ); ++ sphWarning ( "failed to send server version (client=%s(" INT64_FMT "))", sClientIP, iCID ); + return; + } + +@@ -14328,10 +14328,10 @@ void HandleClientSphinx ( int iSock, const char * sCli + tBuf.ReadFrom ( 4 ); // FIXME! magic + int iMagic = tBuf.GetInt (); // client version is for now unused + +- sphLogDebugv ( "conn %s("INT64_FMT"): got handshake, major v.%d, err %d", sClientIP, iCID, iMagic, (int)tBuf.GetError() ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): got handshake, major v.%d, err %d", sClientIP, iCID, iMagic, (int)tBuf.GetError() ); + if ( tBuf.GetError() ) + { +- sphLogDebugv ( "conn %s("INT64_FMT"): exiting on handshake error", sClientIP, iCID ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): exiting on handshake error", sClientIP, iCID ); + return; + } + +@@ -14350,14 +14350,14 @@ void HandleClientSphinx ( int iSock, const char * sCli + // on SIGTERM, bail unconditionally and immediately, at all times + if ( !bCommand && g_bGotSigterm ) + { +- sphLogDebugv ( "conn %s("INT64_FMT"): bailing on SIGTERM", sClientIP, iCID ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): bailing on SIGTERM", sClientIP, iCID ); + break; + } + + // on SIGHUP vs pconn, bail if a pconn was idle for 1 sec + if ( bPersist && !bCommand && g_bGotSighup && sphSockPeekErrno()==ETIMEDOUT ) + { +- sphLogDebugv ( "conn %s("INT64_FMT"): bailing idle pconn on SIGHUP", sClientIP, iCID ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): bailing idle pconn on SIGHUP", sClientIP, iCID ); + break; + } + +@@ -14367,7 +14367,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + iPconnIdle += iTimeout; + if ( iPconnIdle>=g_iClientTimeout ) + { +- sphLogDebugv ( "conn %s("INT64_FMT"): bailing idle pconn on client_timeout", sClientIP, iCID ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): bailing idle pconn on client_timeout", sClientIP, iCID ); + break; + } + continue; +@@ -14391,7 +14391,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + // lets avoid agent log flood + // + // sphWarning ( "failed to receive client version and request (client=%s, error=%s)", sClientIP, sphSockError() ); +- sphLogDebugv ( "conn %s("INT64_FMT"): bailing on failed request header (sockerr=%s)", sClientIP, iCID, sphSockError() ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): bailing on failed request header (sockerr=%s)", sClientIP, iCID, sphSockError() ); + if ( bPersist ) + DecPersCount(); + return; +@@ -14425,7 +14425,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + assert ( iLength>=0 && iLength<=g_iMaxPacketSize ); + if ( iLength && !tBuf.ReadFrom ( iLength ) ) + { +- sphWarning ( "failed to receive client request body (client=%s("INT64_FMT"), exp=%d, error='%s')", ++ sphWarning ( "failed to receive client request body (client=%s(" INT64_FMT "), exp=%d, error='%s')", + sClientIP, iCID, iLength, sphSockError() ); + + if ( bPersist ) +@@ -14450,7 +14450,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + pThd->m_sCommand = g_dApiCommands[iCommand]; + THD_STATE ( THD_QUERY ); + +- sphLogDebugv ( "conn %s("INT64_FMT"): got command %d, handling", sClientIP, iCID, iCommand ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): got command %d, handling", sClientIP, iCID, iCommand ); + switch ( iCommand ) + { + case SEARCHD_COMMAND_SEARCH: HandleCommandSearch ( iSock, iCommandVer, tBuf, pThd ); break; +@@ -14461,7 +14461,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + { + bPersist = ( tBuf.GetInt()!=0 ); + iTimeout = 1; +- sphLogDebugv ( "conn %s("INT64_FMT"): pconn is now %s", sClientIP, iCID, bPersist ? "on" : "off" ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): pconn is now %s", sClientIP, iCID, bPersist ? "on" : "off" ); + CSphScopedLockedShare<InterWorkerStorage> dPersNum ( *g_pPersistentInUse ); + DWORD uMaxChildren = (g_eWorkers==MPM_PREFORK)?g_iPreforkChildren:g_iMaxChildren; + DWORD& uPers = dPersNum.SharedValue<DWORD>(); +@@ -14493,7 +14493,7 @@ void HandleClientSphinx ( int iSock, const char * sCli + if ( bPersist ) + DecPersCount(); + +- sphLogDebugv ( "conn %s("INT64_FMT"): exiting", sClientIP, iCID ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): exiting", sClientIP, iCID ); + } + + ////////////////////////////////////////////////////////////////////////// +@@ -18437,7 +18437,7 @@ static void HandleClientMySQL ( int iSock, const char + if ( sphSockSend ( iSock, g_sMysqlHandshake, g_iMysqlHandshake )!=g_iMysqlHandshake ) + { + int iErrno = sphSockGetErrno (); +- sphWarning ( "failed to send server version (client=%s("INT64_FMT"), error: %d '%s')", sClientIP, iCID, iErrno, sphSockError ( iErrno ) ); ++ sphWarning ( "failed to send server version (client=%s(" INT64_FMT "), error: %d '%s')", sClientIP, iCID, iErrno, sphSockError ( iErrno ) ); + return; + } + +@@ -18460,7 +18460,7 @@ static void HandleClientMySQL ( int iSock, const char + THD_STATE ( THD_NET_IDLE ); + if ( !tIn.ReadFrom ( 4, INTERACTIVE_TIMEOUT, true ) ) + { +- sphLogDebugv ( "conn %s("INT64_FMT"): bailing on failed MySQL header (sockerr=%s)", sClientIP, iCID, sphSockError() ); ++ sphLogDebugv ( "conn %s(" INT64_FMT "): bailing on failed MySQL header (sockerr=%s)", sClientIP, iCID, sphSockError() ); + break; + } + +@@ -18480,7 +18480,7 @@ static void HandleClientMySQL ( int iSock, const char + int iPacketLen = ( uPacketHeader & MAX_PACKET_LEN ); + if ( !tIn.ReadFrom ( iPacketLen, INTERACTIVE_TIMEOUT, true ) ) + { +- sphWarning ( "failed to receive MySQL request body (client=%s("INT64_FMT"), exp=%d, error='%s')", ++ sphWarning ( "failed to receive MySQL request body (client=%s(" INT64_FMT "), exp=%d, error='%s')", + sClientIP, iCID, iPacketLen, sphSockError() ); + break; + } +@@ -18500,7 +18500,7 @@ static void HandleClientMySQL ( int iSock, const char + { + if ( !tIn2.ReadFrom ( 4, INTERACTIVE_TIMEOUT, true ) ) + { +- sphLogDebugv ( "conn %s("INT64_FMT"): bailing on failed MySQL header2 (sockerr=%s)", ++ sphLogDebugv ( "conn %s(" INT64_FMT "): bailing on failed MySQL header2 (sockerr=%s)", + sClientIP, iCID, sphSockError() ); + break; + } +@@ -18510,7 +18510,7 @@ static void HandleClientMySQL ( int iSock, const char + iAddonLen = ( uAddon & MAX_PACKET_LEN ); + if ( !tIn.ReadFrom ( iAddonLen, INTERACTIVE_TIMEOUT, true, true ) ) + { +- sphWarning ( "failed to receive MySQL request body2 (client=%s("INT64_FMT"), exp=%d, error='%s')", ++ sphWarning ( "failed to receive MySQL request body2 (client=%s(" INT64_FMT "), exp=%d, error='%s')", + sClientIP, iCID, iAddonLen, sphSockError() ); + iAddonLen = -1; + break; +@@ -19446,10 +19446,10 @@ static void SphinxqlStateThreadFunc ( void * ) + ARRAY_FOREACH_COND ( i, dUservars, tmLast==g_tmSphinxqlState ) + { + const CSphVector<SphAttr_t> & dVals = *dUservars[i].m_pVal; +- int iLen = snprintf ( dBuf, sizeof ( dBuf ), "SET GLOBAL %s = ( "INT64_FMT, dUservars[i].m_sName.cstr(), dVals[0] ); ++ int iLen = snprintf ( dBuf, sizeof ( dBuf ), "SET GLOBAL %s = ( " INT64_FMT, dUservars[i].m_sName.cstr(), dVals[0] ); + for ( int j=1; j<dVals.GetLength(); j++ ) + { +- iLen += snprintf ( dBuf+iLen, sizeof ( dBuf ), ", "INT64_FMT, dVals[j] ); ++ iLen += snprintf ( dBuf+iLen, sizeof ( dBuf ), ", " INT64_FMT, dVals[j] ); + + if ( iLen>=iMaxString && j<dVals.GetLength()-1 ) + { +@@ -19966,7 +19966,7 @@ bool ValidateAgentDesc ( MetaAgentDesc_t & tAgent, con + g_tStatsMutex.Lock(); + pAgent->m_iStatsIndex = g_pStats->m_dAgentStats.AllocItem(); + if ( pAgent->m_iStatsIndex<0 ) +- sphWarning ( "index '%s': agent '%s': failed to allocate slot for stats", ++ sphWarning ( "index '%s': agent '%s': failed to allocate slot for stats%s", + szIndexName, pLine->cstr(), ( tAgent.IsHA() ? ", HA might be wrong" : "" ) ); + + if ( g_pStats->m_hDashBoard.Exists ( sHashKey ) ) +@@ -19978,7 +19978,7 @@ bool ValidateAgentDesc ( MetaAgentDesc_t & tAgent, con + pAgent->m_iDashIndex = g_pStats->m_dDashboard.AllocItem(); + if ( pAgent->m_iDashIndex<0 ) + { +- sphWarning ( "index '%s': agent '%s': failed to allocate slot for stat-dashboard", ++ sphWarning ( "index '%s': agent '%s': failed to allocate slot for stat-dashboard%s", + szIndexName, pLine->cstr(), ( tAgent.IsHA() ? ", HA might be wrong" : "" ) ); + } else + { Index: patches/patch-src_sphinx_cpp =================================================================== RCS file: patches/patch-src_sphinx_cpp diff -N patches/patch-src_sphinx_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sphinx_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,894 @@ +$OpenBSD$ + +Index: src/sphinx.cpp +--- src/sphinx.cpp.orig ++++ src/sphinx.cpp +@@ -468,7 +468,7 @@ SphOffset_t CSphAutofile::GetSize ( SphOffset_t iMinSi + } + if ( st.st_size<iMinSize ) + { +- sError.SetSprintf ( "failed to load %s: bad size "INT64_FMT" (at least "INT64_FMT" bytes expected)", ++ sError.SetSprintf ( "failed to load %s: bad size " INT64_FMT " (at least " INT64_FMT " bytes expected)", + GetFilename(), (int64_t)st.st_size, (int64_t)iMinSize ); + return -1; + } +@@ -477,7 +477,7 @@ SphOffset_t CSphAutofile::GetSize ( SphOffset_t iMinSi + size_t uCheck = (size_t)st.st_size; + if ( st.st_size!=SphOffset_t(uCheck) ) + { +- sError.SetSprintf ( "failed to load %s: bad size "INT64_FMT" (out of size_t; 4 GB limit on 32-bit machine hit?)", ++ sError.SetSprintf ( "failed to load %s: bad size " INT64_FMT " (out of size_t; 4 GB limit on 32-bit machine hit?)", + GetFilename(), (int64_t)st.st_size ); + return -1; + } +@@ -510,7 +510,7 @@ bool CSphAutofile::Read ( void * pBuf, int64_t iCount, + if ( errno==EINTR ) + continue; + +- sError.SetSprintf ( "read error in %s (%s); "INT64_FMT" of "INT64_FMT" bytes read", ++ sError.SetSprintf ( "read error in %s (%s); " INT64_FMT " of " INT64_FMT " bytes read", + GetFilename(), strerror(errno), iCount-iToRead, iCount ); + return false; + } +@@ -518,7 +518,7 @@ bool CSphAutofile::Read ( void * pBuf, int64_t iCount, + // EOF + if ( iGot==0 ) + { +- sError.SetSprintf ( "unexpected EOF in %s (%s); "INT64_FMT" of "INT64_FMT" bytes read", ++ sError.SetSprintf ( "unexpected EOF in %s (%s); " INT64_FMT " of " INT64_FMT " bytes read", + GetFilename(), strerror(errno), iCount-iToRead, iCount ); + return false; + } +@@ -535,7 +535,7 @@ bool CSphAutofile::Read ( void * pBuf, int64_t iCount, + + if ( iToRead!=0 ) + { +- sError.SetSprintf ( "read error in %s (%s); "INT64_FMT" of "INT64_FMT" bytes read", ++ sError.SetSprintf ( "read error in %s (%s); " INT64_FMT " of " INT64_FMT " bytes read", + GetFilename(), strerror(errno), iCount-iToRead, iCount ); + return false; + } +@@ -8168,7 +8168,7 @@ void CSphReader::UpdateCache () + { + m_iBuffUsed = m_iBuffPos = 0; + m_bError = true; +- m_sError.SetSprintf ( "pread error in %s: pos="INT64_FMT", len=%d, code=%d, msg=%s", ++ m_sError.SetSprintf ( "pread error in %s: pos=" INT64_FMT ", len=%d, code=%d, msg=%s", + m_sFilename.cstr(), (int64_t)iNewPos, iReadLen, errno, strerror(errno) ); + if ( m_pProfile ) + m_pProfile->Switch ( eOld ); +@@ -8749,7 +8749,7 @@ int CSphBin::ReadHit ( CSphAggregateHit * pOut, int iR + // FIXME?! move this under PARANOID or something? + // or just introduce an assert() checked release build? + if ( uDelta>=sizeof(m_sKeyword) ) +- sphDie ( "INTERNAL ERROR: corrupted keyword length (len="UINT64_FMT", deltapos="UINT64_FMT")", ++ sphDie ( "INTERNAL ERROR: corrupted keyword length (len=" UINT64_FMT ", deltapos=" UINT64_FMT ")", + (uint64_t)uDelta, (uint64_t)(m_iFilePos-m_iLeft) ); + #else + assert ( uDelta>0 && uDelta<sizeof(m_sKeyword)-1 ); +@@ -9870,7 +9870,7 @@ int CSphIndex_VLN::UpdateAttributes ( const CSphAttrUp + } + if ( ( tCol.m_eAttrType==SPH_ATTR_UINT32SET || tCol.m_eAttrType==SPH_ATTR_INT64SET ) && m_bArenaProhibit ) + { +- sError.SetSprintf ( "MVA attribute '%s' can not be updated (already so many MVA "INT64_FMT", should be less %d)", ++ sError.SetSprintf ( "MVA attribute '%s' can not be updated (already so many MVA " INT64_FMT ", should be less %d)", + tCol.m_sName.cstr(), m_tMva.GetNumEntries(), INT_MAX ); + return -1; + } +@@ -10254,7 +10254,7 @@ bool CSphIndex_VLN::LoadPersistentMVA ( CSphString & s + } + if ( m_bArenaProhibit ) + { +- sError.SetSprintf ( "MVA update disabled (already so many MVA "INT64_FMT", should be less %d)", m_tMva.GetNumEntries(), INT_MAX ); ++ sError.SetSprintf ( "MVA update disabled (already so many MVA " INT64_FMT ", should be less %d)", m_tMva.GetNumEntries(), INT_MAX ); + return false; + } + +@@ -13230,7 +13230,7 @@ int CSphIndex_VLN::Build ( const CSphVector<CSphSource + + if ( m_tStats.m_iTotalDocuments>=INT_MAX ) + { +- m_sLastError.SetSprintf ( "index over %d documents not supported (got documents count="INT64_FMT")", INT_MAX, m_tStats.m_iTotalDocuments ); ++ m_sLastError.SetSprintf ( "index over %d documents not supported (got documents count=" INT64_FMT ")", INT_MAX, m_tStats.m_iTotalDocuments ); + return 0; + } + +@@ -13399,7 +13399,7 @@ int CSphIndex_VLN::Build ( const CSphVector<CSphSource + int64_t iMinMaxSize = tMinMax.GetExpectedSize ( m_tStats.m_iTotalDocuments ); + if ( iMinMaxSize>INT_MAX || m_tStats.m_iTotalDocuments>INT_MAX ) + { +- m_sLastError.SetSprintf ( "attribute files (.spa) over 128 GB are not supported (min-max approximate="INT64_FMT", documents count="INT64_FMT")", ++ m_sLastError.SetSprintf ( "attribute files (.spa) over 128 GB are not supported (min-max approximate=" INT64_FMT ", documents count=" INT64_FMT ")", + iMinMaxSize, m_tStats.m_iTotalDocuments ); + return 0; + } +@@ -13432,7 +13432,7 @@ int CSphIndex_VLN::Build ( const CSphVector<CSphSource + { + // dupe, report it + if ( m_tSettings.m_bVerbose && uLastDupe!=uLastId ) +- sphWarn ( "duplicated document id="DOCID_FMT, uLastId ); ++ sphWarn ( "duplicated document id=" DOCID_FMT, uLastId ); + + uLastDupe = uLastId; + iDupes++; +@@ -13473,7 +13473,7 @@ int CSphIndex_VLN::Build ( const CSphVector<CSphSource + uLastMvaOff = rdMva.GetPos()/sizeof(DWORD); + int iPoolOff = dMvaPool.GetLength(); + if ( uLastMvaOff>UINT_MAX ) +- sphDie ( "MVA counter overflows "UINT64_FMT" at document "DOCID_FMT", total MVA entries "UINT64_FMT" ( try to index less documents )", uLastMvaOff, uMvaID, rdMva.GetFilesize() ); ++ sphDie ( "MVA counter overflows " UINT64_FMT " at document " DOCID_FMT ", total MVA entries " UINT64_FMT " ( try to index less documents )", uLastMvaOff, uMvaID, rdMva.GetFilesize() ); + + sphSetRowAttr ( pAttr, dMvaLocators[i], uLastMvaOff ); + // there is the cloned row at the beginning of MVA pool, lets skip it +@@ -13576,7 +13576,7 @@ int CSphIndex_VLN::Build ( const CSphVector<CSphSource + dBins.Reset (); + + if ( uLastMvaOff>INT_MAX ) +- sphWarning ( "MVA update disabled (collected MVA "INT64_FMT", should be less %d)", uLastMvaOff, INT_MAX ); ++ sphWarning ( "MVA update disabled (collected MVA " INT64_FMT ", should be less %d)", uLastMvaOff, INT_MAX ); + } + + dDocinfos.Reset ( 0 ); +@@ -13997,7 +13997,7 @@ static bool CopyFile ( const char * sSrc, const char * + size_t iRead = sphReadThrottled ( tSrcFile.GetFD(), dData.Begin(), iSize, pThrottle ); + if ( iRead!=iSize ) + { +- sErrStr.SetSprintf ( "read error in %s; "INT64_FMT" of %d bytes read", sSrc, (int64_t)iRead, iSize ); ++ sErrStr.SetSprintf ( "read error in %s; " INT64_FMT " of %d bytes read", sSrc, (int64_t)iRead, iSize ); + break; + } + +@@ -14281,7 +14281,7 @@ static bool CheckDocsCount ( int64_t iDocs, CSphString + if ( iDocs<INT_MAX ) + return true; + +- sError.SetSprintf ( "index over %d documents not supported (got "INT64_FMT" documents)", INT_MAX, iDocs ); ++ sError.SetSprintf ( "index over %d documents not supported (got " INT64_FMT " documents)", INT_MAX, iDocs ); + return false; + } + +@@ -14769,7 +14769,7 @@ bool CSphIndex_VLN::DoMerge ( const CSphIndex_VLN * pD + int64_t iMinMaxSize = tMinMax.GetExpectedSize ( iExpectedDocs ); + if ( iMinMaxSize>INT_MAX || iExpectedDocs>INT_MAX ) + { +- sError.SetSprintf ( "attribute files (.spa) over 128 GB are not supported (min-max approximate="INT64_FMT", documents count="INT64_FMT")", ++ sError.SetSprintf ( "attribute files (.spa) over 128 GB are not supported (min-max approximate=" INT64_FMT ", documents count=" INT64_FMT ")", + iMinMaxSize, iExpectedDocs ); + return false; + } +@@ -15275,7 +15275,7 @@ bool CSphIndex_VLN::BuildDocList ( SphAttr_t ** ppDocL + int64_t iSizeMax = (size_t)m_iDocinfo; + if ( iSizeMax!=m_iDocinfo ) + { +- pError->SetSprintf ( "doc-list build size_t overflow (docs count="INT64_FMT", size max="INT64_FMT")", m_iDocinfo, iSizeMax ); ++ pError->SetSprintf ( "doc-list build size_t overflow (docs count=" INT64_FMT ", size max=" INT64_FMT ")", m_iDocinfo, iSizeMax ); + return false; + } + +@@ -16688,8 +16688,8 @@ void CSphIndex_VLN::DebugDumpHeader ( FILE * fp, const + } + + // skipped min doc, wordlist checkpoints +- fprintf ( fp, "total-documents: "INT64_FMT"\n", m_tStats.m_iTotalDocuments ); +- fprintf ( fp, "total-bytes: "INT64_FMT"\n", int64_t(m_tStats.m_iTotalBytes) ); ++ fprintf ( fp, "total-documents: " INT64_FMT "\n", m_tStats.m_iTotalDocuments ); ++ fprintf ( fp, "total-bytes: " INT64_FMT "\n", int64_t(m_tStats.m_iTotalBytes) ); + fprintf ( fp, "total-duplicates: %d\n", m_iTotalDups ); + + fprintf ( fp, "min-prefix-len: %d\n", m_tSettings.m_iMinPrefixLen ); +@@ -16735,7 +16735,7 @@ void CSphIndex_VLN::DebugDumpHeader ( FILE * fp, const + if ( tEmbeddedFiles.m_bEmbeddedStopwords ) + { + ARRAY_FOREACH ( i, tEmbeddedFiles.m_dStopwords ) +- fprintf ( fp, "\tdictionary-embedded-stopword [%d]: "DOCID_FMT"\n", i, tEmbeddedFiles.m_dStopwords[i] ); ++ fprintf ( fp, "\tdictionary-embedded-stopword [%d]: " DOCID_FMT "\n", i, tEmbeddedFiles.m_dStopwords[i] ); + } + + ARRAY_FOREACH ( i, tSettings.m_dWordforms ) +@@ -16752,7 +16752,7 @@ void CSphIndex_VLN::DebugDumpHeader ( FILE * fp, const + } + + fprintf ( fp, "killlist-size: %u\n", m_uKillListSize ); +- fprintf ( fp, "min-max-index: "INT64_FMT"\n", m_iMinMaxIndex ); ++ fprintf ( fp, "min-max-index: " INT64_FMT "\n", m_iMinMaxIndex ); + + if ( m_pFieldFilter ) + { +@@ -16780,18 +16780,18 @@ void CSphIndex_VLN::DebugDumpDocids ( FILE * fp ) + const int64_t iDocinfoSize = iRowStride*m_iDocinfo*sizeof(DWORD); + const int64_t iMinmaxSize = iNumMinMaxRow*sizeof(CSphRowitem); + +- fprintf ( fp, "docinfo-bytes: docinfo="INT64_FMT", min-max="INT64_FMT", total="UINT64_FMT"\n" ++ fprintf ( fp, "docinfo-bytes: docinfo=" INT64_FMT ", min-max=" INT64_FMT ", total=" UINT64_FMT "\n" + , iDocinfoSize, iMinmaxSize, (uint64_t)m_tAttr.GetLengthBytes() ); + fprintf ( fp, "docinfo-stride: %d\n", (int)(iRowStride*sizeof(DWORD)) ); +- fprintf ( fp, "docinfo-rows: "INT64_FMT"\n", iNumRows ); ++ fprintf ( fp, "docinfo-rows: " INT64_FMT "\n", iNumRows ); + + if ( !m_tAttr.GetNumEntries() ) + return; + + DWORD * pDocinfo = m_tAttr.GetWritePtr(); + for ( int64_t iRow=0; iRow<iNumRows; iRow++, pDocinfo+=iRowStride ) +- printf ( INT64_FMT". id=" DOCID_FMT "\n", iRow+1, DOCINFO2ID ( pDocinfo ) ); +- printf ( "--- min-max="INT64_FMT" ---\n", iNumMinMaxRow ); ++ printf ( INT64_FMT ". id=" DOCID_FMT "\n", iRow+1, DOCINFO2ID ( pDocinfo ) ); ++ printf ( "--- min-max=" INT64_FMT " ---\n", iNumMinMaxRow ); + for ( int64_t iRow=0; iRow<(m_iDocinfoIndex+1)*2; iRow++, pDocinfo+=iRowStride ) + printf ( "id=" DOCID_FMT "\n", DOCINFO2ID ( pDocinfo ) ); + } +@@ -16823,7 +16823,7 @@ void CSphIndex_VLN::DumpHitlist ( FILE * fp, const cha + if ( !uWordID ) + sphDie ( "keyword=%s, tok=%s, no wordid (stopped?)", sKeyword, sTok ); + +- fprintf ( fp, "keyword=%s, tok=%s, wordid="UINT64_FMT"\n", sKeyword, sTok, uint64_t(uWordID) ); ++ fprintf ( fp, "keyword=%s, tok=%s, wordid=" UINT64_FMT "\n", sKeyword, sTok, uint64_t(uWordID) ); + + } else + { +@@ -16831,7 +16831,7 @@ void CSphIndex_VLN::DumpHitlist ( FILE * fp, const cha + if ( !uWordID ) + sphDie ( "failed to convert keyword=%s to id (must be integer)", sKeyword ); + +- fprintf ( fp, "wordid="UINT64_FMT"\n", uint64_t(uWordID) ); ++ fprintf ( fp, "wordid=" UINT64_FMT "\n", uint64_t(uWordID) ); + } + + // open files +@@ -16874,14 +16874,14 @@ void CSphIndex_VLN::DumpHitlist ( FILE * fp, const cha + if ( tKeyword.m_bHasHitlist ) + for ( Hitpos_t uHit = tKeyword.GetNextHit(); uHit!=EMPTY_HIT; uHit = tKeyword.GetNextHit() ) + { +- fprintf ( fp, "doc="DOCID_FMT", hit=0x%08x\n", tKeyword.m_tDoc.m_uDocID, uHit ); // FIXME? ++ fprintf ( fp, "doc=" DOCID_FMT ", hit=0x%08x\n", tKeyword.m_tDoc.m_uDocID, uHit ); // FIXME? + iHits++; + } + + if ( !iHits ) + { + uint64_t uOff = tKeyword.m_iHitlistPos; +- fprintf ( fp, "doc="DOCID_FMT", NO HITS, inline=%d, off="UINT64_FMT"\n", ++ fprintf ( fp, "doc=" DOCID_FMT ", NO HITS, inline=%d, off=" UINT64_FMT "\n", + tKeyword.m_tDoc.m_uDocID, (int)(uOff>>63), (uOff<<1)>>1 ); + } + } +@@ -16974,7 +16974,7 @@ bool CSphIndex_VLN::Prealloc ( bool bMlock, bool bStri + m_bIsEmpty = ( m_tWordlist.m_iSize<=1 ); + + if ( ( m_tWordlist.m_iSize<=1 )!=( m_tWordlist.m_dCheckpoints.GetLength()==0 ) ) +- sphWarning ( "wordlist size mismatch (size="INT64_FMT", checkpoints=%d)", m_tWordlist.m_iSize, m_tWordlist.m_dCheckpoints.GetLength() ); ++ sphWarning ( "wordlist size mismatch (size=" INT64_FMT ", checkpoints=%d)", m_tWordlist.m_iSize, m_tWordlist.m_dCheckpoints.GetLength() ); + + // make sure checkpoints are loadable + // pre-11 indices use different offset type (this is fixed up later during the loading) +@@ -17029,7 +17029,7 @@ bool CSphIndex_VLN::Prealloc ( bool bMlock, bool bStri + if ( iDocinfoSize < iRealDocinfoSize ) + { + m_sLastError.SetSprintf ( "precomputed chunk size check mismatch" ); +- sphLogDebug ( "precomputed chunk size check mismatch (size="INT64_FMT", real="INT64_FMT", min-max="INT64_FMT", count="INT64_FMT")", ++ sphLogDebug ( "precomputed chunk size check mismatch (size=" INT64_FMT ", real=" INT64_FMT ", min-max=" INT64_FMT ", count=" INT64_FMT ")", + iDocinfoSize, iRealDocinfoSize, m_iMinMaxIndex, m_iDocinfo ); + return false; + } +@@ -17082,7 +17082,7 @@ bool CSphIndex_VLN::Prealloc ( bool bMlock, bool bStri + if ( iDocinfoSize < iRealDocinfoSize ) + { + m_sLastError.SetSprintf ( "precomputed chunk size check mismatch" ); +- sphLogDebug ( "precomputed chunk size check mismatch (size="INT64_FMT", real="INT64_FMT", min-max="INT64_FMT", count="INT64_FMT")", ++ sphLogDebug ( "precomputed chunk size check mismatch (size=" INT64_FMT ", real=" INT64_FMT ", min-max=" INT64_FMT ", count=" INT64_FMT ")", + iDocinfoSize, iRealDocinfoSize, m_iMinMaxIndex, m_iDocinfo ); + return false; + } +@@ -17139,7 +17139,7 @@ bool CSphIndex_VLN::Prealloc ( bool bMlock, bool bStri + if ( m_tMva.GetNumEntries()>INT_MAX ) + { + m_bArenaProhibit = true; +- sphWarning ( "MVA update disabled (loaded MVA "INT64_FMT", should be less %d)", m_tMva.GetNumEntries(), INT_MAX ); ++ sphWarning ( "MVA update disabled (loaded MVA " INT64_FMT ", should be less %d)", m_tMva.GetNumEntries(), INT_MAX ); + } + } + +@@ -19669,7 +19669,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + rdDict.UnzipOffset(); + + if ( ( iWordsTotal%iWordPerCP )!=0 && rdDict.GetPos()!=iWordsEnd ) +- LOC_FAIL(( fp, "unexpected checkpoint (pos="INT64_FMT", word=%d, words=%d, expected=%d)", ++ LOC_FAIL(( fp, "unexpected checkpoint (pos=" INT64_FMT ", word=%d, words=%d, expected=%d)", + iDictPos, iWordsTotal, ( iWordsTotal%iWordPerCP ), iWordPerCP )); + + uWordid = 0; +@@ -19701,7 +19701,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + const int iLastWordLen = strlen(sLastWord); + if ( iMatch+iDelta>=(int)sizeof(sLastWord)-1 || iMatch>iLastWordLen ) + { +- LOC_FAIL(( fp, "wrong word-delta (pos="INT64_FMT", word=%s, len=%d, begin=%d, delta=%d)", ++ LOC_FAIL(( fp, "wrong word-delta (pos=" INT64_FMT ", word=%s, len=%d, begin=%d, delta=%d)", + iDictPos, sLastWord, iLastWordLen, iMatch, iDelta )); + rdDict.SkipBytes ( iDelta ); + } else +@@ -19729,20 +19729,20 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + const int iNewWordLen = strlen(sWord); + + if ( iNewWordLen==0 ) +- LOC_FAIL(( fp, "empty word in dictionary (pos="INT64_FMT")", ++ LOC_FAIL(( fp, "empty word in dictionary (pos=" INT64_FMT ")", + iDictPos )); + + if ( iLastWordLen && iNewWordLen ) + if ( sphDictCmpStrictly ( sWord, iNewWordLen, sLastWord, iLastWordLen )<=0 ) +- LOC_FAIL(( fp, "word order decreased (pos="INT64_FMT", word=%s, prev=%s)", ++ LOC_FAIL(( fp, "word order decreased (pos=" INT64_FMT ", word=%s, prev=%s)", + iDictPos, sLastWord, sWord )); + + if ( iHint<0 ) +- LOC_FAIL(( fp, "invalid word hint (pos="INT64_FMT", word=%s, hint=%d)", ++ LOC_FAIL(( fp, "invalid word hint (pos=" INT64_FMT ", word=%s, hint=%d)", + iDictPos, sWord, iHint )); + + if ( iDocs<=0 || iHits<=0 || iHits<iDocs ) +- LOC_FAIL(( fp, "invalid docs/hits (pos="INT64_FMT", word=%s, docs="INT64_FMT", hits="INT64_FMT")", ++ LOC_FAIL(( fp, "invalid docs/hits (pos=" INT64_FMT ", word=%s, docs=" INT64_FMT ", hits=" INT64_FMT ")", + (int64_t)iDictPos, sWord, (int64_t)iDocs, (int64_t)iHits )); + + memcpy ( sLastWord, sWord, sizeof(sLastWord) ); +@@ -19758,15 +19758,15 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + iDocs = ( iDocs & HITLESS_DOC_MASK ); + + if ( uNewWordid<=uWordid ) +- LOC_FAIL(( fp, "wordid decreased (pos="INT64_FMT", wordid="UINT64_FMT", previd="UINT64_FMT")", ++ LOC_FAIL(( fp, "wordid decreased (pos=" INT64_FMT ", wordid=" UINT64_FMT ", previd=" UINT64_FMT ")", + (int64_t)iDictPos, (uint64_t)uNewWordid, (uint64_t)uWordid )); + + if ( iNewDoclistOffset<=iDoclistOffset ) +- LOC_FAIL(( fp, "doclist offset decreased (pos="INT64_FMT", wordid="UINT64_FMT")", ++ LOC_FAIL(( fp, "doclist offset decreased (pos=" INT64_FMT ", wordid=" UINT64_FMT ")", + (int64_t)iDictPos, (uint64_t)uNewWordid )); + + if ( iDocs<=0 || iHits<=0 || iHits<iDocs ) +- LOC_FAIL(( fp, "invalid docs/hits (pos="INT64_FMT", wordid="UINT64_FMT", docs="INT64_FMT", hits="INT64_FMT", hitless=%s)", ++ LOC_FAIL(( fp, "invalid docs/hits (pos=" INT64_FMT ", wordid=" UINT64_FMT ", docs=" INT64_FMT ", hits=" INT64_FMT ", hitless=%s)", + (int64_t)iDictPos, (uint64_t)uNewWordid, (int64_t)iDocs, (int64_t)iHits, ( bHitless?"true":"false" ) )); + } + +@@ -19818,7 +19818,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + tRefCP.m_sWord = dCheckpointWords.Begin() + tRefCP.m_uWordID; + if ( bWordDict && ( tRefCP.m_sWord[0]=='\0' || tCP.m_sWord[0]=='\0' ) ) + { +- LOC_FAIL(( fp, "empty checkpoint %d (read_word=%s, read_len=%u, readpos="INT64_FMT", calc_word=%s, calc_len=%u, calcpos="INT64_FMT")", ++ LOC_FAIL(( fp, "empty checkpoint %d (read_word=%s, read_len=%u, readpos=" INT64_FMT ", calc_word=%s, calc_len=%u, calcpos=" INT64_FMT ")", + i, tCP.m_sWord, (DWORD)strlen ( tCP.m_sWord ), (int64_t)tCP.m_iWordlistOffset, + tRefCP.m_sWord, (DWORD)strlen ( tRefCP.m_sWord ), (int64_t)tRefCP.m_iWordlistOffset )); + +@@ -19827,7 +19827,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + { + if ( bWordDict ) + { +- LOC_FAIL(( fp, "checkpoint %d differs (read_word=%s, readpos="INT64_FMT", calc_word=%s, calcpos="INT64_FMT")", ++ LOC_FAIL(( fp, "checkpoint %d differs (read_word=%s, readpos=" INT64_FMT ", calc_word=%s, calcpos=" INT64_FMT ")", + i, + tCP.m_sWord, + (int64_t)tCP.m_iWordlistOffset, +@@ -19835,7 +19835,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + (int64_t)tRefCP.m_iWordlistOffset )); + } else + { +- LOC_FAIL(( fp, "checkpoint %d differs (readid="UINT64_FMT", readpos="INT64_FMT", calcid="UINT64_FMT", calcpos="INT64_FMT")", ++ LOC_FAIL(( fp, "checkpoint %d differs (readid=" UINT64_FMT ", readpos=" INT64_FMT ", calcid=" UINT64_FMT ", calcpos=" INT64_FMT ")", + i, + (uint64_t)tCP.m_uWordID, + (int64_t)tCP.m_iWordlistOffset, +@@ -19963,12 +19963,12 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + if ( iDoclistOffset!=rdDocs.GetPos() ) + { + if ( !bWordDict ) +- LOC_FAIL(( fp, "unexpected doclist offset (wordid="UINT64_FMT"(%s)(%d), dictpos="INT64_FMT", doclistpos="INT64_FMT")", ++ LOC_FAIL(( fp, "unexpected doclist offset (wordid=" UINT64_FMT "(%s)(%d), dictpos=" INT64_FMT ", doclistpos=" INT64_FMT ")", + (uint64_t)uWordid, sWord, iWordsChecked, iDoclistOffset, (int64_t)rdDocs.GetPos() )); + + if ( iDoclistOffset>=iDocsSize || iDoclistOffset<0 ) + { +- LOC_FAIL(( fp, "unexpected doclist offset, off the file (wordid="UINT64_FMT"(%s)(%d), dictpos="INT64_FMT", doclistsize="INT64_FMT")", ++ LOC_FAIL(( fp, "unexpected doclist offset, off the file (wordid=" UINT64_FMT "(%s)(%d), dictpos=" INT64_FMT ", doclistsize=" INT64_FMT ")", + (uint64_t)uWordid, sWord, iWordsChecked, iDoclistOffset, iDocsSize )); + iWordsChecked++; + continue; +@@ -20047,17 +20047,17 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + const SphDocID_t * pID = sphBinarySearch ( dID.GetWritePtr(), dID.GetWritePtr() + dID.GetNumEntries() - 1, uDocID ); + if ( !pID ) + { +- LOC_FAIL(( fp, "row not found (wordid="UINT64_FMT"(%s), docid="DOCID_FMT")", ++ LOC_FAIL(( fp, "row not found (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ")", + uint64_t(uWordid), sWord, tDoc.m_uDocID )); + } else if ( tDoc.m_uDocID!=*pID ) + { +- LOC_FAIL(( fp, "row found but id mismatches (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", found="DOCID_FMT")", ++ LOC_FAIL(( fp, "row found but id mismatches (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", found=" DOCID_FMT ")", + uint64_t(uWordid), sWord, tDoc.m_uDocID, *pID )); + } + } + + if ( tDoc.m_uDocID<=uLastDocid ) +- LOC_FAIL(( fp, "docid decreased (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", lastid="DOCID_FMT")", ++ LOC_FAIL(( fp, "docid decreased (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", lastid=" DOCID_FMT ")", + uint64_t(uWordid), sWord, tDoc.m_uDocID, uLastDocid )); + + uLastDocid = tDoc.m_uDocID; +@@ -20068,7 +20068,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + if (!( pQword->m_iHitlistPos>>63 )) + { + if ( !bWordDict && pQword->m_iHitlistPos!=pQword->m_rdHitlist.GetPos() ) +- LOC_FAIL(( fp, "unexpected hitlist offset (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", expected="INT64_FMT", actual="INT64_FMT")", ++ LOC_FAIL(( fp, "unexpected hitlist offset (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", expected=" INT64_FMT ", actual=" INT64_FMT ")", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, + (int64_t)pQword->m_iHitlistPos, (int64_t)pQword->m_rdHitlist.GetPos() )); + } +@@ -20089,21 +20089,21 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + break; + + if ( !( uLastHit<uHit ) ) +- LOC_FAIL(( fp, "hit entries sorting order decreased (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", hit=%u, last=%u)", ++ LOC_FAIL(( fp, "hit entries sorting order decreased (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", hit=%u, last=%u)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, uHit, uLastHit )); + + if ( HITMAN::GetField ( uLastHit )==HITMAN::GetField ( uHit ) ) + { + if ( !( HITMAN::GetPos ( uLastHit )<HITMAN::GetPos ( uHit ) ) ) +- LOC_FAIL(( fp, "hit decreased (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", hit=%u, last=%u)", ++ LOC_FAIL(( fp, "hit decreased (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", hit=%u, last=%u)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, HITMAN::GetPos ( uHit ), HITMAN::GetPos ( uLastHit ) )); + if ( HITMAN::IsEnd ( uLastHit ) ) +- LOC_FAIL(( fp, "multiple tail hits (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", hit=0x%x, last=0x%x)", ++ LOC_FAIL(( fp, "multiple tail hits (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", hit=0x%x, last=0x%x)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, uHit, uLastHit )); + } else + { + if ( !( HITMAN::GetField ( uLastHit )<HITMAN::GetField ( uHit ) ) ) +- LOC_FAIL(( fp, "hit field decreased (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", hit field=%u, last field=%u)", ++ LOC_FAIL(( fp, "hit field decreased (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", hit field=%u, last field=%u)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, HITMAN::GetField ( uHit ), HITMAN::GetField ( uLastHit ) )); + } + +@@ -20112,12 +20112,12 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + int iField = HITMAN::GetField ( uHit ); + if ( iField<0 || iField>=SPH_MAX_FIELDS ) + { +- LOC_FAIL(( fp, "hit field out of bounds (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", field=%d)", ++ LOC_FAIL(( fp, "hit field out of bounds (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", field=%d)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, iField )); + + } else if ( iField>=m_tSchema.m_dFields.GetLength() ) + { +- LOC_FAIL(( fp, "hit field out of schema (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", field=%d)", ++ LOC_FAIL(( fp, "hit field out of schema (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", field=%d)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, iField )); + } else + { +@@ -20130,7 +20130,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // check hit count + if ( iDocHits!=(int)pQword->m_uMatchHits && !bHitless ) +- LOC_FAIL(( fp, "doc hit count mismatch (wordid="UINT64_FMT"(%s), docid="DOCID_FMT", doclist=%d, hitlist=%d)", ++ LOC_FAIL(( fp, "doc hit count mismatch (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ", doclist=%d, hitlist=%d)", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID, pQword->m_uMatchHits, iDocHits )); + + if ( GetMatchSchema().m_dFields.GetLength()>32 ) +@@ -20138,7 +20138,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // check the mask + if ( memcmp ( dFieldMask.m_dMask, pQword->m_dQwordFields.m_dMask, sizeof(dFieldMask.m_dMask) ) && !bHitless ) +- LOC_FAIL(( fp, "field mask mismatch (wordid="UINT64_FMT"(%s), docid="DOCID_FMT")", ++ LOC_FAIL(( fp, "field mask mismatch (wordid=" UINT64_FMT "(%s), docid=" DOCID_FMT ")", + (uint64_t)uWordid, sWord, pQword->m_tDoc.m_uDocID )); + + // update my hitlist reader +@@ -20147,11 +20147,11 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // do checks + if ( iDictDocs!=iDoclistDocs ) +- LOC_FAIL(( fp, "doc count mismatch (wordid="UINT64_FMT"(%s), dict=%d, doclist=%d, hitless=%s)", ++ LOC_FAIL(( fp, "doc count mismatch (wordid=" UINT64_FMT "(%s), dict=%d, doclist=%d, hitless=%s)", + uint64_t(uWordid), sWord, iDictDocs, iDoclistDocs, ( bHitless?"true":"false" ) )); + + if ( ( iDictHits!=iDoclistHits || iDictHits!=iHitlistHits ) && !bHitless ) +- LOC_FAIL(( fp, "hit count mismatch (wordid="UINT64_FMT"(%s), dict=%d, doclist=%d, hitlist=%d)", ++ LOC_FAIL(( fp, "hit count mismatch (wordid=" UINT64_FMT "(%s), dict=%d, doclist=%d, hitlist=%d)", + uint64_t(uWordid), sWord, iDictHits, iDoclistHits, iHitlistHits )); + + while ( m_bHaveSkips && iDoclistDocs>SPH_SKIPLIST_BLOCK && !bHitless ) +@@ -20231,7 +20231,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + iAllRowsTotal += (m_iDocinfoIndex+1)*2; // should had been fixed up to v.20 by the loader + + if ( iAllRowsTotal*uStride!=(int64_t)m_tAttr.GetNumEntries() ) +- LOC_FAIL(( fp, "rowitems count mismatch (expected="INT64_FMT", loaded="INT64_FMT")", ++ LOC_FAIL(( fp, "rowitems count mismatch (expected=" INT64_FMT ", loaded=" INT64_FMT ")", + iAllRowsTotal*uStride, (int64_t)m_tAttr.GetNumEntries() )); + + iStrEnd = rdString.GetFilesize(); +@@ -20291,7 +20291,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // 4 bytes must be enough to encode string length, hence pCur+4 + if ( rdString.GetPos()+iLen>iStrEnd || rdString.GetPos()>iLastPos+4 ) + { +- LOC_FAIL(( fp, "string length out of bounds (offset="INT64_FMT", len=%d)", iLastPos, iLen )); ++ LOC_FAIL(( fp, "string length out of bounds (offset=" INT64_FMT ", len=%d)", iLastPos, iLen )); + break; + } + +@@ -20313,7 +20313,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // check that ids are ascending + bool bIsSpaValid = ( uLastID<uCurID ); + if ( !bIsSpaValid ) +- LOC_FAIL(( fp, "docid decreased (row="INT64_FMT", id="DOCID_FMT", lastid="DOCID_FMT")", ++ LOC_FAIL(( fp, "docid decreased (row=" INT64_FMT ", id=" DOCID_FMT ", lastid=" DOCID_FMT ")", + iRow, uCurID, uLastID )); + + uLastID = uCurID; +@@ -20338,7 +20338,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + if ( uOffset && !bArena && uOffset>=iMvaEnd ) + { + bIsSpaValid = false; +- LOC_FAIL(( fp, "MVA index out of bounds (row="INT64_FMT", mvaattr=%d, docid="DOCID_FMT", index=%u)", ++ LOC_FAIL(( fp, "MVA index out of bounds (row=" INT64_FMT ", mvaattr=%d, docid=" DOCID_FMT ", index=%u)", + iRow, iItem, uLastID, uOffset )); + } + +@@ -20360,11 +20360,11 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + break; + + if ( bLastIDChecked && uLastID==uMvaID ) +- LOC_FAIL(( fp, "duplicate docid found (row="INT64_FMT", docid expected="DOCID_FMT", got="DOCID_FMT", index="INT64_FMT")", ++ LOC_FAIL(( fp, "duplicate docid found (row=" INT64_FMT ", docid expected=" DOCID_FMT ", got=" DOCID_FMT ", index=" INT64_FMT ")", + iRow, uLastID, uMvaID, iLastPos )); + + if ( uMvaID<uLastMvaID ) +- LOC_FAIL(( fp, "MVA docid decreased (row="INT64_FMT", spa docid="DOCID_FMT", last MVA docid="DOCID_FMT", MVA docid="DOCID_FMT", index="INT64_FMT")", ++ LOC_FAIL(( fp, "MVA docid decreased (row=" INT64_FMT ", spa docid=" DOCID_FMT ", last MVA docid=" DOCID_FMT ", MVA docid=" DOCID_FMT ", index=" INT64_FMT ")", + iRow, uLastID, uLastMvaID, uMvaID, iLastPos )); + + bool bIsMvaCorrect = ( uLastMvaID<=uMvaID && uMvaID<=uLastID ); +@@ -20389,7 +20389,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // check offset (index) + if ( uMvaID==uLastID && bIsSpaValid && rdMva.GetPos()!=sizeof(DWORD)*uSpaOffset ) + { +- LOC_FAIL(( fp, "unexpected MVA docid (row="INT64_FMT", mvaattr=%d, docid expected="DOCID_FMT", got="DOCID_FMT", expected="INT64_FMT", got=%u)", ++ LOC_FAIL(( fp, "unexpected MVA docid (row=" INT64_FMT ", mvaattr=%d, docid expected=" DOCID_FMT ", got=" DOCID_FMT ", expected=" INT64_FMT ", got=%u)", + iRow, iItem, uLastID, uMvaID, rdMva.GetPos()/sizeof(DWORD), uSpaOffset )); + // it's unexpected but it's our best guess + // but do fix up only once, to prevent infinite loop +@@ -20399,7 +20399,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + if ( rdMva.GetPos()>=iMvaEnd ) + { +- LOC_FAIL(( fp, "MVA index out of bounds (row="INT64_FMT", mvaattr=%d, docid expected="DOCID_FMT", got="DOCID_FMT", index="INT64_FMT")", ++ LOC_FAIL(( fp, "MVA index out of bounds (row=" INT64_FMT ", mvaattr=%d, docid expected=" DOCID_FMT ", got=" DOCID_FMT ", index=" INT64_FMT ")", + iRow, iItem, uLastID, uMvaID, rdMva.GetPos()/sizeof(DWORD) )); + bIsMvaCorrect = false; + continue; +@@ -20410,7 +20410,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + if ( rdMva.GetPos()+sizeof(DWORD)*uValues-1>=iMvaEnd ) + { +- LOC_FAIL(( fp, "MVA count out of bounds (row="INT64_FMT", mvaattr=%d, docid expected="DOCID_FMT", got="DOCID_FMT", count=%u)", ++ LOC_FAIL(( fp, "MVA count out of bounds (row=" INT64_FMT ", mvaattr=%d, docid expected=" DOCID_FMT ", got=" DOCID_FMT ", count=%u)", + iRow, iItem, uLastID, uMvaID, uValues )); + rdMva.SeekTo ( rdMva.GetPos() + sizeof(DWORD)*uValues, READ_NO_SIZE_HINT ); + bIsMvaCorrect = false; +@@ -20438,7 +20438,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + if ( iCur<=iPrev ) + { +- LOC_FAIL(( fp, "unsorted MVA values (row="INT64_FMT", mvaattr=%d, docid expected="DOCID_FMT", got="DOCID_FMT", val[%u]=%u, val[%u]=%u)", ++ LOC_FAIL(( fp, "unsorted MVA values (row=" INT64_FMT ", mvaattr=%d, docid expected=" DOCID_FMT ", got=" DOCID_FMT ", val[%u]=%u, val[%u]=%u)", + iRow, iItem, uLastID, uMvaID, ( iItem>=iMva64 ? uVal-2 : uVal-1 ), (unsigned int)iPrev, uVal, (unsigned int)iCur )); + bIsMvaCorrect = false; + } +@@ -20458,7 +20458,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + } + + if ( !bLastIDChecked && bHasValues && !bHasArena ) +- LOC_FAIL(( fp, "missed or damaged MVA (row="INT64_FMT", docid expected="DOCID_FMT")", ++ LOC_FAIL(( fp, "missed or damaged MVA (row=" INT64_FMT ", docid expected=" DOCID_FMT ")", + iRow, uLastID )); + } + +@@ -20475,12 +20475,12 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // check normalized + if ( uExp==0 && uMantissa!=0 ) +- LOC_FAIL(( fp, "float attribute value is unnormalized (row="INT64_FMT", attr=%d, id="DOCID_FMT", raw=0x%x, value=%f)", ++ LOC_FAIL(( fp, "float attribute value is unnormalized (row=" INT64_FMT ", attr=%d, id=" DOCID_FMT ", raw=0x%x, value=%f)", + iRow, iItem, uLastID, uValue, sphDW2F ( uValue ) )); + + // check +-inf + if ( uExp==0xff && uMantissa==0 ) +- LOC_FAIL(( fp, "float attribute is infinity (row="INT64_FMT", attr=%d, id="DOCID_FMT", raw=0x%x, value=%f)", ++ LOC_FAIL(( fp, "float attribute is infinity (row=" INT64_FMT ", attr=%d, id=" DOCID_FMT ", raw=0x%x, value=%f)", + iRow, iItem, uLastID, uValue, sphDW2F ( uValue ) )); + } + +@@ -20495,7 +20495,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + const DWORD uOffset = (DWORD)sphGetRowAttr ( pAttrs, dStrItems[ iItem ] ); + if ( uOffset>=iStrEnd ) + { +- LOC_FAIL(( fp, "string offset out of bounds (row="INT64_FMT", stringattr=%d, docid="DOCID_FMT", index=%u)", ++ LOC_FAIL(( fp, "string offset out of bounds (row=" INT64_FMT ", stringattr=%d, docid=" DOCID_FMT ", index=%u)", + iRow, iItem, uLastID, uOffset )); + continue; + } +@@ -20509,7 +20509,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // check that length is sane + if ( rdString.GetPos()+iLen-1>=iStrEnd ) + { +- LOC_FAIL(( fp, "string length out of bounds (row="INT64_FMT", stringattr=%d, docid="DOCID_FMT", index=%u)", ++ LOC_FAIL(( fp, "string length out of bounds (row=" INT64_FMT ", stringattr=%d, docid=" DOCID_FMT ", index=%u)", + iRow, iItem, uLastID, uOffset )); + continue; + } +@@ -20518,7 +20518,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // (that is, that we don't point in the middle of some other data) + if ( !dStringOffsets.BinarySearch ( uOffset ) ) + { +- LOC_FAIL(( fp, "string offset is not a string start (row="INT64_FMT", stringattr=%d, docid="DOCID_FMT", offset=%u)", ++ LOC_FAIL(( fp, "string offset is not a string start (row=" INT64_FMT ", stringattr=%d, docid=" DOCID_FMT ", offset=%u)", + iRow, iItem, uLastID, uOffset )); + } + } +@@ -20526,7 +20526,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // progress bar + if ( iRow%1000==0 && bProgress ) + { +- fprintf ( fp, INT64_FMT"/"INT64_FMT"\r", iRow, iRowsTotal ); ++ fprintf ( fp, INT64_FMT"/" INT64_FMT "\r", iRow, iRowsTotal ); + fflush ( fp ); + } + } +@@ -20543,7 +20543,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // check size + const int64_t iTempDocinfoIndex = ( m_iDocinfo+DOCINFO_INDEX_FREQ-1 ) / DOCINFO_INDEX_FREQ; + if ( iTempDocinfoIndex!=m_iDocinfoIndex ) +- LOC_FAIL(( fp, "block count differs (expected="INT64_FMT", got="INT64_FMT")", ++ LOC_FAIL(( fp, "block count differs (expected=" INT64_FMT ", got=" INT64_FMT ")", + iTempDocinfoIndex, m_iDocinfoIndex )); + + const DWORD uMinMaxStride = DOCINFO_IDSIZE + m_tSchema.GetRowSize(); +@@ -20569,12 +20569,12 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // check docid vs global range + if ( pMaxEntry+uMinMaxStride > pDocinfoIndexMax ) +- LOC_FAIL(( fp, "unexpected block index end (row="INT64_FMT", docid="DOCID_FMT", block="INT64_FMT", max="INT64_FMT", cur="INT64_FMT")", ++ LOC_FAIL(( fp, "unexpected block index end (row=" INT64_FMT ", docid=" DOCID_FMT ", block=" INT64_FMT ", max=" INT64_FMT ", cur=" INT64_FMT ")", + iIndexEntry, uDocID, iBlock, int64_t ( pDocinfoIndexMax-m_pDocinfoIndex ), int64_t ( pMaxEntry+uMinMaxStride-m_pDocinfoIndex ) )); + + // check attribute location vs global range + if ( pMaxAttrs+uMinMaxStride > pDocinfoIndexMax ) +- LOC_FAIL(( fp, "attribute position out of blocks index (row="INT64_FMT", docid="DOCID_FMT", block="INT64_FMT", expected<"INT64_FMT", got="INT64_FMT")", ++ LOC_FAIL(( fp, "attribute position out of blocks index (row=" INT64_FMT ", docid=" DOCID_FMT ", block=" INT64_FMT ", expected<" INT64_FMT ", got=" INT64_FMT ")", + iIndexEntry, uDocID, iBlock, int64_t ( pDocinfoIndexMax-m_pDocinfoIndex ), int64_t ( pMaxAttrs+uMinMaxStride-m_pDocinfoIndex ) )); + + const SphDocID_t uMinDocID = DOCINFO2ID ( pMinEntry ); +@@ -20582,12 +20582,12 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // checks is docid min max range valid + if ( uMinDocID > uMaxDocID && bIsBordersCheckTime ) +- LOC_FAIL(( fp, "invalid docid range (row="INT64_FMT", block="INT64_FMT", min="DOCID_FMT", max="DOCID_FMT")", ++ LOC_FAIL(( fp, "invalid docid range (row=" INT64_FMT ", block=" INT64_FMT ", min=" DOCID_FMT ", max=" DOCID_FMT ")", + iIndexEntry, iBlock, uMinDocID, uMaxDocID )); + + // checks docid vs blocks range + if ( uDocID < uMinDocID || uDocID > uMaxDocID ) +- LOC_FAIL(( fp, "unexpected docid range (row="INT64_FMT", docid="DOCID_FMT", block="INT64_FMT", min="DOCID_FMT", max="DOCID_FMT")", ++ LOC_FAIL(( fp, "unexpected docid range (row=" INT64_FMT ", docid=" DOCID_FMT ", block=" INT64_FMT ", min=" DOCID_FMT ", max=" DOCID_FMT ")", + iIndexEntry, uDocID, iBlock, uMinDocID, uMaxDocID )); + + bool bIsFirstMva = true; +@@ -20611,11 +20611,11 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // checks is attribute min max range valid + if ( uMin > uMax && bIsBordersCheckTime ) +- LOC_FAIL(( fp, "invalid attribute range (row="INT64_FMT", block="INT64_FMT", min="INT64_FMT", max="INT64_FMT")", ++ LOC_FAIL(( fp, "invalid attribute range (row=" INT64_FMT ", block=" INT64_FMT ", min=" INT64_FMT ", max=" INT64_FMT ")", + iIndexEntry, iBlock, uMin, uMax )); + + if ( uVal < uMin || uVal > uMax ) +- LOC_FAIL(( fp, "unexpected attribute value (row="INT64_FMT", attr=%u, docid="DOCID_FMT", block="INT64_FMT", value=0x"UINT64_FMT", min=0x"UINT64_FMT", max=0x"UINT64_FMT")", ++ LOC_FAIL(( fp, "unexpected attribute value (row=" INT64_FMT ", attr=%u, docid=" DOCID_FMT ", block=" INT64_FMT ", value=0x" UINT64_FMT ", min=0x" UINT64_FMT ", max=0x" UINT64_FMT ")", + iIndexEntry, iItem, uDocID, iBlock, uint64_t(uVal), uint64_t(uMin), uint64_t(uMax) )); + } + break; +@@ -20628,11 +20628,11 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // checks is attribute min max range valid + if ( fMin > fMax && bIsBordersCheckTime ) +- LOC_FAIL(( fp, "invalid attribute range (row="INT64_FMT", block="INT64_FMT", min=%f, max=%f)", ++ LOC_FAIL(( fp, "invalid attribute range (row=" INT64_FMT ", block=" INT64_FMT ", min=%f, max=%f)", + iIndexEntry, iBlock, fMin, fMax )); + + if ( fVal < fMin || fVal > fMax ) +- LOC_FAIL(( fp, "unexpected attribute value (row="INT64_FMT", attr=%u, docid="DOCID_FMT", block="INT64_FMT", value=%f, min=%f, max=%f)", ++ LOC_FAIL(( fp, "unexpected attribute value (row=" INT64_FMT ", attr=%u, docid=" DOCID_FMT ", block=" INT64_FMT ", value=%f, min=%f, max=%f)", + iIndexEntry, iItem, uDocID, iBlock, fVal, fMin, fMax )); + } + break; +@@ -20644,7 +20644,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // checks is MVA attribute min max range valid + if ( uMin > uMax && bIsBordersCheckTime && uMin!=0xffffffff && uMax!=0 ) +- LOC_FAIL(( fp, "invalid MVA range (row="INT64_FMT", block="INT64_FMT", min=0x%x, max=0x%x)", ++ LOC_FAIL(( fp, "invalid MVA range (row=" INT64_FMT ", block=" INT64_FMT ", min=0x%x, max=0x%x)", + iIndexEntry, iBlock, uMin, uMax )); + + SphAttr_t uOff = sphGetRowAttr ( pSpaRow, tCol.m_tLocator ); +@@ -20667,7 +20667,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + if ( uMvaDocID && uMvaDocID!=uDocID ) + { +- LOC_FAIL(( fp, "unexpected MVA docid (row="INT64_FMT", mvaattr=%d, expected="DOCID_FMT", got="DOCID_FMT", block="INT64_FMT", index=%u)", ++ LOC_FAIL(( fp, "unexpected MVA docid (row=" INT64_FMT ", mvaattr=%d, expected=" DOCID_FMT ", got=" DOCID_FMT ", block=" INT64_FMT ", index=%u)", + iIndexEntry, iItem, uDocID, uMvaDocID, iBlock, (DWORD)uOff )); + break; + } +@@ -20684,7 +20684,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + { + const DWORD uVal = dMva[iVal]; + if ( uVal < uMin || uVal > uMax ) +- LOC_FAIL(( fp, "unexpected MVA value (row="INT64_FMT", attr=%u, docid="DOCID_FMT", block="INT64_FMT", index=%u, value=0x%x, min=0x%x, max=0x%x)", ++ LOC_FAIL(( fp, "unexpected MVA value (row=" INT64_FMT ", attr=%u, docid=" DOCID_FMT ", block=" INT64_FMT ", index=%u, value=0x%x, min=0x%x, max=0x%x)", + iIndexEntry, iItem, uDocID, iBlock, iVal, (DWORD)uVal, (DWORD)uMin, (DWORD)uMax )); + } + } +@@ -20698,7 +20698,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + // progress bar + if ( iIndexEntry%1000==0 && bProgress ) + { +- fprintf ( fp, INT64_FMT"/"INT64_FMT"\r", iIndexEntry, m_iDocinfo ); ++ fprintf ( fp, INT64_FMT"/" INT64_FMT "\r", iIndexEntry, m_iDocinfo ); + fflush ( fp ); + } + } +@@ -20712,7 +20712,7 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + + // check size + if ( m_pKillList.GetNumEntries()!=m_uKillListSize ) +- LOC_FAIL(( fp, "kill-list size differs (expected=%d, got="INT64_FMT")", ++ LOC_FAIL(( fp, "kill-list size differs (expected=%d, got=" INT64_FMT ")", + m_uKillListSize, (int64_t)m_pKillList.GetNumEntries() )); + + // check that ids are ascending +@@ -20730,9 +20730,9 @@ int CSphIndex_VLN::DebugCheck ( FILE * fp ) + if ( !iFails ) + fprintf ( fp, "check passed" ); + else if ( iFails!=iFailsPrinted ) +- fprintf ( fp, "check FAILED, %d of "INT64_FMT" failures reported", iFailsPrinted, iFails ); ++ fprintf ( fp, "check FAILED, %d of " INT64_FMT " failures reported", iFailsPrinted, iFails ); + else +- fprintf ( fp, "check FAILED, "INT64_FMT" failures reported", iFails ); ++ fprintf ( fp, "check FAILED, " INT64_FMT " failures reported", iFails ); + fprintf ( fp, ", %d.%d sec elapsed\n", (int)(tmCheck/1000000), (int)((tmCheck/100000)%10) ); + + return (int)Min ( iFails, 255 ); // this is the exitcode; so cap it +@@ -22978,7 +22978,7 @@ void InfixBuilder_c<SIZE>::SaveEntries ( CSphWriter & + m_dBlocks[i].m_sInfix = pBlockWords+m_dBlocks[i].m_iInfixOffset; + + if ( wrDict.GetPos()>UINT_MAX ) // FIXME!!! change to int64 +- sphDie ( "INTERNAL ERROR: dictionary size "INT64_FMT" overflow at infix save", wrDict.GetPos() ); ++ sphDie ( "INTERNAL ERROR: dictionary size " INT64_FMT " overflow at infix save", wrDict.GetPos() ); + } + + +@@ -23603,7 +23603,7 @@ bool CSphDictKeywords::DictEnd ( DictHeader_t * pHeade + pHeader->m_iInfixBlocksOffset = pInfixer->SaveEntryBlocks ( m_wrDict ); + pHeader->m_iInfixBlocksWordsSize = pInfixer->GetBlocksWordsSize(); + if ( pHeader->m_iInfixBlocksOffset>UINT_MAX ) // FIXME!!! change to int64 +- sphDie ( "INTERNAL ERROR: dictionary size "INT64_FMT" overflow at dictend save", pHeader->m_iInfixBlocksOffset ); ++ sphDie ( "INTERNAL ERROR: dictionary size " INT64_FMT " overflow at dictend save", pHeader->m_iInfixBlocksOffset ); + } + + // flush header +@@ -23970,7 +23970,7 @@ const char * CSphDictKeywords::HitblockGetKeyword ( Sp + if ( m_dExceptions[i].m_pEntry->m_uWordid==uWordID ) + return m_dExceptions[i].m_pEntry->m_pKeyword; + +- sphWarning ( "hash missing value in operator [] (wordid="INT64_FMT", hash=%d)", (int64_t)uWordID, uHash ); ++ sphWarning ( "hash missing value in operator [] (wordid=" INT64_FMT ", hash=%d)", (int64_t)uWordID, uHash ); + assert ( 0 && "hash missing value in operator []" ); + return "\31oops"; + } +@@ -25934,7 +25934,7 @@ bool CSphSource_Document::CheckFileField ( const BYTE + int64_t iFileSize = tFileSource.GetSize(); + if ( iFileSize+16 > m_iMaxFileBufferSize ) + { +- sphWarning ( "docid=" DOCID_FMT ": file '%s' too big for a field (size="INT64_FMT", max_file_field_buffer=%d)", ++ sphWarning ( "docid=" DOCID_FMT ": file '%s' too big for a field (size=" INT64_FMT ", max_file_field_buffer=%d)", + m_tDocInfo.m_uDocID, (const char *)sField, iFileSize, m_iMaxFileBufferSize ); + return false; + } +@@ -25959,7 +25959,7 @@ int CSphSource_Document::LoadFileField ( BYTE ** ppFie + int64_t iFileSize = tFileSource.GetSize(); + if ( iFileSize+16 > m_iMaxFileBufferSize ) + { +- sphWarning ( "docid=" DOCID_FMT ": file '%s' too big for a field (size="INT64_FMT", max_file_field_buffer=%d)", ++ sphWarning ( "docid=" DOCID_FMT ": file '%s' too big for a field (size=" INT64_FMT ", max_file_field_buffer=%d)", + m_tDocInfo.m_uDocID, (const char *)sField, iFileSize, m_iMaxFileBufferSize ); + return -1; + } +@@ -26825,10 +26825,10 @@ bool CSphSource_SQL::SetupRanges ( const char * sRange + { + // check step + if ( m_tParams.m_iRangeStep<=0 ) +- LOC_ERROR ( "sql_range_step="INT64_FMT": must be non-zero positive", m_tParams.m_iRangeStep ); ++ LOC_ERROR ( "sql_range_step=" INT64_FMT ": must be non-zero positive", m_tParams.m_iRangeStep ); + + if ( m_tParams.m_iRangeStep<128 ) +- sphWarn ( "sql_range_step="INT64_FMT": too small; might hurt indexing performance!", m_tParams.m_iRangeStep ); ++ sphWarn ( "sql_range_step=" INT64_FMT ": too small; might hurt indexing performance!", m_tParams.m_iRangeStep ); + + // check query for macros + for ( int i=0; i<MACRO_COUNT; i++ ) +@@ -26884,11 +26884,11 @@ bool CSphSource_SQL::SetupRanges ( const char * sRange + if ( !HookQueryRange ( m_tParams.m_sHookQueryRange.cstr(), &m_uMinID, &m_uMaxID ) ) + LOC_ERROR ( "hook_query_range: runtime error %s when running external hook", strerror(errno) ); + if ( m_uMinID<=0 ) +- LOC_ERROR ( "hook_query_range: min_id="DOCID_FMT": must be positive 32/64-bit unsigned integer", m_uMinID ); ++ LOC_ERROR ( "hook_query_range: min_id=" DOCID_FMT ": must be positive 32/64-bit unsigned integer", m_uMinID ); + if ( m_uMaxID<=0 ) +- LOC_ERROR ( "hook_query_range: max_id="DOCID_FMT": must be positive 32/64-bit unsigned integer", m_uMaxID ); ++ LOC_ERROR ( "hook_query_range: max_id=" DOCID_FMT ": must be positive 32/64-bit unsigned integer", m_uMaxID ); + if ( m_uMinID>m_uMaxID ) +- LOC_ERROR2 ( "hook_query_range: min_id="DOCID_FMT", max_id="DOCID_FMT": min_id must be less than max_id", m_uMinID, m_uMaxID ); ++ LOC_ERROR2 ( "hook_query_range: min_id=" DOCID_FMT ", max_id=" DOCID_FMT ": min_id must be less than max_id", m_uMinID, m_uMaxID ); + } + + return true; +@@ -27491,7 +27491,7 @@ const char * CSphSource_SQL::SqlUnpackColumn ( int iFi + { + m_bUnpackFailed = true; + sphWarn ( "failed to unpack '%s', invalid column size (size=%d), " +- "docid="DOCID_FMT, SqlFieldName(iIndex), iPackedLen, m_tDocInfo.m_uDocID ); ++ "docid=" DOCID_FMT, SqlFieldName(iIndex), iPackedLen, m_tDocInfo.m_uDocID ); + } + return NULL; + } +@@ -27507,7 +27507,7 @@ const char * CSphSource_SQL::SqlUnpackColumn ( int iFi + { + m_bUnpackOverflow = true; + sphWarn ( "failed to unpack '%s', column size limit exceeded (size=%d)," +- " docid="DOCID_FMT, SqlFieldName(iIndex), (int)uSize, m_tDocInfo.m_uDocID ); ++ " docid=" DOCID_FMT, SqlFieldName(iIndex), (int)uSize, m_tDocInfo.m_uDocID ); + } + return NULL; + } +@@ -31110,7 +31110,7 @@ const char * CSphIndexProgress::BuildMessage() const + switch ( m_ePhase ) + { + case PHASE_COLLECT: +- snprintf ( sBuf, sizeof(sBuf), "collected "INT64_FMT" docs, %.1f MB", m_iDocuments, ++ snprintf ( sBuf, sizeof(sBuf), "collected " INT64_FMT " docs, %.1f MB", m_iDocuments, + float(m_iBytes)/1000000.0f ); + break; + +@@ -31120,7 +31120,7 @@ const char * CSphIndexProgress::BuildMessage() const + break; + + case PHASE_COLLECT_MVA: +- snprintf ( sBuf, sizeof(sBuf), "collected "INT64_FMT" attr values", m_iAttrs ); ++ snprintf ( sBuf, sizeof(sBuf), "collected " INT64_FMT " attr values", m_iAttrs ); + break; + + case PHASE_SORT_MVA: +@@ -32095,7 +32095,7 @@ void sphDictBuildInfixes ( const char * sPath ) + tDictHeader.m_iInfixBlocksOffset = pInfixer->SaveEntryBlocks ( wrDict ); + tDictHeader.m_iInfixBlocksWordsSize = pInfixer->GetBlocksWordsSize(); + if ( tDictHeader.m_iInfixBlocksOffset>UINT_MAX ) // FIXME!!! change to int64 +- sphDie ( "INTERNAL ERROR: dictionary size "INT64_FMT" overflow at build infixes save", tDictHeader.m_iInfixBlocksOffset ); ++ sphDie ( "INTERNAL ERROR: dictionary size " INT64_FMT " overflow at build infixes save", tDictHeader.m_iInfixBlocksOffset ); + + + // flush header +@@ -32579,7 +32579,7 @@ void sphDictBuildSkiplists ( const char * sPath ) + wrDict.PutBytes ( g_sTagInfixBlocks, strlen ( g_sTagInfixBlocks ) ); + tDictHeader.m_iInfixBlocksOffset = wrDict.GetPos(); + if ( tDictHeader.m_iInfixBlocksOffset>UINT_MAX ) // FIXME!!! change to int64 +- sphDie ( "INTERNAL ERROR: dictionary size "INT64_FMT" overflow at infix blocks save", wrDict.GetPos() ); ++ sphDie ( "INTERNAL ERROR: dictionary size " INT64_FMT " overflow at infix blocks save", wrDict.GetPos() ); + + wrDict.ZipInt ( iBlocks ); + for ( int i=0; i<iBlocks; i++ ) Index: patches/patch-src_sphinxjson_cpp =================================================================== RCS file: patches/patch-src_sphinxjson_cpp diff -N patches/patch-src_sphinxjson_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sphinxjson_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: src/sphinxjson.cpp +--- src/sphinxjson.cpp.orig ++++ src/sphinxjson.cpp +@@ -414,7 +414,7 @@ class JsonParser_c : ISphNoncopyable (public) + switch ( eType ) + { + case JSON_INT32: printf ( "JSON_INT32 %d\n", sphJsonLoadInt ( &p ) ); break; +- case JSON_INT64: printf ( "JSON_INT64 "INT64_FMT"\n", sphJsonLoadBigint ( &p ) ); break; ++ case JSON_INT64: printf ( "JSON_INT64 " INT64_FMT "\n", sphJsonLoadBigint ( &p ) ); break; + case JSON_DOUBLE: printf ( "JSON_DOUBLE %lf\n", sphQW2D ( sphJsonLoadBigint ( &p ) ) ); break; + case JSON_STRING: + { Index: patches/patch-src_sphinxplugin_cpp =================================================================== RCS file: patches/patch-src_sphinxplugin_cpp diff -N patches/patch-src_sphinxplugin_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sphinxplugin_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: src/sphinxplugin.cpp +--- src/sphinxplugin.cpp.orig ++++ src/sphinxplugin.cpp +@@ -188,7 +188,7 @@ bool sphPluginParseSpec ( const CSphString & sParams, + + struct SymbolDesc_t + { +- int m_iOffsetOf; ///< pointer member location in the descriptor structure ++ long m_iOffsetOf; ///< pointer member location in the descriptor structure + const char * m_sPostfix; ///< symbol name postfix + bool m_bRequired; ///< whether this symbol must be present + }; Index: patches/patch-src_sphinxrt_cpp =================================================================== RCS file: patches/patch-src_sphinxrt_cpp diff -N patches/patch-src_sphinxrt_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sphinxrt_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,602 @@ +$OpenBSD$ + +Index: src/sphinxrt.cpp +--- src/sphinxrt.cpp.orig ++++ src/sphinxrt.cpp +@@ -1391,7 +1391,7 @@ void RtIndex_t::ForceRamFlush ( bool bPeriodic ) + Verify ( m_tWriting.Unlock() ); + + tmSave = sphMicroTimer() - tmSave; +- sphInfo ( "rt: index %s: ramchunk saved ok (mode=%s, last TID="INT64_FMT", current TID="INT64_FMT", " ++ sphInfo ( "rt: index %s: ramchunk saved ok (mode=%s, last TID=" INT64_FMT ", current TID=" INT64_FMT ", " + "ram=%d.%03d Mb, time delta=%d sec, took=%d.%03d sec)" + , m_sIndexName.cstr(), bPeriodic ? "periodic" : "forced" + , iWasTID, m_iTID, (int)(iUsedRam/1024/1024), (int)((iUsedRam/1024)%1000) +@@ -1488,7 +1488,7 @@ bool RtIndex_t::AddDocument ( int iFields, const char + + if ( bGotID ) + { +- sError.SetSprintf ( "duplicate id '"UINT64_FMT"'", (uint64_t)tDoc.m_uDocID ); ++ sError.SetSprintf ( "duplicate id '" UINT64_FMT "'", (uint64_t)tDoc.m_uDocID ); + return false; // already exists and not deleted; INSERT fails + } + } +@@ -3734,7 +3734,7 @@ void RtIndex_t::SaveDiskDataImpl ( const char * sFilen + iInfixCheckpointWordsSize = pInfixer->GetBlocksWordsSize(); + + if ( iInfixBlockOffset>UINT_MAX ) +- sphWarning ( "INTERNAL ERROR: dictionary size "INT64_FMT" overflow at infix save", iInfixBlockOffset ); ++ sphWarning ( "INTERNAL ERROR: dictionary size " INT64_FMT " overflow at infix save", iInfixBlockOffset ); + } + + // flush header +@@ -4523,7 +4523,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + LOC_FAIL(( fp, "wrong attribute stride (current=%d, should_be=%d)", m_iStride, DOCINFO_IDSIZE+m_tSchema.GetRowSize() )); + + if ( m_iSoftRamLimit<=0 ) +- LOC_FAIL(( fp, "wrong RAM limit (current="INT64_FMT")", m_iSoftRamLimit )); ++ LOC_FAIL(( fp, "wrong RAM limit (current=" INT64_FMT ")", m_iSoftRamLimit )); + + if ( m_iLockFD<0 ) + LOC_FAIL(( fp, "index lock file id < 0" )); +@@ -4532,13 +4532,13 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + LOC_FAIL(( fp, "disk chunk base < 0" )); + + if ( m_iTID<0 ) +- LOC_FAIL(( fp, "index TID < 0 (current="INT64_FMT")", m_iTID )); ++ LOC_FAIL(( fp, "index TID < 0 (current=" INT64_FMT ")", m_iTID )); + + if ( m_iSavedTID<0 ) +- LOC_FAIL(( fp, "index saved TID < 0 (current="INT64_FMT")", m_iSavedTID )); ++ LOC_FAIL(( fp, "index saved TID < 0 (current=" INT64_FMT ")", m_iSavedTID )); + + if ( m_iTID<m_iSavedTID ) +- LOC_FAIL(( fp, "index TID < index saved TID (current="INT64_FMT", saved="INT64_FMT")", m_iTID, m_iSavedTID )); ++ LOC_FAIL(( fp, "index TID < index saved TID (current=" INT64_FMT ", saved=" INT64_FMT ")", m_iTID, m_iSavedTID )); + + if ( m_iWordsCheckpoint!=RTDICT_CHECKPOINT_V3 && m_iWordsCheckpoint!=RTDICT_CHECKPOINT_V5 ) + LOC_FAIL(( fp, "unexpected number of words per checkpoint (expected 1024 or 48, got %d)", m_iWordsCheckpoint )); +@@ -4706,7 +4706,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + if ( tWord.m_uWordID<=uPrevWordID ) + { +- LOC_FAIL(( fp, "wordid decreased (segment=%d, word=%d, wordid="UINT64_FMT", previd="UINT64_FMT")", ++ LOC_FAIL(( fp, "wordid decreased (segment=%d, word=%d, wordid=" UINT64_FMT ", previd=" UINT64_FMT ")", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)uPrevWordID )); + } + +@@ -4735,7 +4735,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( !tWord.m_uDocs || !tWord.m_uHits || tWord.m_uHits<tWord.m_uDocs ) + { + sWord[sizeof(sWord)-1] = '\0'; +- LOC_FAIL(( fp, "invalid docs/hits (segment=%d, word=%d, read_wordid="UINT64_FMT ++ LOC_FAIL(( fp, "invalid docs/hits (segment=%d, word=%d, read_wordid=" UINT64_FMT + ", read_word=%s, docs=%u, hits=%u)", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, + sWord+1, tWord.m_uDocs, tWord.m_uHits )); +@@ -4758,7 +4758,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + if ( uPrevDocOffset && tWord.m_uDoc<=uPrevDocOffset ) + LOC_FAIL(( fp, "doclist offset decreased (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, prev_doclist_offset=%u)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, prev_doclist_offset=%u)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, tWord.m_uDoc, uPrevDocOffset )); + +@@ -4766,7 +4766,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + DWORD uDocOffset = pCurDoc-tSegment.m_dDocs.Begin(); + if ( tWord.m_uDoc!=uDocOffset ) + { +- LOC_FAIL(( fp, "unexpected doclist offset (wordid="UINT64_FMT"(%s)(%d), " ++ LOC_FAIL(( fp, "unexpected doclist offset (wordid=" UINT64_FMT "(%s)(%d), " + "doclist_offset=%u, expected_offset=%u)", + (uint64_t)tWord.m_uWordID, sWord+1, nWordsRead, + tWord.m_uDoc, uDocOffset )); +@@ -4799,7 +4799,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( pIn>=pMaxDoc ) + { + LOC_FAIL(( fp, "reading past doclist end (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, doclist_size=%d)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, doclist_size=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, uDocOffset, tSegment.m_dDocs.GetLength() )); + break; +@@ -4811,7 +4811,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( pIn>=pMaxDoc ) + { + LOC_FAIL(( fp, "reading past doclist end (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, doclist_size=%d)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, doclist_size=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, uDocOffset, tSegment.m_dDocs.GetLength() )); + break; +@@ -4822,7 +4822,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( pIn>=pMaxDoc ) + { + LOC_FAIL(( fp, "reading past doclist end (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, doclist_size=%d)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, doclist_size=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, uDocOffset, tSegment.m_dDocs.GetLength() )); + break; +@@ -4837,7 +4837,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( pIn>=pMaxDoc ) + { + LOC_FAIL(( fp, "reading past doclist end (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, doclist_size=%d)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, doclist_size=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, uDocOffset, tSegment.m_dDocs.GetLength() )); + break; +@@ -4847,7 +4847,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( pIn>pMaxDoc ) + { + LOC_FAIL(( fp, "reading past doclist end (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, doclist_size=%d)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, doclist_size=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, uDocOffset, tSegment.m_dDocs.GetLength() )); + break; +@@ -4860,7 +4860,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( pIn>pMaxDoc ) + { + LOC_FAIL(( fp, "reading past doclist end (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, doclist_offset=%u, doclist_size=%d)", ++ "read_wordid=" UINT64_FMT ", read_word=%s, doclist_offset=%u, doclist_size=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, uDocOffset, tSegment.m_dDocs.GetLength() )); + break; +@@ -4871,14 +4871,14 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( tDoc.m_uDocID<=uPrevDocID ) + { + LOC_FAIL(( fp, "docid decreased (segment=%d, word=%d, " +- "read_wordid="UINT64_FMT", read_word=%s, docid="UINT64_FMT", prev_docid="UINT64_FMT")", ++ "read_wordid=" UINT64_FMT ", read_word=%s, docid=" UINT64_FMT ", prev_docid=" UINT64_FMT ")", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, sWord+1, (uint64_t)tDoc.m_uDocID, (uint64_t)uPrevDocID )); + } + + if ( !tSegment.FindRow ( tDoc.m_uDocID ) ) + LOC_FAIL(( fp, "no attributes found (segment=%d, word=%d, " +- "wordid="UINT64_FMT", docid="UINT64_FMT")", ++ "wordid=" UINT64_FMT ", docid=" UINT64_FMT ")", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID )); + +@@ -4893,14 +4893,14 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( iCounter!=1 || tDoc.m_uHits!=1 ) + { + LOC_FAIL(( fp, "embedded hit with multiple occurences in a document found " +- "(segment=%d, word=%d, wordid="UINT64_FMT", docid="UINT64_FMT")", ++ "(segment=%d, word=%d, wordid=" UINT64_FMT ", docid=" UINT64_FMT ")", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID )); + } + + if ( (int)uFieldId>m_tSchema.m_dFields.GetLength() || uFieldId>SPH_MAX_FIELDS ) + { + LOC_FAIL(( fp, "invalid field id in an embedded hit (segment=%d, word=%d, " +- "wordid="UINT64_FMT", docid="UINT64_FMT", field_id=%u, total_fields=%d)", ++ "wordid=" UINT64_FMT ", docid=" UINT64_FMT ", field_id=%u, total_fields=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, uFieldId, m_tSchema.m_dFields.GetLength() )); + } +@@ -4908,7 +4908,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( !( tDoc.m_uDocFields & ( 1 << uFieldId ) ) ) + { + LOC_FAIL(( fp, "invalid field id: not in doclist mask (segment=%d, word=%d, " +- "wordid="UINT64_FMT", docid="UINT64_FMT", field_id=%u, field_mask=%u)", ++ "wordid=" UINT64_FMT ", docid=" UINT64_FMT ", field_id=%u, field_mask=%u)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, uFieldId, tDoc.m_uDocFields )); + } +@@ -4918,14 +4918,14 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( tDoc.m_uHit!=uExpectedHitOffset ) + { + LOC_FAIL(( fp, "unexpected hitlist offset (segment=%d, word=%d, " +- "wordid="UINT64_FMT", docid="UINT64_FMT", offset=%u, expected_offset=%u", ++ "wordid=" UINT64_FMT ", docid=" UINT64_FMT ", offset=%u, expected_offset=%u", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, tDoc.m_uHit, uExpectedHitOffset )); + } + + if ( tDoc.m_uHit && tDoc.m_uHit<=uPrevHitOffset ) + { +- LOC_FAIL(( fp, "hitlist offset decreased (segment=%d, word=%d, wordid="UINT64_FMT", docid="UINT64_FMT", offset=%u, prev_offset=%u", ++ LOC_FAIL(( fp, "hitlist offset decreased (segment=%d, word=%d, wordid=" UINT64_FMT ", docid=" UINT64_FMT ", offset=%u, prev_offset=%u", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, tDoc.m_uHit, uPrevHitOffset )); + } + +@@ -4941,7 +4941,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + pCurHit = UnzipDword ( &uValue, pCurHit ); + if ( pCurHit>pMaxHit ) + { +- LOC_FAIL(( fp, "reading past hitlist end (segment=%d, word=%d, wordid="UINT64_FMT", docid="UINT64_FMT")", ++ LOC_FAIL(( fp, "reading past hitlist end (segment=%d, word=%d, wordid=" UINT64_FMT ", docid=" UINT64_FMT ")", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID )); + break; + } +@@ -4955,7 +4955,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( (int)uFieldId>m_tSchema.m_dFields.GetLength() || uFieldId>SPH_MAX_FIELDS ) + { + LOC_FAIL(( fp, "invalid field id in a hitlist (segment=%d, word=%d, " +- "wordid="UINT64_FMT", docid="UINT64_FMT", field_id=%u, total_fields=%d)", ++ "wordid=" UINT64_FMT ", docid=" UINT64_FMT ", field_id=%u, total_fields=%d)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, uFieldId, m_tSchema.m_dFields.GetLength() )); + } +@@ -4963,7 +4963,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + if ( !( tDoc.m_uDocFields & ( 1 << uFieldId ) ) ) + { + LOC_FAIL(( fp, "invalid field id: not in doclist mask (segment=%d, word=%d, " +- "wordid="UINT64_FMT", docid="UINT64_FMT", field_id=%u, field_mask=%u)", ++ "wordid=" UINT64_FMT ", docid=" UINT64_FMT ", field_id=%u, field_mask=%u)", + iSegment, nWordsRead, + (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, uFieldId, tDoc.m_uDocFields )); + } +@@ -4976,13 +4976,13 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + if ( uLastPosInField && uPosInField<=uLastPosInField ) + { +- LOC_FAIL(( fp, "hit position in field decreased (segment=%d, word=%d, wordid="UINT64_FMT", docid="UINT64_FMT", pos=%u, last_pos=%u)", ++ LOC_FAIL(( fp, "hit position in field decreased (segment=%d, word=%d, wordid=" UINT64_FMT ", docid=" UINT64_FMT ", pos=%u, last_pos=%u)", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, uPosInField, uLastPosInField )); + } + + if ( bLastInField && bLastInFieldFound ) + { +- LOC_FAIL(( fp, "duplicate last-in-field hit found (segment=%d, word=%d, wordid="UINT64_FMT", docid="UINT64_FMT")", ++ LOC_FAIL(( fp, "duplicate last-in-field hit found (segment=%d, word=%d, wordid=" UINT64_FMT ", docid=" UINT64_FMT ")", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID )); + } + +@@ -4997,7 +4997,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + DWORD uAvailFieldMask = ( 1 << m_tSchema.m_dFields.GetLength() ) - 1; + if ( tDoc.m_uDocFields & ~uAvailFieldMask ) + { +- LOC_FAIL(( fp, "wrong document field mask (segment=%d, word=%d, wordid="UINT64_FMT", docid="UINT64_FMT", mask=%u, total_fields=%d", ++ LOC_FAIL(( fp, "wrong document field mask (segment=%d, word=%d, wordid=" UINT64_FMT ", docid=" UINT64_FMT ", mask=%u, total_fields=%d", + iSegment, nWordsRead, (uint64_t)tWord.m_uWordID, (uint64_t)tDoc.m_uDocID, tDoc.m_uDocFields, m_tSchema.m_dFields.GetLength() )); + } + +@@ -5041,7 +5041,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + i, iSegment, tCP.m_sWord, tCP.m_iOffset, tRefCP.m_sWord, tRefCP.m_iOffset )); + } else + { +- LOC_FAIL(( fp, "word checkpoint %d differs (segment=%d, readid="UINT64_FMT", readpos=%d, calcid="UINT64_FMT", calcpos=%d)", ++ LOC_FAIL(( fp, "word checkpoint %d differs (segment=%d, readid=" UINT64_FMT ", readpos=%d, calcid=" UINT64_FMT ", calcpos=%d)", + i, iSegment, (uint64_t)tCP.m_uWordID, tCP.m_iOffset, (int64_t)tRefCP.m_uWordID, tRefCP.m_iOffset )); + } + } +@@ -5151,7 +5151,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + for ( DWORD uRow=0; pRow<pRowMax; uRow++, pRow+=m_iStride ) + { + if ( uLastID>=DOCINFO2ID(pRow) ) +- LOC_FAIL(( fp, "docid decreased in attributes (segment=%d, row=%u, docid="DOCID_FMT", lastid="DOCID_FMT")", ++ LOC_FAIL(( fp, "docid decreased in attributes (segment=%d, row=%u, docid=" DOCID_FMT ", lastid=" DOCID_FMT ")", + iSegment, uRow, DOCINFO2ID(pRow), uLastID )); + + uLastID = DOCINFO2ID(pRow); +@@ -5172,14 +5172,14 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + if ( pMvaBase+uOffset>=pMvaMax ) + { +- LOC_FAIL(( fp, "MVA index out of bounds (segment=%d, row=%u, mvaattr=%d, docid="DOCID_FMT", index=%u)", ++ LOC_FAIL(( fp, "MVA index out of bounds (segment=%d, row=%u, mvaattr=%d, docid=" DOCID_FMT ", index=%u)", + iSegment, uRow, iItem, uLastID, uOffset )); + continue; + } + + if ( pMvaCur!=pMvaBase+uOffset ) + { +- LOC_FAIL(( fp, "wrong MVA offset (segment=%d, row=%u, mvaattr=%d, docid="DOCID_FMT", expected=%u, got=%u)", ++ LOC_FAIL(( fp, "wrong MVA offset (segment=%d, row=%u, mvaattr=%d, docid=" DOCID_FMT ", expected=%u, got=%u)", + iSegment, uRow, iItem, uLastID, (DWORD)(pMvaCur-pMvaBase), uOffset )); + + pMvaCur = pMvaBase+uOffset; +@@ -5190,7 +5190,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + if ( pMvaCur+uValues-1>=pMvaMax ) + { +- LOC_FAIL(( fp, "MVA count out of bounds (segment=%d, row=%u, mvaattr=%d, docid="DOCID_FMT", count=%u)", ++ LOC_FAIL(( fp, "MVA count out of bounds (segment=%d, row=%u, mvaattr=%d, docid=" DOCID_FMT ", count=%u)", + iSegment, uRow, iItem, uLastID, uValues )); + pMvaCur += uValues; + continue; +@@ -5214,7 +5214,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + if ( iCur<=iPrev ) + { +- LOC_FAIL(( fp, "unsorted MVA values (segment=%d, row=%u, mvaattr=%d, docid="DOCID_FMT", val[%u]="INT64_FMT", val[%u]="INT64_FMT")", ++ LOC_FAIL(( fp, "unsorted MVA values (segment=%d, row=%u, mvaattr=%d, docid=" DOCID_FMT ", val[%u]=" INT64_FMT ", val[%u]=" INT64_FMT ")", + iSegment, uRow, iItem, uLastID, ( iItem>=iMva64 ? uVal-2 : uVal-1 ), iPrev, uVal, iCur )); + } + +@@ -5238,12 +5238,12 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + + // check normalized + if ( uExp==0 && uMantissa!=0 ) +- LOC_FAIL(( fp, "float attribute value is unnormalized (segment=%d, row=%u, attr=%d, id="DOCID_FMT", raw=0x%x, value=%f)", ++ LOC_FAIL(( fp, "float attribute value is unnormalized (segment=%d, row=%u, attr=%d, id=" DOCID_FMT ", raw=0x%x, value=%f)", + iSegment, uRow, iItem, uLastID, uValue, sphDW2F ( uValue ) )); + + // check +-inf + if ( uExp==0xff && uMantissa==0 ) +- LOC_FAIL(( fp, "float attribute is infinity (segment=%d, row=%u, attr=%d, id="DOCID_FMT", raw=0x%x, value=%f)", ++ LOC_FAIL(( fp, "float attribute is infinity (segment=%d, row=%u, attr=%d, id=" DOCID_FMT ", raw=0x%x, value=%f)", + iSegment, uRow, iItem, uLastID, uValue, sphDW2F ( uValue ) )); + } + +@@ -5258,7 +5258,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + const DWORD uOffset = (DWORD)sphGetRowAttr ( pAttrs, dStrItems[iItem] ); + if ( uOffset>=(DWORD)tSegment.m_dStrings.GetLength() ) + { +- LOC_FAIL(( fp, "string offset out of bounds (segment=%d, row=%u, stringattr=%d, docid="DOCID_FMT", index=%u)", ++ LOC_FAIL(( fp, "string offset out of bounds (segment=%d, row=%u, stringattr=%d, docid=" DOCID_FMT ", index=%u)", + iSegment, uRow, iItem, uLastID, uOffset )); + continue; + } +@@ -5267,12 +5267,12 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + continue; + + if ( uLastStrOffset>=uOffset ) +- LOC_FAIL(( fp, "string offset decreased (segment=%d, row=%u, stringattr=%d, docid="DOCID_FMT", offset=%u, last_offset=%u)", ++ LOC_FAIL(( fp, "string offset decreased (segment=%d, row=%u, stringattr=%d, docid=" DOCID_FMT ", offset=%u, last_offset=%u)", + iSegment, uRow, iItem, uLastID, uOffset, uLastStrOffset )); + + if ( !dStringOffsets.BinarySearch ( uOffset ) ) + { +- LOC_FAIL(( fp, "string offset is not a string start (segment=%d, row=%u, stringattr=%d, docid="DOCID_FMT", offset=%u)", ++ LOC_FAIL(( fp, "string offset is not a string start (segment=%d, row=%u, stringattr=%d, docid=" DOCID_FMT ", offset=%u)", + iSegment, uRow, iItem, uLastID, uOffset )); + } else + nUsedStrings++; +@@ -5307,7 +5307,7 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + const DWORD uOffset = (DWORD)sphGetRowAttr ( pAttrs, dJsonItems[iItem] ); + if ( uOffset>=(DWORD)tSegment.m_dStrings.GetLength() ) + { +- LOC_FAIL(( fp, "string(JSON) offset out of bounds (segment=%d, row=%u, stringattr=%d, docid="DOCID_FMT", index=%u)", ++ LOC_FAIL(( fp, "string(JSON) offset out of bounds (segment=%d, row=%u, stringattr=%d, docid=" DOCID_FMT ", index=%u)", + iSegment, uRow, iItem, uLastID, uOffset )); + continue; + } +@@ -5316,12 +5316,12 @@ int RtIndex_t::DebugCheck ( FILE * fp ) + continue; + + if ( uLastStrOffset>=uOffset ) +- LOC_FAIL(( fp, "string(JSON) offset decreased (segment=%d, row=%u, stringattr=%d, docid="DOCID_FMT", offset=%u, last_offset=%u)", ++ LOC_FAIL(( fp, "string(JSON) offset decreased (segment=%d, row=%u, stringattr=%d, docid=" DOCID_FMT ", offset=%u, last_offset=%u)", + iSegment, uRow, iItem, uLastID, uOffset, uLastStrOffset )); + + if ( !dStringOffsets.BinarySearch ( uOffset ) ) + { +- LOC_FAIL(( fp, "string(JSON) offset is not a string start (segment=%d, row=%u, stringattr=%d, docid="DOCID_FMT", offset=%u)", ++ LOC_FAIL(( fp, "string(JSON) offset is not a string start (segment=%d, row=%u, stringattr=%d, docid=" DOCID_FMT ", offset=%u)", + iSegment, uRow, iItem, uLastID, uOffset )); + } else + nUsedJsons++; +@@ -8106,7 +8106,7 @@ bool RtIndex_t::AttachDiskIndex ( CSphIndex * pIndex, + if ( iCount + pIndex->GetKillListSize()!=iSizeMax ) + { + SafeDeleteArray ( pIndexDocList ); +- sError.SetSprintf ( "ATTACH failed, documents overflow (count="INT64_FMT", size max="INT64_FMT")", iCount + pIndex->GetKillListSize(), iSizeMax ); ++ sError.SetSprintf ( "ATTACH failed, documents overflow (count=" INT64_FMT ", size max=" INT64_FMT ")", iCount + pIndex->GetKillListSize(), iSizeMax ); + return false; + } + +@@ -8158,7 +8158,7 @@ bool RtIndex_t::AttachDiskIndex ( CSphIndex * pIndex, + if ( iCount!=iSizeMax ) + { + SafeDeleteArray ( pCombined ); +- sError.SetSprintf ( "ATTACH failed, kill-list overflow (size="INT64_FMT", size max="INT64_FMT")", iCount, iSizeMax ); ++ sError.SetSprintf ( "ATTACH failed, kill-list overflow (size=" INT64_FMT ", size max=" INT64_FMT ")", iCount, iSizeMax ); + return false; + } + +@@ -8755,7 +8755,7 @@ bool BinlogReader_c::CheckCrc ( const char * sOp, cons + ResetCrc(); + bool bPassed = ( uRef==uCRC ); + if ( !bPassed ) +- sphWarning ( "binlog: %s: CRC mismatch (index=%s, tid="INT64_FMT", pos="INT64_FMT")", sOp, sIndexName ? sIndexName : "", iTid, iTxnPos ); ++ sphWarning ( "binlog: %s: CRC mismatch (index=%s, tid=" INT64_FMT ", pos=" INT64_FMT ")", sOp, sIndexName ? sIndexName : "", iTid, iTxnPos ); + return bPassed; + } + +@@ -8977,7 +8977,7 @@ void RtBinlog_c::BinlogReconfigure ( int64_t * pTID, c + void RtBinlog_c::NotifyIndexFlush ( const char * sIndexName, int64_t iTID, bool bShutdown ) + { + if ( m_bReplayMode ) +- sphInfo ( "index '%s': ramchunk saved. TID="INT64_FMT"", sIndexName, iTID ); ++ sphInfo ( "index '%s': ramchunk saved. TID=" INT64_FMT "", sIndexName, iTID ); + + if ( m_bReplayMode || m_bDisabled ) + return; +@@ -9451,7 +9451,7 @@ int RtBinlog_c::ReplayBinlog ( const SmallStringHash_T + iPos = tReader.GetPos(); + if ( tReader.GetDword()!=BLOP_MAGIC ) + { +- sphDie ( "binlog: log missing txn marker at pos="INT64_FMT" (corrupted?)", iPos ); ++ sphDie ( "binlog: log missing txn marker at pos=" INT64_FMT " (corrupted?)", iPos ); + break; + } + +@@ -9459,7 +9459,7 @@ int RtBinlog_c::ReplayBinlog ( const SmallStringHash_T + const uint64_t uOp = tReader.UnzipOffset (); + + if ( uOp<=0 || uOp>=BLOP_TOTAL ) +- sphDie ( "binlog: unexpected entry (blop="UINT64_FMT", pos="INT64_FMT")", uOp, iPos ); ++ sphDie ( "binlog: unexpected entry (blop=" UINT64_FMT ", pos=" INT64_FMT ")", uOp, iPos ); + + // FIXME! blop might be OK but skipped (eg. index that is no longer) + switch ( uOp ) +@@ -9498,10 +9498,10 @@ int RtBinlog_c::ReplayBinlog ( const SmallStringHash_T + tmReplay = sphMicroTimer() - tmReplay; + + if ( tReader.GetErrorFlag() ) +- sphWarning ( "binlog: log io error at pos="INT64_FMT": %s", iPos, sError.cstr() ); ++ sphWarning ( "binlog: log io error at pos=" INT64_FMT ": %s", iPos, sError.cstr() ); + + if ( !bReplayOK ) +- sphWarning ( "binlog: replay error at pos="INT64_FMT")", iPos ); ++ sphWarning ( "binlog: replay error at pos=" INT64_FMT ")", iPos ); + + // show additional replay statistics + ARRAY_FOREACH ( i, tLog.m_dIndexInfos ) +@@ -9509,17 +9509,17 @@ int RtBinlog_c::ReplayBinlog ( const SmallStringHash_T + const BinlogIndexInfo_t & tIndex = tLog.m_dIndexInfos[i]; + if ( !hIndexes ( tIndex.m_sName.cstr() ) ) + { +- sphWarning ( "binlog: index %s: missing; tids "INT64_FMT" to "INT64_FMT" skipped!", ++ sphWarning ( "binlog: index %s: missing; tids " INT64_FMT " to " INT64_FMT " skipped!", + tIndex.m_sName.cstr(), tIndex.m_iMinTID, tIndex.m_iMaxTID ); + + } else if ( tIndex.m_iPreReplayTID < tIndex.m_iMaxTID ) + { +- sphInfo ( "binlog: index %s: recovered from tid "INT64_FMT" to tid "INT64_FMT, ++ sphInfo ( "binlog: index %s: recovered from tid " INT64_FMT " to tid " INT64_FMT, + tIndex.m_sName.cstr(), tIndex.m_iPreReplayTID, tIndex.m_iMaxTID ); + + } else + { +- sphInfo ( "binlog: index %s: skipped at tid "INT64_FMT" and max binlog tid "INT64_FMT, ++ sphInfo ( "binlog: index %s: skipped at tid " INT64_FMT " and max binlog tid " INT64_FMT, + tIndex.m_sName.cstr(), tIndex.m_iPreReplayTID, tIndex.m_iMaxTID ); + } + } +@@ -9544,7 +9544,7 @@ static BinlogIndexInfo_t & ReplayIndexID ( BinlogReade + const int iVal = (int)tReader.UnzipOffset(); + + if ( iVal<0 || iVal>=tLog.m_dIndexInfos.GetLength() ) +- sphDie ( "binlog: %s: unexpected index id (id=%d, max=%d, pos="INT64_FMT")", ++ sphDie ( "binlog: %s: unexpected index id (id=%d, max=%d, pos=" INT64_FMT ")", + sPlace, iVal, tLog.m_dIndexInfos.GetLength(), iTxnPos ); + + return tLog.m_dIndexInfos[iVal]; +@@ -9594,18 +9594,18 @@ bool RtBinlog_c::ReplayCommit ( int iBinlog, DWORD uRe + + // check TID + if ( iTID<tIndex.m_iMaxTID ) +- sphDie ( "binlog: commit: descending tid (index=%s, lasttid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT")", ++ sphDie ( "binlog: commit: descending tid (index=%s, lasttid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_iMaxTID, iTID, iTxnPos ); + + // check timestamp + if ( tmStamp<tIndex.m_tmMax ) + { + if (!( uReplayFlags & SPH_REPLAY_ACCEPT_DESC_TIMESTAMP )) +- sphDie ( "binlog: commit: descending time (index=%s, lasttime="INT64_FMT", logtime="INT64_FMT", pos="INT64_FMT")", ++ sphDie ( "binlog: commit: descending time (index=%s, lasttime=" INT64_FMT ", logtime=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_tmMax, tmStamp, iTxnPos ); + + sphWarning ( "binlog: commit: replaying txn despite descending time " +- "(index=%s, logtid="INT64_FMT", lasttime="INT64_FMT", logtime="INT64_FMT", pos="INT64_FMT")", ++ "(index=%s, logtid=" INT64_FMT ", lasttime=" INT64_FMT ", logtime=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), iTID, tIndex.m_tmMax, tmStamp, iTxnPos ); + tIndex.m_tmMax = tmStamp; + } +@@ -9616,7 +9616,7 @@ bool RtBinlog_c::ReplayCommit ( int iBinlog, DWORD uRe + // we normally expect per-index TIDs to be sequential + // but let's be graceful about that + if ( iTID!=tIndex.m_pRT->m_iTID+1 ) +- sphWarning ( "binlog: commit: unexpected tid (index=%s, indextid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT")", ++ sphWarning ( "binlog: commit: unexpected tid (index=%s, indextid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_pRT->m_iTID, iTID, iTxnPos ); + + // in case dict=keywords +@@ -9651,7 +9651,7 @@ bool RtBinlog_c::ReplayIndexAdd ( int iBinlog, const S + + uint64_t uVal = tReader.UnzipOffset(); + if ( (int)uVal!=tLog.m_dIndexInfos.GetLength() ) +- sphDie ( "binlog: indexadd: unexpected index id (id="UINT64_FMT", expected=%d, pos="INT64_FMT")", ++ sphDie ( "binlog: indexadd: unexpected index id (id=" UINT64_FMT ", expected=%d, pos=" INT64_FMT ")", + uVal, tLog.m_dIndexInfos.GetLength(), iTxnPos ); + + // load data +@@ -9667,7 +9667,7 @@ bool RtBinlog_c::ReplayIndexAdd ( int iBinlog, const S + // check for index name dupes + ARRAY_FOREACH ( i, tLog.m_dIndexInfos ) + if ( tLog.m_dIndexInfos[i].m_sName==sName ) +- sphDie ( "binlog: duplicate index name (name=%s, dupeid=%d, pos="INT64_FMT")", ++ sphDie ( "binlog: duplicate index name (name=%s, dupeid=%d, pos=" INT64_FMT ")", + sName.cstr(), i, iTxnPos ); + + // not a dupe, lets add +@@ -9724,10 +9724,10 @@ bool RtBinlog_c::ReplayUpdateAttributes ( int iBinlog, + + // check TID, time order in log + if ( iTID<tIndex.m_iMaxTID ) +- sphDie ( "binlog: update: descending tid (index=%s, lasttid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT")", ++ sphDie ( "binlog: update: descending tid (index=%s, lasttid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_iMaxTID, iTID, iTxnPos ); + if ( tmStamp<tIndex.m_tmMax ) +- sphDie ( "binlog: update: descending time (index=%s, lasttime="INT64_FMT", logtime="INT64_FMT", pos="INT64_FMT")", ++ sphDie ( "binlog: update: descending time (index=%s, lasttime=" INT64_FMT ", logtime=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_tmMax, tmStamp, iTxnPos ); + + if ( tIndex.m_pIndex && iTID > tIndex.m_pIndex->m_iTID ) +@@ -9735,7 +9735,7 @@ bool RtBinlog_c::ReplayUpdateAttributes ( int iBinlog, + // we normally expect per-index TIDs to be sequential + // but let's be graceful about that + if ( iTID!=tIndex.m_pIndex->m_iTID+1 ) +- sphWarning ( "binlog: update: unexpected tid (index=%s, indextid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT")", ++ sphWarning ( "binlog: update: unexpected tid (index=%s, indextid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_pIndex->m_iTID, iTID, iTxnPos ); + + tUpd.m_dRows.Resize ( tUpd.m_dDocids.GetLength() ); +@@ -9803,7 +9803,7 @@ bool RtBinlog_c::ReplayCacheAdd ( int iBinlog, BinlogR + if ( tCache.m_iMinTID!=tIndex.m_iMinTID || tCache.m_iMaxTID!=tIndex.m_iMaxTID ) + { + sphWarning ( "binlog: cache mismatch: index %s tid ranges mismatch " +- "(cached "INT64_FMT" to "INT64_FMT", replayed "INT64_FMT" to "INT64_FMT")", ++ "(cached " INT64_FMT " to " INT64_FMT ", replayed " INT64_FMT " to " INT64_FMT ")", + tCache.m_sName.cstr(), + tCache.m_iMinTID, tCache.m_iMaxTID, tIndex.m_iMinTID, tIndex.m_iMaxTID ); + } +@@ -9831,7 +9831,7 @@ bool RtBinlog_c::ReplayReconfigure ( int iBinlog, DWOR + CSphReconfigureSettings tSettings; + LoadIndexSettings ( tSettings.m_tIndex, tReader, INDEX_FORMAT_VERSION ); + if ( !LoadTokenizerSettings ( tReader, tSettings.m_tTokenizer, tEmbeddedFiles, INDEX_FORMAT_VERSION, sError ) ) +- sphDie ( "binlog: reconfigure: failed to load settings (index=%s, lasttid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT", error=%s)", ++ sphDie ( "binlog: reconfigure: failed to load settings (index=%s, lasttid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ", error=%s)", + tIndex.m_sName.cstr(), tIndex.m_iMaxTID, iTID, iTxnPos, sError.cstr() ); + LoadDictionarySettings ( tReader, tSettings.m_tDict, tEmbeddedFiles, INDEX_FORMAT_VERSION, sError ); + +@@ -9841,18 +9841,18 @@ bool RtBinlog_c::ReplayReconfigure ( int iBinlog, DWOR + + // check TID + if ( iTID<tIndex.m_iMaxTID ) +- sphDie ( "binlog: reconfigure: descending tid (index=%s, lasttid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT")", ++ sphDie ( "binlog: reconfigure: descending tid (index=%s, lasttid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_iMaxTID, iTID, iTxnPos ); + + // check timestamp + if ( tmStamp<tIndex.m_tmMax ) + { + if (!( uReplayFlags & SPH_REPLAY_ACCEPT_DESC_TIMESTAMP )) +- sphDie ( "binlog: reconfigure: descending time (index=%s, lasttime="INT64_FMT", logtime="INT64_FMT", pos="INT64_FMT")", ++ sphDie ( "binlog: reconfigure: descending time (index=%s, lasttime=" INT64_FMT ", logtime=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_tmMax, tmStamp, iTxnPos ); + + sphWarning ( "binlog: reconfigure: replaying txn despite descending time " +- "(index=%s, logtid="INT64_FMT", lasttime="INT64_FMT", logtime="INT64_FMT", pos="INT64_FMT")", ++ "(index=%s, logtid=" INT64_FMT ", lasttime=" INT64_FMT ", logtime=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), iTID, tIndex.m_tmMax, tmStamp, iTxnPos ); + tIndex.m_tmMax = tmStamp; + } +@@ -9863,7 +9863,7 @@ bool RtBinlog_c::ReplayReconfigure ( int iBinlog, DWOR + // we normally expect per-index TIDs to be sequential + // but let's be graceful about that + if ( iTID!=tIndex.m_pRT->m_iTID+1 ) +- sphWarning ( "binlog: reconfigure: unexpected tid (index=%s, indextid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT")", ++ sphWarning ( "binlog: reconfigure: unexpected tid (index=%s, indextid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ")", + tIndex.m_sName.cstr(), tIndex.m_pRT->m_iTID, iTID, iTxnPos ); + + sError = ""; +@@ -9871,7 +9871,7 @@ bool RtBinlog_c::ReplayReconfigure ( int iBinlog, DWOR + bool bSame = tIndex.m_pRT->IsSameSettings ( tSettings, tSetup, sError ); + + if ( !sError.IsEmpty() ) +- sphWarning ( "binlog: reconfigure: wrong settings (index=%s, indextid="INT64_FMT", logtid="INT64_FMT", pos="INT64_FMT", error=%s)", ++ sphWarning ( "binlog: reconfigure: wrong settings (index=%s, indextid=" INT64_FMT ", logtid=" INT64_FMT ", pos=" INT64_FMT ", error=%s)", + tIndex.m_sName.cstr(), tIndex.m_pRT->m_iTID, iTID, iTxnPos, sError.cstr() ); + + if ( !bSame ) Index: patches/patch-src_sphinxstd_cpp =================================================================== RCS file: /cvs/ports/textproc/sphinx/patches/patch-src_sphinxstd_cpp,v retrieving revision 1.2 diff -u -p -r1.2 patch-src_sphinxstd_cpp --- patches/patch-src_sphinxstd_cpp 22 Jun 2015 08:00:07 -0000 1.2 +++ patches/patch-src_sphinxstd_cpp 10 Apr 2018 21:07:57 -0000 @@ -1,17 +1,36 @@ $OpenBSD: patch-src_sphinxstd_cpp,v 1.2 2015/06/22 08:00:07 jasper Exp $ ---- src/sphinxstd.cpp.orig Fri Jun 19 10:44:21 2015 -+++ src/sphinxstd.cpp Fri Jun 19 10:44:36 2015 -@@ -827,13 +827,6 @@ CSphProcessSharedMutex::CSphProcessSharedMutex ( int i +Index: src/sphinxstd.cpp +--- src/sphinxstd.cpp.orig ++++ src/sphinxstd.cpp +@@ -630,7 +630,7 @@ void * operator new ( size_t iSize ) + { + void * pResult = ::malloc ( iSize ); + if ( !pResult ) +- sphDieRestart ( "out of memory (unable to allocate "UINT64_FMT" bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too ++ sphDieRestart ( "out of memory (unable to allocate " UINT64_FMT " bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too + return pResult; + } + +@@ -639,7 +639,7 @@ void * operator new [] ( size_t iSize ) + { + void * pResult = ::malloc ( iSize ); + if ( !pResult ) +- sphDieRestart ( "out of memory (unable to allocate "UINT64_FMT" bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too ++ sphDieRestart ( "out of memory (unable to allocate " UINT64_FMT " bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too + return pResult; + } + +@@ -825,13 +825,6 @@ CSphProcessSharedMutex::CSphProcessSharedMutex ( int i + if ( iRes ) + { m_sError.SetSprintf ( "pthread_mutexattr_init, errno=%d", iRes ); - return; - } +- return; +- } - iRes = pthread_mutexattr_setpshared ( &tAttr, PTHREAD_PROCESS_SHARED ); - if ( iRes ) - { - m_sError.SetSprintf ( "pthread_mutexattr_setpshared, errno = %d", iRes ); - pthread_mutexattr_destroy ( &tAttr ); -- return; -- } + return; + } - CSphString sError, sWarning; - if ( !m_pStorage.Alloc ( sizeof(pthread_mutex_t) + iExtraSize, sError, sWarning ) ) Index: patches/patch-src_sphinxstd_cpp.orig =================================================================== RCS file: patches/patch-src_sphinxstd_cpp.orig diff -N patches/patch-src_sphinxstd_cpp.orig Index: patches/patch-src_sphinxstd_h =================================================================== RCS file: patches/patch-src_sphinxstd_h diff -N patches/patch-src_sphinxstd_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sphinxstd_h 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,39 @@ +$OpenBSD$ + +Index: src/sphinxstd.h +--- src/sphinxstd.h.orig ++++ src/sphinxstd.h +@@ -2391,10 +2391,10 @@ class CSphSharedBuffer : public CSphBufferTrait < T > + if ( pData==MAP_FAILED ) + { + if ( iLength>(int64_t)0x7fffffffUL ) +- sError.SetSprintf ( "mmap() failed: %s (length="INT64_FMT" is over 2GB, impossible on some 32-bit systems)", ++ sError.SetSprintf ( "mmap() failed: %s (length=" INT64_FMT " is over 2GB, impossible on some 32-bit systems)", + strerror(errno), iLength ); + else +- sError.SetSprintf ( "mmap() failed: %s (length="INT64_FMT")", strerror(errno), iLength ); ++ sError.SetSprintf ( "mmap() failed: %s (length=" INT64_FMT ")", strerror(errno), iLength ); + return false; + } + +@@ -2430,9 +2430,9 @@ class CSphSharedBuffer : public CSphBufferTrait < T > + return true; + + if ( sError.IsEmpty() ) +- sError.SetSprintf ( "%s mlock() failed: bytes="INT64_FMT", error=%s", sPrefix, (int64_t)this->GetLengthBytes(), strerror(errno) ); ++ sError.SetSprintf ( "%s mlock() failed: bytes=" INT64_FMT ", error=%s", sPrefix, (int64_t)this->GetLengthBytes(), strerror(errno) ); + else +- sError.SetSprintf ( "%s; %s mlock() failed: bytes="INT64_FMT", error=%s", sError.cstr(), sPrefix, (int64_t)this->GetLengthBytes(), strerror(errno) ); ++ sError.SetSprintf ( "%s; %s mlock() failed: bytes=" INT64_FMT ", error=%s", sError.cstr(), sPrefix, (int64_t)this->GetLengthBytes(), strerror(errno) ); + return false; + } + #endif +@@ -2559,7 +2559,7 @@ class CSphMappedBuffer : public CSphBufferTrait < T > + pData = (T *)mmap ( NULL, iFileSize, PROT_READ, MAP_PRIVATE, iFD, 0 ); + if ( pData==MAP_FAILED ) + { +- sError.SetSprintf ( "failed to mmap file '%s': %s (length="INT64_FMT")", sFile, strerror(errno), iFileSize ); ++ sError.SetSprintf ( "failed to mmap file '%s': %s (length=" INT64_FMT ")", sFile, strerror(errno), iFileSize ); + Close(); + return false; + } Index: patches/patch-src_sphinxutils_cpp =================================================================== RCS file: patches/patch-src_sphinxutils_cpp diff -N patches/patch-src_sphinxutils_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sphinxutils_cpp 10 Apr 2018 21:07:57 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ + +Index: src/sphinxutils.cpp +--- src/sphinxutils.cpp.orig ++++ src/sphinxutils.cpp +@@ -274,7 +274,7 @@ int CSphConfigSection::GetSize ( const char * sKey, in + if ( iSize>INT_MAX ) + { + iSize = INT_MAX; +- sphWarning ( "'%s = "INT64_FMT"' clamped to %d(INT_MAX)", sKey, iSize, INT_MAX ); ++ sphWarning ( "'%s = " INT64_FMT "' clamped to %d(INT_MAX)", sKey, iSize, INT_MAX ); + } + return (int)iSize; + } +@@ -1980,11 +1980,11 @@ void sphBacktrace ( int iFD, bool bSafe ) + #endif + + #ifdef CONFIGURE_FLAGS +- sphSafeInfo ( iFD, "Configured with flags: "CONFIGURE_FLAGS ); ++ sphSafeInfo ( iFD, "Configured with flags: " CONFIGURE_FLAGS ); + #endif + + #ifdef OS_UNAME +- sphSafeInfo ( iFD, "Host OS is "OS_UNAME ); ++ sphSafeInfo ( iFD, "Host OS is " OS_UNAME ); + #endif + + bool bOk = true;