freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: David Ramsey <dramsey AT neosoft.com>
- To: TDS Development Group <freetds AT franklin.oit.unc.edu>
- Subject: Big Endian Patches
- Date: Tue, 13 Feb 2001 10:38:23 -0600
I just started using Free TDS to pull data from a MS SQL Server 6.5
database into Oracle 8i but I had similar problems with formatting of
the dates. What I found was that a similar change needed to be applied
to the tds_convert_datetime function as had originally been applied to
the tds_convert_datetime4 function. The sole difference was that the
"word" size in this case was 4 bytes so in the loop all references to 2
were changed to 4.
Here's my diff of my working convert.c versus what I got when I did a
cvs diff today. Hopefully this will help other people who have to suck
data out of MS SQL Server machines over to Sparcs (and other big endian
machines).
cvs diff -w convert.c
Index: convert.c
===================================================================
RCS file: /Repository/freetds/src/tds/convert.c,v
retrieving revision 1.46
diff -w -r1.46 convert.c
494a495,497
> #ifdef WORDS_BIGENDIAN
> int i, n;
> #endif
522a526,532
> #ifdef WORDS_BIGENDIAN /* We need to swap the words */
> n = sizeof(TDS_DATETIME) ;
> memset(dest, '\0', n ) ;
> for ( i = 0; i < sizeof(TDS_DATETIME) ; i += 4)
> memcpy(dest + i, src + (n - 4) - i, 4) ;
>
> #else
523a534,535
> #endif
> // memcpy(dest,src,sizeof(TDS_DATETIME));
537a550,552
> #ifdef WORDS_BIGENDIAN
> int i, n;
> #endif
567a583,589
> #ifdef WORDS_BIGENDIAN /* We need to swap the words */
> n = sizeof(TDS_DATETIME4) ;
> memset(dest, '\0', n ) ;
> for ( i = 0; i < sizeof(TDS_DATETIME4) ; i += 2)
> memcpy(dest + i, src + (n - 2) - i, 2) ;
>
> #else
568a591
> #endif
--
David Ramsey -- dramsey AT neosoft.com
-- There is an old Vulcan proverb: only Nixon could go to China.
-
Big Endian Patches,
David Ramsey, 02/13/2001
- <Possible follow-up(s)>
- Re: Big Endian Patches, David Ramsey, 02/13/2001
- Re: Big Endian Patches, Michael Peppler, 02/13/2001
- Re: Big Endian Patches, David Ramsey, 02/14/2001
- Re: Big Endian Patches, David Ramsey, 02/14/2001
- Re: Big Endian Patches, Brian Bruns, 02/14/2001
Archive powered by MHonArc 2.6.24.