On Tue, Mar 10, 2020 at 01:05:40PM +0300, Alexander Korotkov wrote:
> Two options seem reasonable to me in this case.  The first is to pass
> length as additional argument as you did.  The second option is to
> make argument a pointer to fixed-size array as following.
> 
> extern bool BuildRestoreCommand(const char *restoreCommand,
>                                 const char *xlogpath,   /* %p */
>                                 const char *xlogfname,  /* %f */
>                                 const char *lastRestartPointFname,  /* %r */
>                                 char (*commandResult)[MAXPGPATH]);
> 
> Passing pointer to array of different size would cause an error.  The
> downside of this approach is that passing palloc'd chunk of memory as
> commandResult would be less convenient.

Thanks Alexander for the input.  Another argument is that what you are
suggesting here is not the usual project style, so I would still stick
with two arguments to be consistent.
--
Michael

Attachment: signature.asc
Description: PGP signature

Reply via email to