This commit is contained in:
Jeff Hill
1996-12-12 18:56:27 +00:00
parent 88c99148b2
commit 03188d0eec
6 changed files with 20 additions and 5 deletions
+4 -2
View File
@@ -7,6 +7,9 @@ static char *sccsId = "@(#) $Id$";
/*
* $Log$
* Revision 1.41 1996/12/11 01:10:33 jhill
* added additional vector tests
*
* Revision 1.40 1996/11/22 19:07:01 jhill
* included string.h
*
@@ -755,7 +758,6 @@ int doacctst(char *pname)
* o verifies that we can at least write and read back the same array
* if multiple elements are present
*/
printf("Element Count %u\n", ca_element_count(chix1));
if (VALID_DB_REQ(chix1->type)) {
if (ca_element_count(chix1)>1u) {
dbr_float_t *pRF, *pWF, *pEF, *pT;
@@ -795,7 +797,7 @@ printf("Element Count %u\n", ca_element_count(chix1));
assert(*pRF++ == *pWF++);
}
}
printf("done");
printf("done\n");
}
}
+1
View File
@@ -1,6 +1,7 @@
//
// Example EPICS CA server
// (asynchrronous process variable)
//
#include <exServer.h>
+2
View File
@@ -312,6 +312,7 @@ caStatus exPV::getValue(gdd &value)
//
// exPV::write()
// (synchronous default)
//
caStatus exPV::write (const casCtx &, gdd &valueIn)
{
@@ -320,6 +321,7 @@ caStatus exPV::write (const casCtx &, gdd &valueIn)
//
// exPV::read()
// (synchronous default)
//
caStatus exPV::read (const casCtx &, gdd &protoIn)
{
+5 -1
View File
@@ -75,11 +75,15 @@ void exScalarPV::scan()
// be translated into a real number?
// 2) We prefer to unreference the old PV value here and
// reference the incomming value because this will
// result in value change events each retaining an
// result in each value change events retaining an
// independent value on the event queue.
//
caStatus exScalarPV::updateValue (gdd &valueIn)
{
//
// Really no need to perform this check since the
// server lib verifies that all requests are in range
//
if (!valueIn.isScalar()) {
return S_casApp_outOfBounds;
}
+4 -1
View File
@@ -142,6 +142,9 @@ caStatus exVectorPV::updateValue(gdd &valueIn)
// (and see if we are replacing all elements -
// replaceOk==TRUE)
//
// Perhaps much of this is unnecessary since the
// server lib checks the bounds of all requests
//
if (valueIn.isAtomic()) {
if (valueIn.dimension()!=1u) {
return S_casApp_badDimension;
@@ -166,7 +169,7 @@ caStatus exVectorPV::updateValue(gdd &valueIn)
if (replFlag==replace) {
//
// It is most efficient to replace all elements
// replacing all elements is efficient
//
valueIn.reference();
pNewValue = &valueIn;
+4 -1
View File
@@ -29,6 +29,9 @@
*
* History
* $Log$
* Revision 1.13 1996/12/11 01:03:52 jhill
* removed redundant bad client attach detect
*
* Revision 1.12 1996/12/06 22:36:22 jhill
* use destroyInProgress flag now functional nativeCount()
*
@@ -108,7 +111,7 @@ caStatus casStrmClient::verifyRequest (casChannelI *&pChan)
//
// element count out of range ?
//
if (mp->m_count> pChan->getPVI().nativeCount()) {
if (mp->m_count > pChan->getPVI().nativeCount()) {
return this->sendErr(mp, ECA_BADCOUNT, NULL);
}