EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Bug in 3.14.1 thru 3.14.6? - NOT
From: Wayne Dahl <[email protected]>
To: Wayne Dahl <[email protected]>, "'[email protected]'" <[email protected]>
Date: Fri, 27 Aug 2004 17:35:40 -1000
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  <20042005  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  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·