I spoke too soon, sorry to cast blame. But I still have a problem.
The source of genSubRecordSizeOffset has
pdbRecordType->papFldDes[42]->size=sizeof(prec->flnk);
pdbRecordType->papFldDes[42]->offset=(short)((char *)&prec->flnk - (char
*)prec);
pdbRecordType->papFldDes[43]->size=sizeof(prec->vers);
pdbRecordType->papFldDes[43]->offset=(short)((char *)&prec->vers - (char
*)prec);
pdbRecordType->papFldDes[44]->size=sizeof(prec->val);
pdbRecordType->papFldDes[44]->offset=(short)((char *)&prec->val - (char
*)prec);
pdbRecordType->papFldDes[45]->size=sizeof(prec->oval);
pdbRecordType->papFldDes[45]->offset=(short)((char *)&prec->oval - (char
*)prec);
Note entry 43. If I print out the items being looped over in
dbLexReoutines.c:dbRecordtypeBody I get
we are here 40
pdbFldDes name = UDF // this is item 40
we are here 41
pdbFldDes name = TIME
we are here 42
pdbFldDes name = FLNK
we are here 43
pdbFldDes name = VAL
we are here 44
pdbFldDes name = OVAL
Note that item 42 is FLNK but 43 is VAL, not VERS. What happened to vers?
Thanks for any help.
Wayne
> -----Original Message-----
> From: Wayne Dahl
> Sent: Friday, August 27, 2004 2:34 PM
> To: '[email protected]'
> Subject: Bug in 3.14.1 thru 3.14.6?
>
>
> In dbLexRoutines.c is the function
>
> static void dbRecordtypeBody(void)
> {
> dbRecordType *pdbRecordType;
> dbFldDes *pdbFldDes;
> int i,j,ilink;
> GPHENTRY *pgphentry;
> int no_fields,no_prompt,no_links;
> dbfType field_type;
> char *psortFldNameTemp;
> short psortFldIndTemp;
> char **papsortFldName;
> short *sortFldInd;
>
> if(duplicate) {
> duplicate = FALSE;
> return;
> }
> pdbRecordType= (dbRecordType *)popFirstTemp();
> pdbRecordType->no_fields = no_fields = ellCount(&tempList);
> pdbRecordType->papFldDes =
> dbCalloc(no_fields,sizeof(dbFldDes *)); ..... }
>
> And when I generate genSubRecord.h I get the function
>
> static int genSubRecordSizeOffset(dbRecordType *pdbRecordType) {
> genSubRecord *prec = 0;
>
> pdbRecordType->papFldDes[0]->size=sizeof(prec->name);
> pdbRecordType->papFldDes[0]->offset=(short)((char
> *)&prec->name - (char *)prec);
> ...
> pdbRecordType->papFldDes[308]->size=sizeof(prec->tovu);
> pdbRecordType->papFldDes[308]->offset=(short)((char
> *)&prec->tovu - (char *)prec);
>
> ...
> }
> When I check the value of pdbRecordType->no_fields it's 308.
> It should be 309 i.e. no_fields+1
>
> Wayne
>
- Replies:
- Re: Bug in 3.14.1 thru 3.14.6? - NOT Benjamin Franksen
- Navigate by Date:
- Prev:
Bug in 3.14.1 thru 3.14.6? Wayne Dahl
- Next:
Re: Bug in 3.14.1 thru 3.14.6? - NOT Benjamin Franksen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Bug in 3.14.1 thru 3.14.6? Wayne Dahl
- Next:
Re: Bug in 3.14.1 thru 3.14.6? - NOT Benjamin Franksen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|