[PD-dev] How to use the return value of the function canvas_open()?

Pierre Guillot guillotpierre6 at gmail.com
Fri Aug 24 18:01:54 CEST 2018


Hi,

I use the canvas_open() function to locate a file (FAUST DSP file) but I
don't understand if I should use the close() function on the returning
value:


int fd = canvas_open(...);
if(fd >= 0)
{
    close(fd);
}

This code works well on Linux and Mac but it crashes on Windows. I looked
at other uses of the canvas_open() function but they differ. The close()
function is used, in the binbuf_read_via_canvas() function (l. 850 of
m_binbuf.c) or in the open_soundfile_via_canvas() function (l. 494 of
d_soundfile.c). But the returning value is not closed in the bonk_read()
function (l. 985 of bonk~.c) or the garray_read() function (l. 1096 of
g_array.c).

Is there one case where I should call the close() function and another not.
Or is there an error in some of these example? Am I missing something
important?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20180824/449c332a/attachment.html>


More information about the Pd-dev mailing list