Forums > Dev

[noob] sysfile_write() empty file

Jun 20 2013 | 3:52 pm

I am trying to understand the reading and writing portions of the SDK and am having trouble with the sysfile_write(). I got sysfile_writetextfile() to work but am stuck with this.

I followed the documentation but the resulting textfile, while 100 bytes large, is empty. Here is the code:

void buffTest_writefile(t_buffTest *x, char *filename, short path)
char *buf[100];
t_fourcc filetype = 'TEXT';
t_ptr_size count;
long err;
t_filehandle fh;
for (int i = 0; i < 100; i++) {
buf[i] = i + 1;
count = 100;
err = path_createsysfile(filename, path, filetype, &fh);
if (err)
err = sysfile_write(fh, &count, buf);

Any pointers would be appreciated ;)

Max 6.1.3
SDK. 6.1.1
OSX 10.8.4

Jun 20 2013 | 3:56 pm

… and while I am here. Why is there a short numtype = 1; in the example? It is never used as far as I can tell…

Jun 20 2013 | 4:17 pm

the code is questionable. I am unsure what you are trying to do, but I see several concerns.

char *buf[100]
that creates an array of 100 slots where each slot is a pointer to a char
I suspect, you intend to declare it instead to be:
char buf[100];

later in the code, you pass buf to sysfile_write. buf means the pointer to the first element of buf. So its a pointer to a pointer. And that’s weird. Not what you probably want to give to sysfile_write.

Also, the 2nd param to sysfile_write should be a pointer to a long. Therefore, I would declare it to be:
long count;
and then call it like this:
err = sysfile_write(fh, &count, buf);

Jun 20 2013 | 4:24 pm

Ah, I could be wrong. The SDK doc is wrong on this topic area so you might have to experiment.
Also read this post

Jun 20 2013 | 4:24 pm

according to the .h file it’s not a long but like this t_max_err sysfile_write(t_filehandle f, t_ptr_size *count, const void *bufptr);

not sure about the buf thing… it’s straight out of the SDK help… not sure what to do about that.

Jun 20 2013 | 4:25 pm

already tried that, thanks.

Jun 20 2013 | 4:32 pm

not sure this will help, but here is the resulting .txt file.

  1. count100.txt
Viewing 7 posts - 1 through 7 (of 7 total)

Forums > Dev