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;

Reply via email to