mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-04-25 07:20:43 +02:00
Merge branch 'spec-correction' into 'master'
Add a few clarifications to the spec See merge request dbus/dbus!203
This commit is contained in:
commit
ef55a3db0d
1 changed files with 21 additions and 1 deletions
|
|
@ -1207,7 +1207,9 @@
|
|||
array elements marshalled in sequence. <varname>n</varname> does not
|
||||
include the padding after the length, or any padding after the
|
||||
last element. i.e. <varname>n</varname> should be divisible by the
|
||||
number of elements in the array.
|
||||
number of elements in the array. Note that the alignment padding for the
|
||||
first element is required even if there is no first element (an
|
||||
empty array, where <varname>n</varname> is zero).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
@ -1245,6 +1247,24 @@
|
|||
(See <link linkend="message-protocol-marshaling-signature">Valid
|
||||
Signatures</link>.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It should be noted that while a variant itself does not require any
|
||||
alignment padding, the contained value does need to be padded
|
||||
according to the alignment rules of its type.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For instance, if the current position in the message is at a multiple of
|
||||
8 bytes and the byte-order is big-endian, a variant containing a 64-bit
|
||||
integer 5 would be marshalled as:
|
||||
|
||||
<screen>
|
||||
0x01 0x74 0x00 <lineannotation>signature bytes (length = 1, signature = 't' and trailing nul)</lineannotation>
|
||||
0x00 0x00 0x00 0x00 0x00 <lineannotation>padding to 8-byte boundary</lineannotation>
|
||||
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x05 <lineannotation>8 bytes of contained value</lineannotation>
|
||||
</screen>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue