fix(ablegacy): indirect element index up to 999 on PLC-5; clear IndirectLastName on dispose

Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
Joseph Doherty
2026-10-08 16:56:58 -04:00
parent b0b0ce9c77
commit 73fdb80157
2 changed files with 8 additions and 2 deletions
+1 -1
View File
@@ -121,7 +121,7 @@ physical inputs and may reject the write.
- **Indirect addressing (#247 parse, #646 runtime).** `N7:[N7:0]` (word from another address) and `N[N7:0]:5` (file
from another address) parse, one level deep (the inner address must be direct, and carries the family's octal rule).
At runtime the driver reads the inner address first (same runtime factory, so libplctag and Native alike), requires
an integer in range (word/element `0..255`, file `0..999`), composes the concrete address and runs the normal
an integer in range (word/element `0..255`, or `0..999` on PLC-5/LogixPccc; file `0..999`), composes the concrete address and runs the normal
read/write path against it. **The index is re-read on every read/write - never cached** - and the previous
resolution's handle is released when the index moves. A bad index (negative, too large, float/string source) is
`BadOutOfRange` for that tag only (no health impact); an inner-read failure propagates its own status (a wire