--- a/src/rcldb/rcldb.cpp
+++ b/src/rcldb/rcldb.cpp
@@ -1,5 +1,5 @@
#ifndef lint
-static char rcsid[] = "@(#$Id: rcldb.cpp,v 1.139 2008-08-28 15:44:37 dockes Exp $ (C) 2004 J.F.Dockes";
+static char rcsid[] = "@(#$Id: rcldb.cpp,v 1.140 2008-08-30 07:38:43 dockes Exp $ (C) 2004 J.F.Dockes";
#endif
/*
* This program is free software; you can redistribute it and/or modify
@@ -922,6 +922,10 @@
// We also add a term for the filename extension if any.
if (dumb_string(doc.utf8fn, noacc) && !noacc.empty()) {
string::size_type pos = noacc.rfind('.');
+ // We should truncate after extracting the extension, but this is
+ // a pathological case anyway
+ if (noacc.size() > 230)
+ utf8truncate(noacc, 230);
if (pos != string::npos && pos != noacc.length() -1) {
newdocument.add_term(string("XE") + noacc.substr(pos+1));
}