From: <sc...@de...> - 2002-07-05 13:54:14
|
Hello , I found a new problem when using VFP with "oversized" varchars. I tried a VARCHAR(8000) in a remoteview but the odbcjdbc tries to allocate -2 bytes of memory (0xfffffffe). The bug appears in OdbcStatement.cpp at line 1157 ... case SQL_C_CHAR: //Orig // statement->setString (parameter, (char*) binding- >pointer); // break; //Suggested by CGA to handle situation where strings are NOT null-terminated. switch( *binding->indicatorPointer ) { case SQL_NTS: statement->setString (parameter, (char*) binding->pointer ); break; default: statement->setString (parameter, (char*)binding->pointer, *binding- >indicatorPointer ); break; } #### continuing in Value.cpp line 176f: ## void Value::setString(int length, const char * string, bool copy) clear(); type = String; copyFlag = copy; data.string.length = length; if (copy) { data.string.string = new char [length + 1]; memcpy (data.string.string, string, length); data.string.string [length] = 0; } else data.string.string = (char*) string; } length is -2 and the (char *)string point to "newercombackmem" does anyone know, what to do ? (in my VFP-remote-view this field is a "memo") |