logo       

Re: [patch #5704] Data New/Open/Save: msg#00060

statistics.pspp.devel

Subject: Re: [patch #5704] Data New/Open/Save

On Tue, Jan 23, 2007 at 03:07:50PM -0800, Ben Pfaff wrote:
>
> + sss = create_syntax_string_source ("EXPORT OUTFILE='%s'.",
> + de->file_name);
>

> 2. Either it must allocate heap space for its return value, in which
> case the caller must free it, or it can use a static buffer, which
> causes other problems.

This is why I was suggesting to use the approach of the gnulib
"quote" function (which see), which seems to be fairly
successful. Otherwise, yes, it's not a great situation. (Pools
might help, but they won't entirely erase the pain.)


I had a brief look at the gnulib function. Essentially, it seems to
address this problem merely by allowing the caller to nominate a
particular static buffer to use, which (like you say) affords some
flexibility, but doesn't really solve the problem.

I was thinking that an alternative approach would be to implement a
special conversion specification within the
create_syntax_string_source function. Then we could simply write
something like:

create_syntax_string_source ("EXPORT OUTFILE=%q.", de->file_name);

This way, there's no need for the caller to worry about buffers or
dealloction at all.

I remember coming across a sprintf like function which allows you to
specify custom conversions, but I can't remember where I found it.

J'

--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://pgp.mit.edu or any PGP keyserver for public key.


Attachment: signature.asc
Description: Digital signature

_______________________________________________
pspp-dev mailing list
pspp-dev@xxxxxxx
http://lists.gnu.org/mailman/listinfo/pspp-dev
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise