Comments (3)
In redirections as you used it, StreamDevice acts according to the reported data type of the record. For lsi, that is STRING, which has 39 usable chars. You can see the same effect when trying to write to the lsi with dbpf <recordname> "<some extra long string>". That is exactly, what StreamDevice is doing when processing redirections.
To see the lsi as an array of SIZV chars, you need to access <recordname>.$
Again, you can check that behavior with dbpf and dbgf.
This should work as intended:
in "%(\$1LastErr-I.$)[^\r]";
from streamdevice.
BTW: The same is true when reading the lsi with CA.
That means, unlike other record types, using the root name of an lsi (and probably lso as well) is pretty useless. You will always only be able to access the first 39 chars. You basically always have to use .$
. This is quite unfortunate.
Maybe that behavior should be documented in the lsi/lso documentation, as it is probably not the expected behavior for most users.
from streamdevice.
Ah, yes. You are correct. And not the first person to remind me of the necessity of adding .$
(aka. .VAL$
) when using lsi
. There is no truncation if I append this in the proto file, and on my OPI screen (which I somehow didn't think of right away...).
Maybe that behavior should be documented in the lsi/lso documentation ...
For what it is worth, I looked at your lsi page before opening this ticket. So I would have seen a reminder there.
I am starting to wonder if lsi
is worth my trouble vs aai
or waveform
. It seems unlikely to me that I am the only one who continues to forget this subtlety.
from streamdevice.
Related Issues (20)
- Release Notes? HOT 3
- IOC lockRequest messages and inconsistent record scanning HOT 12
- An error occurred while installing StreamDevice HOT 20
- STREAM_PROTOCOL_PATH separator HOT 6
- deprecation warnings in vxWorks 6.9
- Connection redundancy (Feature) HOT 8
- Global @mismatch {} handler not called?
- Stream device 2.8.20 builds failure in Windows x86 HOT 3
- Allow default values for protocol parameters
- RTEMS 5 patch for conflicting declaration of mystrncasecmp() HOT 3
- Custom checksum converter with 2 digit decimal value
- Support setting local variables through info items HOT 8
- implicit declaration of function 'rtems_rpc_task_init' HOT 3
- No example IOC application after build HOT 2
- Usage of PROC field since StreamDevice 2.8.0 HOT 2
- crash in streamReload
- regex pseudo converter failing misbehaving? HOT 15
- compilation problem with 2-8-25 HOT 2
- help with compiling on windows 10 for the latest StreamDevice HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from streamdevice.