diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/vdbeaux.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 196a6765d..81b23929b 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -3319,6 +3319,10 @@ u32 sqlite3VdbeSerialGet( /* EVIDENCE-OF: R-01849-26079 Value is a big-endian 32-bit ** twos-complement integer. */ pMem->u.i = FOUR_BYTE_INT(buf); +#ifdef __HP_cc + /* Work around a sign-extension bug in the HP compiler for HP/UX */ + if( buf[0]&0x80 ) pMem->u.i |= 0xffffffff80000000LL; +#endif pMem->flags = MEM_Int; testcase( pMem->u.i<0 ); return 4; |