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
signature.asc
Description: PGP signature