[fpc-pascal] [PATCH] Add the CreateCGIParams/FreeCGIParams methods in FCL FCGI

Michael Van Canneyt michael at freepascal.org
Fri Jan 30 08:39:49 CET 2015



On Thu, 29 Jan 2015, silvioprog wrote:

> On Thu, Jan 29, 2015 at 7:26 PM, Michael Van Canneyt <michael at freepascal.org> wrote:
> 
>
>       On Thu, 29 Jan 2015, silvioprog wrote:
>
>             Hello,
>
>             Please see this patch in attached. Can I send it to bugtracker?
> 
>
>       I don't see the point. Why do you need this ?
> 
> 
> Yes, after a while I saw that my patch seems redundant. But please notice this code below:
> 
> function TFCGIRequest.ProcessFCGIRecord(AFCGIRecord: PFCGI_Header): boolean;
> ...
>                         else
>                           begin
>                           if not assigned(FCGIParams) then
>                             FCGIParams := TStringList.Create;
>                           GetNameValuePairsFromContentRecord(PFCGI_ContentRecord(AFCGIRecord),FCGIParams);
>                           end;
> 
> It seems to offer the programmer to create an own cgiparams. Is this "if" just to create this field when the request need to use it?

Yes. I usually prefer late allocation on an as-needed basis.

> 
> What do you think about to create the FCGIParams field in the create of the TFCGIRequest class and remove the "if" from the
> ProcessFCGIRecord method?
> 
> I think that the ProcessFCGIRecord method is more triggered than the constructor of the TFCGIRequest class.

ProcessFCGIRecord is usually called only once or maybe twice if there are really a lot of parameters.
So I seriously doubt it will make a noticeable difference in speed :)

Michael.


More information about the fpc-pascal mailing list