Compare commits

...

2 Commits

Author SHA1 Message Date
Christopher Arndt af27abbaca Replace C memcmp/cpy with copyMem/cmpMem
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2024-05-23 20:17:13 +02:00
Christopher Arndt 1dcf5ac82f Minor doc comment fixes
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2024-05-23 18:15:52 +02:00
2 changed files with 8 additions and 8 deletions

View File

@ -163,18 +163,19 @@ type
## ##
## The body of an AtomSequence (a sequence of events). ## The body of an AtomSequence (a sequence of events).
## ##
## The unit field is either a Urid that described an appropriate time stamp ## The unit field is either a Urid that describes an appropriate time stamp
## type, or may be 0 where a default stamp is known. For ## type, or may be 0 where a default stamp type is known. For
## lv2Descriptor.run(), the default stamp is audio frames. ## lv2Descriptor.run(), the default stamp type is audio frames.
## ##
## The contents of a sequence is a series of AtomEvent, each aligned ## The contents of a sequence is a series of AtomEvent, each aligned
## to 64-bits, for example: ## to 64-bits, for example:
## <pre> ##
## ```
## | Event 1 (size 6) | Event 2 ## | Event 1 (size 6) | Event 2
## | | | | | | | | | ## | | | | | | | | |
## | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
## |FRAMES |SIZE |TYPE |DATADATADATAPAD|FRAMES |... ## |FRAMES |SIZE |TYPE |DATADATADATAPAD|FRAMES |...
## </pre> ## ```
## ##
AtomSequenceBody* {.bycopy.} = object AtomSequenceBody* {.bycopy.} = object
unit*: Urid ## Urid of unit of event time stamps. unit*: Urid ## Urid of unit of event time stamps.

View File

@ -10,7 +10,6 @@
## Utilities for working with atoms. ## Utilities for working with atoms.
## ##
from system/ansi_c import c_memcmp, c_memcpy
import ../atom import ../atom
import ../ptrmath import ../ptrmath
import ../urid import ../urid
@ -40,7 +39,7 @@ proc atomIsNull*(atom: ptr Atom): bool {.inline.} =
proc atomEquals*(a: ptr Atom; b: ptr Atom): bool {.inline.} = proc atomEquals*(a: ptr Atom; b: ptr Atom): bool {.inline.} =
return (a == b) or return (a == b) or
((a.`type` == b.`type`) and (a.size == b.size) and ((a.`type` == b.`type`) and (a.size == b.size) and
c_memcmp(a + 1, b + 1, a.size) == 0) cmpMem(a + 1, b + 1, a.size) == 0)
## ##
## Sequence Iterator ## Sequence Iterator
@ -126,7 +125,7 @@ proc atomSequenceAppendEvent*(seq: ptr AtomSequence; capacity: uint32;
return nil return nil
var e = atomSequenceEnd(seq.body.addr, seq.atom.size) var e = atomSequenceEnd(seq.body.addr, seq.atom.size)
c_memcpy(e, event, totalSize) copyMem(e, event, totalSize)
seq.atom.size += atomPadSize(totalSize) seq.atom.size += atomPadSize(totalSize)
return e return e