Skip to Content.
Sympa Menu

freetds - [freetds] bcp missing patch chunk.

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: christos AT zoulas.com (Christos Zoulas)
  • To: freetds AT lists.ibiblio.org
  • Subject: [freetds] bcp missing patch chunk.
  • Date: Mon, 5 Jan 2004 17:30:30 -0500


So I dowloaded the rc2 version [please bump the version in the future
if you make changes, there seem to be too many rc2's now]. The one in
nightly compiles, the one that is marked release candidate does not.

I found that a chunk of the patch that I sent was not applied, and I
think I sent the second chunk in another patch today that should fix
freddy's problem. The first part absolutely necessary. The second is
untested and should only affect tds < 7.0.

christos

Index: bcp.c
===================================================================
RCS file: /src/twosigma/cvsroot/pub/devel/freetds/src/dblib/bcp.c,v
retrieving revision 1.1.1.6
diff -u -u -r1.1.1.6 bcp.c
--- bcp.c 5 Jan 2004 19:24:25 -0000 1.1.1.6
+++ bcp.c 5 Jan 2004 22:27:35 -0000
@@ -994,6 +994,10 @@
return (FAIL);
}
collen = len;
+ if (collen == -1) {
+ collen = 0;
+ data_is_null = 1;
+ }
}
coldata = (BYTE *) calloc(1, 1 + collen);
if (coldata == NULL) {
@@ -1275,9 +1279,12 @@
memcpy(&rowbuffer[row_pos], num->array,
cpbytes);
} else {
/* compute the length to copy to the row **
buffer */
-
- cpbytes = bcpcol->data_size >
bcpcol->db_length ? bcpcol->db_length : bcpcol->data_size;
- memcpy(&rowbuffer[row_pos], bcpcol->data,
cpbytes);
+ if (bcpcol->data_size == -1) {
+ cpbytes = 0;
+ } else {
+ cpbytes = bcpcol->data_size >
bcpcol->db_length ? bcpcol->db_length : bcpcol->data_size;
+ memcpy(&rowbuffer[row_pos],
bcpcol->data, cpbytes);
+ }

}





Archive powered by MHonArc 2.6.24.

Top of Page