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