diff -u -r base.orig/src/as/asLibRoutines.c base/src/as/asLibRoutines.c --- base.orig/src/as/asLibRoutines.c 2004-08-27 18:18:36.000000000 +0200 +++ base/src/as/asLibRoutines.c 2005-10-15 19:29:30.000000000 +0200 @@ -335,7 +335,7 @@ { ASGMEMBER *pasgmember = asMemberPvt; ASGCLIENT *pasgclient; - int ind; + size_t ind; long status; if(!asActive) return(S_asLib_asNotActive); @@ -1164,7 +1164,7 @@ static long asHagAddHost(HAG *phag,const char *host) { HAGNAME *phagname; - int ind; + size_t ind; if(!phag) return(0); phagname = asCalloc(1,sizeof(HAGNAME)+strlen(host)+1); diff -u -r base.orig/src/bpt/makeBpt.c base/src/bpt/makeBpt.c --- base.orig/src/bpt/makeBpt.c 2003-04-23 17:22:56.000000000 +0200 +++ base/src/bpt/makeBpt.c 2005-10-15 17:31:24.000000000 +0200 @@ -315,7 +315,7 @@ *************************************************************************/ /* Must start with table entry corresponding to engLow; */ - i = ilow; + i = (int) ilow; if (i >= ntable - 1) i = ntable - 2; rawBeg = table[i] + (table[i + 1] - table[i]) * (ilow - (double) i); diff -u -r base.orig/src/catools/tool_lib.c base/src/catools/tool_lib.c --- base.orig/src/catools/tool_lib.c 2004-10-19 17:17:04.000000000 +0200 +++ base/src/catools/tool_lib.c 2005-10-15 19:36:14.000000000 +0200 @@ -425,7 +425,8 @@ void print_time_val_sts (pv* pv, unsigned long nElems) { char timeText[TIMETEXTLEN]; - int i, printAbs; + unsigned long i; + int printAbs; void* value = pv->value; epicsTimeStamp *ptsRef = &tsStart; epicsTimeStamp tsNow; diff -u -r base.orig/src/db/dbAccess.c base/src/db/dbAccess.c --- base.orig/src/db/dbAccess.c 2005-08-25 15:03:30.000000000 +0200 +++ base/src/db/dbAccess.c 2005-10-15 17:38:06.000000000 +0200 @@ -129,7 +129,7 @@ unsigned long no_str; char *ptemp; struct dbr_enumStrs *pdbr_enumStrs=(struct dbr_enumStrs*)(*ppbuffer); - int i; + unsigned long i; memset(pdbr_enumStrs,'\0',dbr_enumStrs_size); switch(field_type) { @@ -194,8 +194,8 @@ if(got_data) { struct dbr_grLong *pgr=(struct dbr_grLong*)pbuffer; - pgr->upper_disp_limit = grd.upper_disp_limit; - pgr->lower_disp_limit = grd.lower_disp_limit; + pgr->upper_disp_limit = (epicsInt32)grd.upper_disp_limit; + pgr->lower_disp_limit = (epicsInt32)grd.lower_disp_limit; } else { memset(pbuffer,'\0',dbr_grLong_size); *options = (*options) ^ DBR_GR_LONG; /*Turn off option*/ @@ -234,8 +234,8 @@ if(got_data) { struct dbr_ctrlLong *pctrl=(struct dbr_ctrlLong*)pbuffer; - pctrl->upper_ctrl_limit = ctrld.upper_ctrl_limit; - pctrl->lower_ctrl_limit = ctrld.lower_ctrl_limit; + pctrl->upper_ctrl_limit = (epicsInt32)ctrld.upper_ctrl_limit; + pctrl->lower_ctrl_limit = (epicsInt32)ctrld.lower_ctrl_limit; } else { memset(pbuffer,'\0',dbr_ctrlLong_size); *options = (*options) ^ DBR_CTRL_LONG; /*Turn off option*/ @@ -275,10 +275,10 @@ if(got_data) { struct dbr_alLong *pal=(struct dbr_alLong*)pbuffer; - pal->upper_alarm_limit = ald.upper_alarm_limit; - pal->upper_warning_limit = ald.upper_warning_limit; - pal->lower_warning_limit = ald.lower_warning_limit; - pal->lower_alarm_limit = ald.lower_alarm_limit; + pal->upper_alarm_limit = (epicsInt32)ald.upper_alarm_limit; + pal->upper_warning_limit = (epicsInt32)ald.upper_warning_limit; + pal->lower_warning_limit = (epicsInt32)ald.lower_warning_limit; + pal->lower_alarm_limit = (epicsInt32)ald.lower_alarm_limit; } else { memset(pbuffer,'\0',dbr_alLong_size); *options = (*options) ^ DBR_AL_LONG; /*Turn off option*/ diff -u -r base.orig/src/db/dbCa.c base/src/db/dbCa.c --- base.orig/src/db/dbCa.c 2003-12-16 20:47:48.000000000 +0100 +++ base/src/db/dbCa.c 2005-10-15 19:27:50.000000000 +0200 @@ -255,7 +255,7 @@ assert(pca->pgetNative); (*(pconvert))(pca->pgetNative, pdest, 0); } else { - unsigned long ntoget = *nelements; + long ntoget = *nelements; struct dbAddr dbAddr; if(ntoget > pca->nelements) ntoget = pca->nelements; diff -u -r base.orig/src/db/dbConvert.c base/src/db/dbConvert.c --- base.orig/src/db/dbConvert.c 2004-10-12 19:45:30.000000000 +0200 +++ base/src/db/dbConvert.c 2005-10-15 18:27:14.000000000 +0200 @@ -793,12 +793,12 @@ short *psrc=(short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (char)*psrc++; if(++offset==no_elements) psrc=(short *)paddr->pfield; nRequest--; } @@ -812,12 +812,12 @@ short *psrc=(short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned char)*psrc++; if(++offset==no_elements) psrc=(short *)paddr->pfield; nRequest--; } @@ -986,12 +986,12 @@ unsigned short *psrc=(unsigned short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (char)*psrc++; if(++offset==no_elements) psrc=(unsigned short *)paddr->pfield; nRequest--; } @@ -1005,12 +1005,12 @@ unsigned short *psrc=(unsigned short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned char)*psrc++; if(++offset==no_elements) psrc=(unsigned short *)paddr->pfield; nRequest--; } @@ -1293,12 +1293,12 @@ epicsInt32 *psrc=(epicsInt32 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (float)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (float)*psrc++; if(++offset==no_elements) psrc=(epicsInt32 *)paddr->pfield; nRequest--; } @@ -1487,12 +1487,12 @@ epicsUInt32 *psrc=(epicsUInt32 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (float)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (float)*psrc++; if(++offset==no_elements) psrc=(epicsUInt32 *)paddr->pfield; nRequest--; } @@ -1573,12 +1573,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (char)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1592,12 +1592,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned char)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1611,12 +1611,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (short)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (short)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1630,12 +1630,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned short)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned short)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1649,12 +1649,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (epicsInt32)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (epicsInt32)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1668,12 +1668,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (epicsUInt32)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (epicsUInt32)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1725,12 +1725,12 @@ float *psrc=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (epicsEnum16)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (epicsEnum16)*psrc++; if(++offset==no_elements) psrc=(float *)paddr->pfield; nRequest--; } @@ -1773,12 +1773,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (char)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1792,12 +1792,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned char)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1811,12 +1811,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (short)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (short)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1830,12 +1830,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned short)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned short)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1849,12 +1849,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (epicsInt32)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (epicsInt32)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1868,12 +1868,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (epicsUInt32)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (epicsUInt32)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1926,12 +1926,12 @@ double *psrc=(double *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (epicsEnum16)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (epicsEnum16)*psrc++; if(++offset==no_elements) psrc=(double *)paddr->pfield; nRequest--; } @@ -1959,12 +1959,12 @@ epicsEnum16 *psrc=(epicsEnum16 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (char)*psrc++; if(++offset==no_elements) psrc=(epicsEnum16 *)paddr->pfield; nRequest--; } @@ -1978,12 +1978,12 @@ epicsEnum16 *psrc=(epicsEnum16 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pbuffer = *psrc; + *pbuffer = (unsigned char)*psrc; return(0); } psrc += offset; while (nRequest) { - *pbuffer++ = *psrc++; + *pbuffer++ = (unsigned char)*psrc++; if(++offset==no_elements) psrc=(epicsEnum16 *)paddr->pfield; nRequest--; } @@ -2993,12 +2993,12 @@ char *pdest=(char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (char)*pbuffer++; if(++offset==no_elements) pdest=(char *)paddr->pfield; nRequest--; } @@ -3012,12 +3012,12 @@ unsigned char *pdest=(unsigned char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned char)*pbuffer++; if(++offset==no_elements) pdest=(unsigned char *)paddr->pfield; nRequest--; } @@ -3189,12 +3189,12 @@ char *pdest=(char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (char)*pbuffer++; if(++offset==no_elements) pdest=(char *)paddr->pfield; nRequest--; } @@ -3208,12 +3208,12 @@ unsigned char *pdest=(unsigned char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned char)*pbuffer++; if(++offset==no_elements) pdest=(unsigned char *)paddr->pfield; nRequest--; } @@ -3499,12 +3499,12 @@ float *pdest=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (float)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (float)*pbuffer++; if(++offset==no_elements) pdest=(float *)paddr->pfield; nRequest--; } @@ -3695,12 +3695,12 @@ float *pdest=(float *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (float)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (float)*pbuffer++; if(++offset==no_elements) pdest=(float *)paddr->pfield; nRequest--; } @@ -3782,12 +3782,12 @@ char *pdest=(char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (char)*pbuffer++; if(++offset==no_elements) pdest=(char *)paddr->pfield; nRequest--; } @@ -3801,12 +3801,12 @@ unsigned char *pdest=(unsigned char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned char)*pbuffer++; if(++offset==no_elements) pdest=(unsigned char *)paddr->pfield; nRequest--; } @@ -3820,12 +3820,12 @@ short *pdest=(short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (short)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (short)*pbuffer++; if(++offset==no_elements) pdest=(short *)paddr->pfield; nRequest--; } @@ -3839,12 +3839,12 @@ unsigned short *pdest=(unsigned short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned short)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned short)*pbuffer++; if(++offset==no_elements) pdest=(unsigned short *)paddr->pfield; nRequest--; } @@ -3858,12 +3858,12 @@ epicsInt32 *pdest=(epicsInt32 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (epicsInt32)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (epicsInt32)*pbuffer++; if(++offset==no_elements) pdest=(epicsInt32 *)paddr->pfield; nRequest--; } @@ -3877,12 +3877,12 @@ epicsUInt32 *pdest=(epicsUInt32 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (epicsUInt32)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (epicsUInt32)*pbuffer++; if(++offset==no_elements) pdest=(epicsUInt32 *)paddr->pfield; nRequest--; } @@ -3934,12 +3934,12 @@ epicsEnum16 *pdest=(epicsEnum16 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (epicsEnum16)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (epicsEnum16)*pbuffer++; if(++offset==no_elements) pdest=(epicsEnum16 *)paddr->pfield; nRequest--; } @@ -3983,12 +3983,12 @@ char *pdest=(char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (char)*pbuffer++; if(++offset==no_elements) pdest=(char *)paddr->pfield; nRequest--; } @@ -4002,12 +4002,12 @@ unsigned char *pdest=(unsigned char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned char)*pbuffer++; if(++offset==no_elements) pdest=(unsigned char *)paddr->pfield; nRequest--; } @@ -4021,12 +4021,12 @@ short *pdest=(short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (short)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (short)*pbuffer++; if(++offset==no_elements) pdest=(short *)paddr->pfield; nRequest--; } @@ -4040,12 +4040,12 @@ unsigned short *pdest=(unsigned short *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned short)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned short)*pbuffer++; if(++offset==no_elements) pdest=(unsigned short *)paddr->pfield; nRequest--; } @@ -4059,12 +4059,12 @@ epicsInt32 *pdest=(epicsInt32 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (epicsInt32)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (epicsInt32)*pbuffer++; if(++offset==no_elements) pdest=(epicsInt32 *)paddr->pfield; nRequest--; } @@ -4078,12 +4078,12 @@ epicsUInt32 *pdest=(epicsUInt32 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (epicsUInt32)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (epicsUInt32)*pbuffer++; if(++offset==no_elements) pdest=(epicsUInt32 *)paddr->pfield; nRequest--; } @@ -4136,12 +4136,12 @@ epicsEnum16 *pdest=(epicsEnum16 *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (epicsEnum16)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (epicsEnum16)*pbuffer++; if(++offset==no_elements) pdest=(epicsEnum16 *)paddr->pfield; nRequest--; } @@ -4180,12 +4180,12 @@ char *pdest=(char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (char)*pbuffer++; if(++offset==no_elements) pdest=(char *)paddr->pfield; nRequest--; } @@ -4199,12 +4199,12 @@ unsigned char *pdest=(unsigned char *)(paddr->pfield); if(nRequest==1 && offset==0) { - *pdest = *pbuffer; + *pdest = (unsigned char)*pbuffer; return(0); } pdest += offset; while (nRequest) { - *pdest++ = *pbuffer++; + *pdest++ = (unsigned char)*pbuffer++; if(++offset==no_elements) pdest=(unsigned char *)paddr->pfield; nRequest--; } diff -u -r base.orig/src/db/dbFastLinkConv.c base/src/db/dbFastLinkConv.c --- base.orig/src/db/dbFastLinkConv.c 2004-10-12 19:45:30.000000000 +0200 +++ base/src/db/dbFastLinkConv.c 2005-10-15 19:13:56.000000000 +0200 @@ -115,7 +115,7 @@ unsigned short value; if (sscanf(from, "%hu", &value) == 1) { - *to = value; + *to = (unsigned char)value; return(0); } if(strlen(from) == 0) { @@ -506,14 +506,14 @@ short *from, char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(char)*from; return(0); } /* Convert Short to Unsigned Char */ static long cvt_s_uc( short *from, unsigned char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned char)*from; return(0); } /* Convert Short to Short */ static long cvt_s_s( @@ -576,14 +576,14 @@ unsigned short *from, char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(char)*from; return(0); } /* Convert Unsigned Short to Unsigned Char */ static long cvt_us_uc( unsigned short *from, unsigned char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned char)*from; return(0); } /* Convert Unsigned Short to Short */ static long cvt_us_s( @@ -688,7 +688,7 @@ epicsInt32 *from, float *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(float)*from; return(0); } /* Convert Long to Double */ static long cvt_l_d( @@ -758,7 +758,7 @@ epicsUInt32 *from, float *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(float)*from; return(0); } /* Convert Unsigned Long to Double */ static long cvt_ul_d( @@ -788,7 +788,7 @@ if (prset && prset->get_precision) status = (*prset->get_precision)(paddr, &precision); - cvtFloatToString(*from, to, precision); + cvtFloatToString(*from, to, (unsigned short)precision); return(status); } @@ -797,42 +797,42 @@ float *from, char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(char)*from; return(0); } /* Convert Float to Unsigned Char */ static long cvt_f_uc( float *from, unsigned char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned char)*from; return(0); } /* Convert Float to Short */ static long cvt_f_s( float *from, short *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(short)*from; return(0); } /* Convert Float to Unsigned Short */ static long cvt_f_us( float *from, unsigned short *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned short)*from; return(0); } /* Convert Float to Long */ static long cvt_f_l( float *from, epicsInt32 *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(epicsInt32)*from; return(0); } /* Convert Float to Unsigned Long */ static long cvt_f_ul( float *from, epicsUInt32 *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(epicsUInt32)*from; return(0); } /* Convert Float to Float */ static long cvt_f_f( @@ -853,7 +853,7 @@ float *from, epicsEnum16 *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(epicsEnum16)*from; return(0); } /* Convert Double to String */ static long cvt_d_st( @@ -869,7 +869,7 @@ if (prset && prset->get_precision) status = (*prset->get_precision)(paddr, &precision); - cvtDoubleToString(*from, to, precision); + cvtDoubleToString(*from, to, (unsigned short)precision); return(status); } @@ -878,42 +878,42 @@ double *from, char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(char)*from; return(0); } /* Convert Double to Unsigned Char */ static long cvt_d_uc( double *from, unsigned char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned char)*from; return(0); } /* Convert Double to Short */ static long cvt_d_s( double *from, short *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(short)*from; return(0); } /* Convert Double to Unsigned Short */ static long cvt_d_us( double *from, unsigned short *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned short)*from; return(0); } /* Convert Double to Long */ static long cvt_d_l( double *from, epicsInt32 *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(epicsInt32)*from; return(0); } /* Convert Double to Unsigned Long */ static long cvt_d_ul( double *from, epicsUInt32 *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(epicsUInt32)*from; return(0); } /* Convert Double to Float */ static long cvt_d_f( @@ -934,21 +934,21 @@ double *from, epicsEnum16 *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(epicsEnum16)*from; return(0); } /* Convert Enumerated to Char */ static long cvt_e_c( epicsEnum16 *from, char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(char)*from; return(0); } /* Convert Enumerated to Unsigned Char */ static long cvt_e_uc( epicsEnum16 *from, unsigned char *to, struct dbAddr *paddr) - { *to=*from; return(0); } + { *to=(unsigned char)*from; return(0); } /* Convert Enumerated to Short */ static long cvt_e_s( diff -u -r base.orig/src/db/dbTest.c base/src/db/dbTest.c --- base.orig/src/db/dbTest.c 2005-08-26 13:43:00.000000000 +0200 +++ base/src/db/dbTest.c 2005-10-15 19:23:42.000000000 +0200 @@ -255,7 +255,7 @@ errMessage(status," dbNameToAddr failed"); return(status); } - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; if(addr.dbr_field_type==DBR_ENUM) { status=dbGetField(&addr,DBR_STRING,pbuffer,&options,&no_elements,NULL); @@ -491,7 +491,7 @@ if(status!=0) errMessage(status,"DBR_STRING Failed"); else { printf("DBR_STRING ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -505,7 +505,7 @@ if(status!=0) errMessage(status,"DBR_UCHAR failed"); else { printf("DBR_UCHAR ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -519,7 +519,7 @@ if(status!=0) errMessage(status,"DBR_UCHAR failed"); else { printf("DBR_UCHAR ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -532,7 +532,7 @@ if(status!=0) errMessage(status,"DBR_SHORT failed"); else { printf("DBR_SHORT ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -545,7 +545,7 @@ if(status!=0) errMessage(status,"DBR_USHORT failed"); else { printf("DBR_USHORT ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -558,7 +558,7 @@ if(status!=0) errMessage(status,"DBR_LONG failed"); else { printf("DBR_LONG ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -571,7 +571,7 @@ if(status!=0) errMessage(status,"DBR_ULONG failed"); else { printf("DBR_ULONG ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -584,7 +584,7 @@ if(status!=0) errMessage(status,"DBR_FLOAT failed"); else { printf("DBR_FLOAT ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -597,7 +597,7 @@ if(status!=0) errMessage(status,"DBR_DOUBLE failed"); else { printf("DBR_DOUBLE ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -610,7 +610,7 @@ if(status!=0) errMessage(status,"DBR_ENUM failed"); else { printf("DBR_ENUM ok\n"); - no_elements=MIN(addr.no_elements,((sizeof(buffer))/addr.field_size)); + no_elements=MIN(addr.no_elements,(long)((sizeof(buffer))/addr.field_size)); options=0; status=dbGetField(&addr,addr.dbr_field_type,pbuffer, &options,&no_elements,NULL); @@ -782,7 +782,7 @@ struct dbr_enumStrs *pdbr_enumStrs = (void *)pbuffer; printf("no_strs=%u\n", pdbr_enumStrs->no_str); - for (i = 0; i no_str; i++) + for (i = 0; i <(int)pdbr_enumStrs->no_str; i++) printf("%s\n",&pdbr_enumStrs->strs[i][0]); } else printf("enum strings not returned\n"); diff -u -r base.orig/src/db/db_test.c base/src/db/db_test.c --- base.orig/src/db/db_test.c 2004-10-12 19:45:30.000000000 +0200 +++ base/src/db/db_test.c 2005-10-15 19:25:24.000000000 +0200 @@ -35,7 +35,7 @@ char tgf_buffer[MAX_ELEMS*MAX_STRING_SIZE+sizeof(struct dbr_ctrl_double)]; struct dbAddr addr; struct dbAddr *paddr = &addr; - short number_elements; + long number_elements; int i; int status; diff -u -r base.orig/src/db/recGbl.c base/src/db/recGbl.c --- base.orig/src/db/recGbl.c 2004-11-04 20:21:08.000000000 +0100 +++ base/src/db/recGbl.c 2005-10-15 19:26:46.000000000 +0200 @@ -177,7 +177,7 @@ char *pvalue = (char *)pdest; sscanf(plink->value.constantStr,"%hi",&value); - *pvalue = value; + *pvalue = (char)value; } break; case DBF_UCHAR : { @@ -185,7 +185,7 @@ unsigned char *pvalue = (unsigned char *)pdest; sscanf(plink->value.constantStr,"%hu",&value); - *pvalue = value; + *pvalue = (unsigned char)value; } break; case DBF_SHORT : diff -u -r base.orig/src/dbStatic/dbPvdLib.c base/src/dbStatic/dbPvdLib.c --- base.orig/src/dbStatic/dbPvdLib.c 2004-07-09 20:47:34.000000000 +0200 +++ base/src/dbStatic/dbPvdLib.c 2005-10-15 14:54:42.000000000 +0200 @@ -23,7 +23,7 @@ #include "dbStaticPvt.h" -int dbPvdHashTableSize = 512; +unsigned int dbPvdHashTableSize = 512; static int dbPvdHashTableShift; #define NTABLESIZES 9 static struct { diff -u -r base.orig/src/dbStatic/dbStaticLib.c base/src/dbStatic/dbStaticLib.c --- base.orig/src/dbStatic/dbStaticLib.c 2004-10-11 20:17:22.000000000 +0200 +++ base/src/dbStatic/dbStaticLib.c 2005-10-15 14:53:38.000000000 +0200 @@ -2305,7 +2305,7 @@ if(!(end = strchr(pstr,'G'))) return (S_dbLib_badField); pstr = end + 1; cvtDecimalOrHexToShort(pstr,&tmp_val); - plink->value.bbgpibio.gpibaddr=tmp_val; + plink->value.bbgpibio.gpibaddr=(unsigned char)tmp_val; status = putParmString(&plink->value.bbgpibio.parm,pstr); } break; @@ -2375,7 +2375,7 @@ if(strstr(pstring,"$(") || strstr(pstring,"${")) return(NULL); switch (pflddes->field_type) { case DBF_STRING: { - unsigned int length; + int length; length=strlen(pstring); if(length>=pflddes->size) { @@ -3195,14 +3195,14 @@ case FORM_VME_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.vmeio.card = lvalue; **verify = 0; + plink->value.vmeio.card = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.vmeio.signal = lvalue; **verify = 0; + plink->value.vmeio.signal = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3212,35 +3212,35 @@ case FORM_CAMAC_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.camacio.b = lvalue; **verify = 0; + plink->value.camacio.b = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.camacio.c = lvalue; **verify = 0; + plink->value.camacio.c = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.camacio.n = lvalue; **verify = 0; + plink->value.camacio.n = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.camacio.a = lvalue; **verify = 0; + plink->value.camacio.a = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.camacio.f = lvalue; **verify = 0; + plink->value.camacio.f = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3250,28 +3250,28 @@ case FORM_RF_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.rfio.cryo = lvalue; **verify = 0; + plink->value.rfio.cryo = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.rfio.micro = lvalue; **verify = 0; + plink->value.rfio.micro = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.rfio.dataset = lvalue; **verify = 0; + plink->value.rfio.dataset = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.rfio.element = lvalue; **verify = 0; + plink->value.rfio.element = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3279,28 +3279,28 @@ case FORM_AB_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.abio.link = lvalue; **verify = 0; + plink->value.abio.link = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.abio.adapter = lvalue; **verify = 0; + plink->value.abio.adapter = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.abio.card = lvalue; **verify = 0; + plink->value.abio.card = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.abio.signal = lvalue; **verify = 0; + plink->value.abio.signal = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3310,14 +3310,14 @@ case FORM_GPIB_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.gpibio.link = lvalue; **verify = 0; + plink->value.gpibio.link = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.gpibio.addr = lvalue; **verify = 0; + plink->value.gpibio.addr = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3328,28 +3328,28 @@ case FORM_BITBUS_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bitbusio.link = lvalue; **verify = 0; + plink->value.bitbusio.link = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bitbusio.node = lvalue; **verify = 0; + plink->value.bitbusio.node = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bitbusio.port = lvalue; **verify = 0; + plink->value.bitbusio.port = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bitbusio.signal = lvalue; **verify = 0; + plink->value.bitbusio.signal = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3364,21 +3364,21 @@ case FORM_BBGPIB_IO: lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bbgpibio.link = lvalue; **verify = 0; + plink->value.bbgpibio.link = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bbgpibio.bbaddr = lvalue; **verify = 0; + plink->value.bbgpibio.bbaddr = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.bbgpibio.gpibaddr = lvalue; **verify = 0; + plink->value.bbgpibio.gpibaddr = (unsigned char) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } @@ -3392,28 +3392,28 @@ value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.vxiio.frame = lvalue; **verify = 0; + plink->value.vxiio.frame = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.vxiio.slot = lvalue; **verify = 0; + plink->value.vxiio.slot = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.vxiio.la = lvalue; **verify = 0; + plink->value.vxiio.la = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } value++; verify++; lvalue = strtol(*value,&endp,0); if(*endp==0) { - plink->value.vxiio.signal = lvalue; **verify = 0; + plink->value.vxiio.signal = (short) lvalue; **verify = 0; } else { strcpy(*verify,"Illegal. Must be number"); } diff -u -r base.orig/src/dbStatic/dbStaticRun.c base/src/dbStatic/dbStaticRun.c --- base.orig/src/dbStatic/dbStaticRun.c 2004-10-11 20:17:22.000000000 +0200 +++ base/src/dbStatic/dbStaticRun.c 2005-10-15 17:28:18.000000000 +0200 @@ -22,6 +22,7 @@ #include "cvtFast.h" #include "epicsTypes.h" #include "epicsStdlib.h" +#include "epicsConvert.h" #define epicsExportSharedSymbols #include "dbBase.h" @@ -75,7 +76,7 @@ epicsInt32 intval; double diff; - intval=value; + intval=(epicsInt32) value; diff = value - intval; if(diff<0.0) diff =-diff; if(diff < absvalue*delta[isdouble]) { @@ -172,7 +173,7 @@ epicsPrintf("dbAllocRecord pflddes for NAME not found\n"); return(S_dbLib_flddesNotFound); } - if(strlen(precordName)>=pflddes->size) { + if(strlen(precordName)>=(size_t)pflddes->size) { epicsPrintf("dbAllocRecord: NAME(%s) too long\n",precordName); return(S_dbLib_nameLength); } @@ -189,7 +190,7 @@ switch(pflddes->field_type) { case DBF_STRING: if(pflddes->initial) { - if(strlen(pflddes->initial) >= pflddes->size) { + if(strlen(pflddes->initial) >= (size_t)pflddes->size) { epicsPrintf("initial size > size for %s.%s\n", pdbRecordType->name,pflddes->name); } else { @@ -540,8 +541,8 @@ value = strtol(pstring,&endp,0); if(*endp!=0) status = S_dbLib_badField; switch (pflddes->field_type) { - case DBF_CHAR : *(char *)pfield = value; break; - case DBF_SHORT : *(short *)pfield = value; break; + case DBF_CHAR : *(char *)pfield = (char)value; break; + case DBF_SHORT : *(short *)pfield = (short)value; break; case DBF_LONG : *(epicsInt32 *)pfield = value; break; default: epicsPrintf("Logic error in dbPutStringNum\n"); } @@ -557,9 +558,9 @@ value = strtoul(pstring,&endp,0); if(*endp!=0) status = S_dbLib_badField; switch (pflddes->field_type) { - case DBF_UCHAR : *(unsigned char *)pfield = value; break; + case DBF_UCHAR : *(unsigned char *)pfield = (unsigned char)value; break; case DBF_USHORT: - case DBF_ENUM: *(unsigned short *)pfield=value; break; + case DBF_ENUM: *(unsigned short *)pfield=(unsigned short)value; break; case DBF_ULONG : *(epicsUInt32 *)pfield = value; break; default: epicsPrintf("Logic error in dbPutStringNum\n"); } @@ -573,7 +574,7 @@ value = epicsStrtod(pstring,&endp); if(*endp!=0) status = S_dbLib_badField; if(pflddes->field_type==DBF_FLOAT) - *(float *)pfield = value; + *(float *)pfield = epicsConvertDoubleToFloat(value); else *(double *)pfield = value; } diff -u -r base.orig/src/libCom/calc/postfix.c base/src/libCom/calc/postfix.c --- base.orig/src/libCom/calc/postfix.c 2005-02-18 19:39:56.000000000 +0100 +++ base/src/libCom/calc/postfix.c 2005-10-17 17:18:10.000000000 +0200 @@ -226,7 +226,7 @@ /* compare the string to each element in the element table */ *pelement = &elements[0]; - while ((*pelement)->element[0] != NULL){ + while ((*pelement)->element[0] != 0){ if (strncmp(pbuffer,(*pelement)->element, strlen((*pelement)->element)) == 0){ *pno_bytes += strlen((*pelement)->element); @@ -249,13 +249,13 @@ { /* get the next expression element from the infix expression */ - if (*pinfix == NULL) return(END); + if (*pinfix == 0) return(END); *pno_bytes = 0; while (*pinfix == 0x20){ *pno_bytes += 1; pinfix++; } - if (*pinfix == NULL) return(END); + if (*pinfix == 0) return(END); if (!find_element(pinfix,pelement,pno_bytes)) return(UNKNOWN_ELEMENT); return(FINE); diff -u -r base.orig/src/libCom/error/errlog.c base/src/libCom/error/errlog.c --- base.orig/src/libCom/error/errlog.c 2005-03-22 22:48:44.000000000 +0100 +++ base/src/libCom/error/errlog.c 2005-10-15 13:29:46.000000000 +0200 @@ -98,7 +98,7 @@ */ LOCAL int tvsnPrint(char *str, size_t size, const char *format, va_list ap) { - int nchar; + size_t nchar; static const char tmsg[] = "<>\n"; nchar = epicsVsnprintf(str, size, format?format:"", ap); diff -u -r base.orig/src/libCom/macLib/macUtil.c base/src/libCom/macLib/macUtil.c --- base.orig/src/libCom/macLib/macUtil.c 2004-08-11 02:43:16.000000000 +0200 +++ base/src/libCom/macLib/macUtil.c 2005-10-15 13:49:18.000000000 +0200 @@ -227,8 +227,8 @@ } /* free workspace */ - free( ptr ); - free( end ); + free( ( char * ) ptr ); + free( ( char * ) end ); free( ( char * ) del ); /* debug output */ @@ -241,8 +241,8 @@ /* error exit */ error: errlogPrintf( "macParseDefns: failed to allocate memory\n" ); - if ( ptr != NULL ) free( ptr ); - if ( end != NULL ) free( end ); + if ( ptr != NULL ) free( ( char * ) ptr ); + if ( end != NULL ) free( ( char * ) end ); if ( del != NULL ) free( ( char * ) del ); *pairs = NULL; return -1; diff -u -r base.orig/src/libCom/misc/epicsConvert.c base/src/libCom/misc/epicsConvert.c --- base.orig/src/libCom/misc/epicsConvert.c 2004-04-05 14:41:00.000000000 +0200 +++ base/src/libCom/misc/epicsConvert.c 2005-10-15 13:38:42.000000000 +0200 @@ -31,7 +31,7 @@ } else if(abs<=FLT_MIN) { if(value>0.0) rtnvalue = FLT_MIN; else rtnvalue = -FLT_MIN; } else { - rtnvalue = value; + rtnvalue = (float) value; } } return rtnvalue; diff -u -r base.orig/src/libCom/misc/epicsScanReal.c base/src/libCom/misc/epicsScanReal.c --- base.orig/src/libCom/misc/epicsScanReal.c 2004-10-19 19:15:56.000000000 +0200 +++ base/src/libCom/misc/epicsScanReal.c 2005-10-15 13:50:34.000000000 +0200 @@ -14,6 +14,7 @@ #define epicsExportSharedSymbols #include #include "epicsStdio.h" +#include "epicsConvert.h" epicsShareFunc int epicsShareAPI epicsScanDouble(const char *str, double *dest) @@ -36,6 +37,6 @@ dtmp = epicsStrtod(str, &endp); if (endp == str) return 0; - *dest = dtmp; + *dest = epicsConvertDoubleToFloat(dtmp); return 1; } diff -u -r base.orig/src/libCom/misc/epicsString.c base/src/libCom/misc/epicsString.c --- base.orig/src/libCom/misc/epicsString.c 2004-10-19 17:18:50.000000000 +0200 +++ base/src/libCom/misc/epicsString.c 2005-10-17 17:30:14.000000000 +0200 @@ -48,7 +48,7 @@ { int i; char strval[4] = {0,0,0,0}; - int ival; + unsigned int ival; unsigned char *pchar; for(i=0; i<3; i++) { @@ -64,7 +64,7 @@ { int i; char strval[3] = {0,0,0}; - int ival; + unsigned int ival; unsigned char *pchar; pfrom++; /*skip the x*/ @@ -109,7 +109,7 @@ epicsShareFunc int epicsShareAPI epicsStrnCaseCmp( const char *s1, const char *s2, int n) { - size_t ind = 0; + int ind = 0; int nexts1,nexts2; while(1) { diff -u -r base.orig/src/libCom/taskwd/taskwd.c base/src/libCom/taskwd/taskwd.c --- base.orig/src/libCom/taskwd/taskwd.c 2005-08-25 15:07:42.000000000 +0200 +++ base/src/libCom/taskwd/taskwd.c 2005-10-15 13:51:28.000000000 +0200 @@ -175,13 +175,13 @@ ptany = (struct task_list *)ellFirst(&anylist); while(ptany) { if(ptany->callback) { - TASKWDANYFUNCPRR pcallback = pt->callback; + TASKWDANYFUNCPRR pcallback = (TASKWDANYFUNCPRR) pt->callback; (pcallback)(ptany->arg,pt->id.tid); } ptany = (struct task_list *)ellNext(&ptany->node); } if(pt->callback) { - TASKWDFUNCPRR pcallback = pt->callback; + TASKWDFUNCPRR pcallback = (TASKWDFUNCPRR) pt->callback; void *arg = pt->arg; /*Must allow callback to call taskwdRemove*/ diff -u -r base.orig/src/rec/aoRecord.c base/src/rec/aoRecord.c --- base.orig/src/rec/aoRecord.c 2004-10-12 00:32:06.000000000 +0200 +++ base/src/rec/aoRecord.c 2005-10-17 16:46:14.000000000 +0200 @@ -399,7 +399,7 @@ struct aoRecord *pao; double *pvalue; { - short save_pact; + unsigned char save_pact; long status; save_pact = pao->pact; @@ -464,8 +464,8 @@ } value -= pao->aoff; if(pao->aslo!=0.0) value /= pao->aslo; - if (value >= 0.0) pao->rval = value + 0.5 - pao->roff; - else pao->rval = value - 0.5 - pao->roff; + if (value >= 0.0) pao->rval = (epicsInt32) (value + 0.5 - pao->roff); + else pao->rval = (epicsInt32) (value - 0.5 - pao->roff); } diff -u -r base.orig/src/rec/calcoutRecord.c base/src/rec/calcoutRecord.c --- base.orig/src/rec/calcoutRecord.c 2004-07-06 16:13:10.000000000 +0200 +++ base/src/rec/calcoutRecord.c 2005-10-17 16:56:44.000000000 +0200 @@ -123,7 +123,7 @@ static int fetch_values(); static void execOutput(); static void checkLinks(); -static void checkLinksCallback(); +static void checkLinksCallback(CALLBACK *arg); static long writeValue(calcoutRecord *pcalc); int calcoutRecDebug; diff -u -r base.orig/src/rec/compressRecord.c base/src/rec/compressRecord.c --- base.orig/src/rec/compressRecord.c 2004-08-31 20:13:20.000000000 +0200 +++ base/src/rec/compressRecord.c 2005-10-17 16:47:10.000000000 +0200 @@ -254,7 +254,7 @@ { double value = *psource; double *pdest=&pcompress->cvb; - long inx = pcompress->inx; + unsigned long inx = pcompress->inx; /* compress according to specified algorithm */ switch (pcompress->alg){ diff -u -r base.orig/src/rec/histogramRecord.c base/src/rec/histogramRecord.c --- base.orig/src/rec/histogramRecord.c 2003-04-01 23:01:50.000000000 +0200 +++ base/src/rec/histogramRecord.c 2005-10-17 16:48:36.000000000 +0200 @@ -343,7 +343,7 @@ if (temp<=(double)i*phistogram->wdth) break; } pdest=phistogram->bptr+i-1; - if ( *pdest==ULONG_MAX) *pdest=0.0; + if ( *pdest==ULONG_MAX) *pdest=0; (*pdest)++; phistogram->mcnt++; @@ -356,7 +356,7 @@ int i; for (i=0;i<=phistogram->nelm-1;i++) - *(phistogram->bptr+i)=0.0; + *(phistogram->bptr+i)=0; phistogram->mcnt=phistogram->mdel+1; phistogram->udf=FALSE; diff -u -r base.orig/src/rec/seqRecord.c base/src/rec/seqRecord.c --- base.orig/src/rec/seqRecord.c 2003-04-01 23:02:00.000000000 +0200 +++ base/src/rec/seqRecord.c 2005-10-17 16:56:02.000000000 +0200 @@ -41,7 +41,7 @@ /* Create RSET - Record Support Entry Table*/ static long init_record(), process(), asyncFinish(), get_precision(); -static void processCallback(); +static void processCallback(CALLBACK *arg); rset seqRSET={ RSETNUMBER, diff -u -r base.orig/src/rec/subArrayRecord.c base/src/rec/subArrayRecord.c --- base.orig/src/rec/subArrayRecord.c 2003-04-01 23:02:04.000000000 +0200 +++ base/src/rec/subArrayRecord.c 2005-10-17 17:00:16.000000000 +0200 @@ -169,7 +169,7 @@ struct subArrayRecord *psa=(struct subArrayRecord *)paddr->precord; paddr->pfield = psa->bptr; - if (!psa->udf && psa->nelm > psa->nord) + if (!psa->udf && (long) psa->nelm > psa->nord) paddr->no_elements = psa->nord; else paddr->no_elements = psa->nelm; @@ -186,7 +186,7 @@ { struct subArrayRecord *psa=(struct subArrayRecord *)paddr->precord; - if (!psa->udf && psa->nelm > psa->nord) + if (!psa->udf && (long) psa->nelm > psa->nord) *no_elements = psa->nord; else *no_elements = psa->nelm; @@ -200,7 +200,7 @@ { struct subArrayRecord *psa=(struct subArrayRecord *)paddr->precord; - if(nNew > psa->malm) + if(nNew > (long) psa->malm) psa->nord = psa->malm; else psa->nord = nNew;