diff options
author | Tor Lillqvist <tml@collabora.com> | 2018-04-24 19:56:17 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2018-05-31 15:29:44 +0300 |
commit | e4a99a3c502c0285b6fb542d84a9bffde045e526 (patch) | |
tree | d9e147af07fe0b5db467e882b511a99c0b0e197b /vbahelper | |
parent | 16a1bd541610c53aee4df08e9f95e06abb36be37 (diff) |
Make convertDispparamsArgs() handle mismatch in number of parameters sanely
Parameters come in in reverse order in pdispparams. There might be
less parameters than expected. In that case, assume the missing ones
are "optional" (but can't be marked as such in UNO IDL), and fill in
the rest with empty Anys. There might also be more parameters than
expected. In that case, assume the oovbaapi UNO IDL hasn't kept up
with added optional parameters in MSO, and just ignore the extra ones,
as long as they are empty.
An example: incoming parameters: <12, 13, "foo/bar.tem">
Expected paramters: (string filename, int something, int
somethingElse, Any whatever, Any whateverElse)
Here the existing incoming parameters are placed in reverse order in
the first three outgoing parameters, and the rest of the outgoing
paramters are passed as empty Anys.
Another example: incoming parameters: <EMPTY, TRUE>
Expected parameters: (bool flag)
Here the TRUE is passed as the sole outgoing parameter, and the
incoming EMPTY is ignored.
Still an example: incoming parameters: <"foo.doc", TRUE>
Expected parameters: (bool flag)
This throws an error as the incoming non-empty extra parameter
presumably indicates something important, but there is no
corresponding outgoing parameter to pass it in.
Change-Id: Ib04f9701099ecb899e792d99ff86588022b3bbf6
Diffstat (limited to 'vbahelper')
0 files changed, 0 insertions, 0 deletions