src/ioc: fix numerous warnings appearing on MSVC 12.0 / Windows (64bit)
This commit is contained in:
@@ -70,6 +70,7 @@ store_integer_value(const chfPluginArgDef *opt, char *user, epicsInt32 val)
|
||||
const chfPluginEnumType *emap;
|
||||
double *dval;
|
||||
char *sval;
|
||||
int ret;
|
||||
char buff[22]; /* 2^64 = 1.8e+19, so 20 digits plus sign max */
|
||||
|
||||
#ifdef DEBUG_CHF
|
||||
@@ -96,7 +97,8 @@ store_integer_value(const chfPluginArgDef *opt, char *user, epicsInt32 val)
|
||||
break;
|
||||
case chfPluginArgString:
|
||||
sval = user + opt->offset;
|
||||
if (sprintf(buff, "%ld", (long)val) > opt->size - 1) {
|
||||
ret = sprintf(buff, "%ld", (long)val);
|
||||
if (ret < 0 || (unsigned) ret > opt->size - 1) {
|
||||
return -1;
|
||||
}
|
||||
strncpy(sval, buff, opt->size-1);
|
||||
@@ -154,7 +156,7 @@ static int store_boolean_value(const chfPluginArgDef *opt, char *user, int val)
|
||||
break;
|
||||
case chfPluginArgString:
|
||||
sval = user + opt->offset;
|
||||
if ((val ? 4 : 5) > opt->size - 1) {
|
||||
if ((unsigned) (val ? 4 : 5) > opt->size - 1) {
|
||||
return -1;
|
||||
}
|
||||
strncpy(sval, val ? "true" : "false", opt->size - 1);
|
||||
@@ -178,7 +180,7 @@ store_double_value(const chfPluginArgDef *opt, void *vuser, double val)
|
||||
epicsInt32 *ival;
|
||||
double *dval;
|
||||
char *sval;
|
||||
int i;
|
||||
unsigned int i;
|
||||
|
||||
#ifdef DEBUG_CHF
|
||||
printf("Got a double for %s (type %d, convert: %s): %g\n",
|
||||
@@ -236,7 +238,7 @@ store_string_value(const chfPluginArgDef *opt, char *user, const char *val,
|
||||
double *dval;
|
||||
char *sval;
|
||||
char *end;
|
||||
int i;
|
||||
size_t i;
|
||||
|
||||
#ifdef DEBUG_CHF
|
||||
printf("Got a string for %s (type %d): %.*s\n",
|
||||
|
||||
@@ -143,7 +143,7 @@ static void get_enum_strs(DBADDR *paddr, char **ppbuffer,
|
||||
unsigned long no_str;
|
||||
char *ptemp;
|
||||
struct dbr_enumStrs *pdbr_enumStrs=(struct dbr_enumStrs*)(*ppbuffer);
|
||||
int i;
|
||||
unsigned int i;
|
||||
|
||||
memset(pdbr_enumStrs,'\0',dbr_enumStrs_size);
|
||||
switch(field_type) {
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "cantProceed.h"
|
||||
@@ -273,7 +274,7 @@ static long chf_parse(dbChannel *chan, const char **pjson)
|
||||
if (!yh)
|
||||
return S_db_noMemory;
|
||||
|
||||
ys = yajl_parse(yh, (const unsigned char *) json, jlen);
|
||||
ys = yajl_parse(yh, (const unsigned char *) json, (unsigned int) jlen);
|
||||
if (ys == yajl_status_insufficient_data)
|
||||
ys = yajl_parse_complete(yh);
|
||||
|
||||
@@ -286,7 +287,7 @@ static long chf_parse(dbChannel *chan, const char **pjson)
|
||||
case yajl_status_error: {
|
||||
unsigned char *err;
|
||||
|
||||
err = yajl_get_error(yh, 1, (const unsigned char *) json, jlen);
|
||||
err = yajl_get_error(yh, 1, (const unsigned char *) json, (unsigned int) jlen);
|
||||
printf("dbChannelCreate: %s\n", err);
|
||||
yajl_free_error(yh, err);
|
||||
} /* fall through */
|
||||
@@ -349,7 +350,7 @@ static long parseArrayRange(dbChannel* chan, const char *pname, const char **ppn
|
||||
epicsInt32 incr = 1;
|
||||
epicsInt32 l;
|
||||
char *pnext;
|
||||
short exist;
|
||||
ptrdiff_t exist;
|
||||
chFilter *filter;
|
||||
const chFilterPlugin *plug;
|
||||
parse_result result;
|
||||
|
||||
@@ -197,7 +197,7 @@ unsigned dbChannelIO::getName (
|
||||
size_t len = strlen ( name );
|
||||
strncpy ( pBuf, name, bufLen );
|
||||
if (len < bufLen)
|
||||
return len;
|
||||
return (unsigned) len;
|
||||
pBuf[--bufLen] = '\0';
|
||||
return bufLen;
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ static long dbDbGetPrecision(const struct link *plink, short *precision)
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
*precision = buffer.precision.dp;
|
||||
*precision = (short) buffer.precision.dp;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -658,7 +658,7 @@ long dbLoadLinkLS(struct link *plink, char *pbuffer, epicsUInt32 size,
|
||||
plink->value.constantStr) {
|
||||
strncpy(pbuffer, plink->value.constantStr, --size);
|
||||
pbuffer[size] = 0;
|
||||
*plen = strlen(pbuffer) + 1;
|
||||
*plen = (epicsUInt32) strlen(pbuffer) + 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -690,7 +690,7 @@ long dbGetLinkLS(struct link *plink, char *pbuffer, epicsUInt32 size,
|
||||
}
|
||||
if (!status) {
|
||||
pbuffer[--len] = 0;
|
||||
*plen = strlen(pbuffer) + 1;
|
||||
*plen = (epicsUInt32) strlen(pbuffer) + 1;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ static int dbpr_report(const char *pname, DBADDR *paddr, int interest_level,
|
||||
TAB_BUFFER *pMsgBuff, int tab_size);
|
||||
static void dbpr_msgOut(TAB_BUFFER *pMsgBuff,int tab_size);
|
||||
static void dbpr_init_msg(TAB_BUFFER *pMsgBuff,int tab_size);
|
||||
static void dbpr_insert_msg(TAB_BUFFER *pMsgBuff,int len,int tab_size);
|
||||
static void dbpr_insert_msg(TAB_BUFFER *pMsgBuff,size_t len,int tab_size);
|
||||
static void dbpr_msg_flush(TAB_BUFFER *pMsgBuff,int tab_size);
|
||||
|
||||
static char *dbf[DBF_NTYPES] = {
|
||||
@@ -337,7 +337,7 @@ long dbpf(const char *pname,const char *pvalue)
|
||||
long status;
|
||||
epicsUInt16 value;
|
||||
short dbrType;
|
||||
long n = 1;
|
||||
size_t n = 1;
|
||||
|
||||
if (!pname || !*pname || !pvalue) {
|
||||
printf("Usage: dbpf \"pv name\", \"value\"\n");
|
||||
@@ -365,7 +365,7 @@ long dbpf(const char *pname,const char *pvalue)
|
||||
dbrType = DBR_STRING;
|
||||
}
|
||||
|
||||
status = dbPutField(&addr, dbrType, pvalue, n);
|
||||
status = dbPutField(&addr, dbrType, pvalue, (long) n);
|
||||
if (status) {
|
||||
if (status == -1)
|
||||
printf("dbpf: Value conversion from %s to %s failed\n",
|
||||
@@ -579,13 +579,13 @@ long dbtpf(const char *pname, const char *pvalue)
|
||||
break;
|
||||
case DBR_SHORT:
|
||||
if ((valid = validLong)) {
|
||||
epicsInt16 val_i16 = val_long;
|
||||
epicsInt16 val_i16 = (epicsInt16) val_long;
|
||||
status = dbPutField(&addr, put_type, &val_i16,1L);
|
||||
}
|
||||
break;
|
||||
case DBR_USHORT:
|
||||
if ((valid = validULong)) {
|
||||
epicsUInt16 val_u16 = val_ulong;
|
||||
epicsUInt16 val_u16 = (epicsUInt16) val_ulong;
|
||||
status = dbPutField(&addr, put_type, &val_u16, 1L);
|
||||
}
|
||||
break;
|
||||
@@ -611,7 +611,7 @@ long dbtpf(const char *pname, const char *pvalue)
|
||||
break;
|
||||
case DBR_ENUM:
|
||||
if ((valid = validULong)) {
|
||||
epicsEnum16 val_e16 = val_ulong;
|
||||
epicsEnum16 val_e16 = (epicsEnum16) val_ulong;
|
||||
status = dbPutField(&addr, put_type, &val_e16, 1L);
|
||||
}
|
||||
break;
|
||||
@@ -755,7 +755,7 @@ static void printBuffer(
|
||||
epicsInt32 val_i32;
|
||||
epicsUInt32 val_u32;
|
||||
char *pmsg = pMsgBuff->message;
|
||||
int i, len;
|
||||
size_t i, len;
|
||||
|
||||
if (reqOptions & DBR_STATUS) {
|
||||
if (retOptions & DBR_STATUS) {
|
||||
@@ -1252,7 +1252,7 @@ static int dbpr_report(
|
||||
|
||||
static void dbpr_msgOut(TAB_BUFFER *pMsgBuff,int tab_size)
|
||||
{
|
||||
int len;
|
||||
size_t len;
|
||||
int err = 0;
|
||||
char *pmsg = pMsgBuff->message;
|
||||
static int last_tabsize;
|
||||
@@ -1298,11 +1298,11 @@ static void dbpr_init_msg(TAB_BUFFER *pMsgBuff,int tab_size)
|
||||
pMsgBuff->pNexTab = pMsgBuff->out_buff + tab_size;
|
||||
}
|
||||
|
||||
static void dbpr_insert_msg(TAB_BUFFER *pMsgBuff,int len,int tab_size)
|
||||
static void dbpr_insert_msg(TAB_BUFFER *pMsgBuff,size_t len,int tab_size)
|
||||
{
|
||||
int current_len;
|
||||
int n;
|
||||
int tot_line;
|
||||
size_t current_len;
|
||||
size_t n;
|
||||
size_t tot_line;
|
||||
char *pmsg = pMsgBuff->message;
|
||||
current_len = strlen(pMsgBuff->out_buff);
|
||||
tot_line = current_len + len;
|
||||
|
||||
@@ -471,7 +471,7 @@ int dbChannel_get_count(
|
||||
status = dbChannelGetField(chan, DBR_FLOAT, &newSt, &options, &zero, pfl);
|
||||
pold->status = newSt.status;
|
||||
pold->severity = newSt.severity;
|
||||
pold->precision = newSt.precision.dp;
|
||||
pold->precision = (dbr_short_t) newSt.precision.dp;
|
||||
strncpy(pold->units, newSt.units, MAX_UNITS_SIZE);
|
||||
pold->units[MAX_UNITS_SIZE-1] = '\0';
|
||||
pold->upper_disp_limit = epicsConvertDoubleToFloat(newSt.upper_disp_limit);
|
||||
@@ -556,7 +556,7 @@ int dbChannel_get_count(
|
||||
status = dbChannelGetField(chan, DBR_DOUBLE, &newSt, &options, &zero, pfl);
|
||||
pold->status = newSt.status;
|
||||
pold->severity = newSt.severity;
|
||||
pold->precision = newSt.precision.dp;
|
||||
pold->precision = (dbr_short_t) newSt.precision.dp;
|
||||
strncpy(pold->units, newSt.units, MAX_UNITS_SIZE);
|
||||
pold->units[MAX_UNITS_SIZE-1] = '\0';
|
||||
pold->upper_disp_limit = newSt.upper_disp_limit;
|
||||
@@ -620,7 +620,7 @@ int dbChannel_get_count(
|
||||
status = dbChannelGetField(chan, DBR_FLOAT, &newSt, &options, &zero, pfl);
|
||||
pold->status = newSt.status;
|
||||
pold->severity = newSt.severity;
|
||||
pold->precision = newSt.precision.dp;
|
||||
pold->precision = (dbr_short_t) newSt.precision.dp;
|
||||
strncpy(pold->units, newSt.units, MAX_UNITS_SIZE);
|
||||
pold->units[MAX_UNITS_SIZE-1] = '\0';
|
||||
pold->upper_disp_limit = epicsConvertDoubleToFloat(newSt.upper_disp_limit);
|
||||
@@ -742,7 +742,7 @@ int dbChannel_get_count(
|
||||
status = dbChannelGetField(chan, DBR_DOUBLE, &newSt, &options, &zero, pfl);
|
||||
pold->status = newSt.status;
|
||||
pold->severity = newSt.severity;
|
||||
pold->precision = newSt.precision.dp;
|
||||
pold->precision = (dbr_short_t) newSt.precision.dp;
|
||||
strncpy(pold->units, newSt.units, MAX_UNITS_SIZE);
|
||||
pold->units[MAX_UNITS_SIZE-1] = '\0';
|
||||
pold->upper_disp_limit = newSt.upper_disp_limit;
|
||||
|
||||
@@ -31,8 +31,10 @@ epicsShareExtern long (*dbGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1])
|
||||
epicsShareExtern long (*dbPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1])
|
||||
(struct dbAddr *paddr, const void *pbuffer,long nRequest,
|
||||
long no_elements, long offset);
|
||||
epicsShareExtern long (*dbFastGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1])();
|
||||
epicsShareExtern long (*dbFastPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1])();
|
||||
epicsShareExtern long (*dbFastGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1])
|
||||
(const void *from, void *to, dbAddr *paddr);
|
||||
epicsShareExtern long (*dbFastPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1])
|
||||
(const void *from, void *to, dbAddr *paddr);
|
||||
|
||||
/*Conversion between old and new DBR types*/
|
||||
epicsShareExtern unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1];
|
||||
|
||||
@@ -305,7 +305,7 @@ long dbReadDatabaseFP(DBBASE **ppdbbase,FILE *fp,
|
||||
|
||||
static int db_yyinput(char *buf, int max_size)
|
||||
{
|
||||
int l,n;
|
||||
size_t l,n;
|
||||
char *fgetsRtn;
|
||||
|
||||
if(yyAbort) return(0);
|
||||
|
||||
@@ -78,7 +78,7 @@ void dbPvdInitPvt(dbBase *pdbbase)
|
||||
return;
|
||||
}
|
||||
|
||||
PVDENTRY *dbPvdFind(dbBase *pdbbase, const char *name, int lenName)
|
||||
PVDENTRY *dbPvdFind(dbBase *pdbbase, const char *name, size_t lenName)
|
||||
{
|
||||
dbPvd *ppvd = pdbbase->ppvd;
|
||||
dbPvdBucket *pbucket;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
/* $Revision-Id$ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
@@ -395,10 +396,10 @@ void dbCatString(char **string,int *stringLength,char *src,char *separator)
|
||||
}
|
||||
if(*stringLength>0) {
|
||||
strcat(*string,separator);
|
||||
*stringLength += strlen(separator);
|
||||
*stringLength += (int) strlen(separator);
|
||||
}
|
||||
strcat(*string,src);
|
||||
*stringLength += strlen(src);
|
||||
*stringLength += (int) strlen(src);
|
||||
}
|
||||
|
||||
dbBase * dbAllocBase(void)
|
||||
@@ -698,7 +699,7 @@ long dbAddPath(DBBASE *pdbbase,const char *path)
|
||||
* 2) isnt a path separator
|
||||
*/
|
||||
len = (plast - path) + 1;
|
||||
if (dbAddOnePath (pdbbase, path, len)) return (-1);
|
||||
if (dbAddOnePath (pdbbase, path, (unsigned) len)) return (-1);
|
||||
path += len;
|
||||
if (pcolon) {
|
||||
path += strlen(OSI_PATH_LIST_SEPARATOR);
|
||||
@@ -1232,7 +1233,7 @@ long dbGetAttributePart(DBENTRY *pdbentry, const char **ppname)
|
||||
if (!precordType) return S_dbLib_recordTypeNotFound;
|
||||
pattribute = (dbRecordAttribute *)ellFirst(&precordType->attributeList);
|
||||
while (pattribute) {
|
||||
int nameLen = strlen(pattribute->name);
|
||||
size_t nameLen = strlen(pattribute->name);
|
||||
int compare = strncmp(pattribute->name, pname, nameLen);
|
||||
int ch = pname[nameLen];
|
||||
if (compare == 0 && !(ch == '_' || isalnum(ch))) {
|
||||
@@ -1491,13 +1492,13 @@ long dbFindRecordPart(DBENTRY *pdbentry, const char **ppname)
|
||||
dbBase *pdbbase = pdbentry->pdbbase;
|
||||
const char *pname = *ppname;
|
||||
const char *pfn;
|
||||
int lenName;
|
||||
size_t lenName;
|
||||
PVDENTRY *ppvdNode;
|
||||
|
||||
zeroDbentry(pdbentry);
|
||||
pfn = strchr(pname, '.');
|
||||
if (pfn) {
|
||||
lenName = pfn - pname;
|
||||
lenName = (size_t) (pfn - pname);
|
||||
} else {
|
||||
lenName = strlen(pname);
|
||||
}
|
||||
@@ -1760,7 +1761,7 @@ long dbFindFieldPart(DBENTRY *pdbentry,const char **ppname)
|
||||
char **papsortFldName;
|
||||
short *sortFldInd;
|
||||
int ch;
|
||||
int nameLen;
|
||||
size_t nameLen;
|
||||
|
||||
if (!precordType) return S_dbLib_recordTypeNotFound;
|
||||
if (!precnode) return S_dbLib_recNotFound;
|
||||
@@ -1792,7 +1793,7 @@ long dbFindFieldPart(DBENTRY *pdbentry,const char **ppname)
|
||||
bottom = 0;
|
||||
test = (top + bottom) / 2;
|
||||
while (1) {
|
||||
int compare = strncmp(papsortFldName[test], pname, nameLen);
|
||||
size_t compare = strncmp(papsortFldName[test], pname, nameLen);
|
||||
if (compare == 0)
|
||||
compare = strlen(papsortFldName[test]) - nameLen;
|
||||
if (compare == 0) {
|
||||
@@ -2092,7 +2093,7 @@ long dbPutString(DBENTRY *pdbentry,const char *pstring)
|
||||
DBLINK *plink;
|
||||
char string[80];
|
||||
char *pstr = string;
|
||||
int ind;
|
||||
size_t ind;
|
||||
|
||||
if (!pfield)
|
||||
return S_dbLib_fieldNotFound;
|
||||
@@ -2363,7 +2364,7 @@ long dbPutString(DBENTRY *pdbentry,const char *pstring)
|
||||
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;
|
||||
|
||||
@@ -52,7 +52,7 @@ typedef struct{
|
||||
epicsShareFunc int dbPvdTableSize(int size);
|
||||
extern int dbStaticDebug;
|
||||
void dbPvdInitPvt(DBBASE *pdbbase);
|
||||
PVDENTRY *dbPvdFind(DBBASE *pdbbase,const char *name,int lenname);
|
||||
PVDENTRY *dbPvdFind(DBBASE *pdbbase,const char *name,size_t lenname);
|
||||
PVDENTRY *dbPvdAdd(DBBASE *pdbbase,dbRecordType *precordType,dbRecordNode *precnode);
|
||||
void dbPvdDelete(DBBASE *pdbbase,dbRecordNode *precnode);
|
||||
void dbPvdFreeMem(DBBASE *pdbbase);
|
||||
|
||||
@@ -63,7 +63,8 @@ static int precision[2] = {6, 14};
|
||||
static void realToString(double value, char *preturn, int isdouble)
|
||||
{
|
||||
double absvalue;
|
||||
int logval,prec,end;
|
||||
int logval,prec;
|
||||
size_t end;
|
||||
char tstr[30];
|
||||
char *ptstr = &tstr[0];
|
||||
int round;
|
||||
@@ -583,9 +584,9 @@ long dbPutStringNum(DBENTRY *pdbentry,const char *pstring)
|
||||
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_LONG : *(epicsInt32 *)pfield = value; break;
|
||||
case DBF_CHAR : *(char *)pfield = (char)value; break;
|
||||
case DBF_SHORT : *(short *)pfield = (short)value; break;
|
||||
case DBF_LONG : *(epicsInt32 *)pfield = (epicsInt32)value; break;
|
||||
default: epicsPrintf("Logic error in dbPutStringNum\n");
|
||||
}
|
||||
}
|
||||
@@ -600,10 +601,10 @@ long dbPutStringNum(DBENTRY *pdbentry,const char *pstring)
|
||||
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_ULONG : *(epicsUInt32 *)pfield = value; break;
|
||||
case DBF_ENUM: *(unsigned short *)pfield = (unsigned short)value; break;
|
||||
case DBF_ULONG : *(epicsUInt32 *)pfield = (epicsUInt32)value; break;
|
||||
default: epicsPrintf("Logic error in dbPutStringNum\n");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user