• David Rowley's avatar
    Clean up some questionable usages of DatumGet* macros · 8bdb36aa
    David Rowley authored
    This tidies up some questionable coding which made use of
    DatumGetPointer() for Datums being passed into functions where the
    parameter is expected to be a cstring.  We saw no compiler warnings with
    the old code as the Pointer type used in DatumGetPointer() happens to
    be a char * rather than a void *.  However, that's no excuse and we should
    be using the correct macro for the job.
    
    Here we also make use of OutputFunctionCall() rather than using
    FunctionCall1() directly to call the type's output function.
    OutputFunctionCall() is the standard way to do this.  It casts the
    returned value to a cstring for us.
    
    In passing get rid of a duplicate call to strlen().  Most compilers will
    likely optimize away the 2nd call, but there may be some that won't.  In
    any case, this just aligns the code to some other nearby code that already
    does this.
    
    Discussion: https://postgr.es/m/CAApHDvq1D=ehZ8hey8Hz67N+_Zth0GHO5wiVCfv1YcGPMXJq0A@mail.gmail.com
    8bdb36aa
brin_minmax_multi.c 85.9 KB