Right, indeed negative int64 numbers are not properly handled. Also looks like this happened in the past with int which was patched but not trickled into int64 handling. As I look at it, the fromNumber stuff looks like it may help from a refactor but I'll not go there just now.
A patch to handle negative numbers in estring.cpp (be careful of formatting changes in email): --- estring-orig 2016-09-16 15:30:53.719083773 -0400 +++ estring-patched 2016-09-19 13:06:48.826113327 -0400 @@ -947,7 +947,15 @@ EString EString::fromNumber( int64 n, uint base ) { EString r; - r.appendNumber( n, base ); + if (0 == n) { + r.append("0"); // Short-circuit, 0 is 0 in any base, no need for extra processing + } else { + if (n < 0) { + n = -n; // Negate, otherwise negative numbers get messed up + r.append("-"); // But we remember we need a - sign + } + r.appendNumber( n, base ); + } return r; } Next bit is to see why modseq is -1 at all, but if you can try with this patch, I think you may end up with a more benign situation (but possible big table updates with modseq>-1). It is possible -1 is valid but Arnt is the one to confirm there. It's also possible something to do with your mail client/setup. Jim On 19/09/2016 17:46, NSS Ltd wrote: > OK, I can now reproduce the output 'V' from fn. -1 throws it off. I'll > dig around (the estring entries were supposed to track the stack on it, > but I have a test harness I can use from here). > > I'll report back. > > Arnt, any idea why the modseq value becomes -1 ? Hints will same me > time tracking it. > > Thanks > Jim > >