The SDL forums have moved to discourse.libsdl.org.
This is just a read-only archive of the previous forums, to keep old links working.


SDL Forum Index
SDL
Simple Directmedia Layer Forums
getting file contents from stdio FILE*
brightening-eyes


Joined: 18 Jun 2015
Posts: 21
Location: tehran, iran
hello everyone,
as i've previously said, i want to compile the script into a file
using SDL_RWops
i've coded it from the ground-up which use's stdio FILE*, but i think
it doesn't retrieve the file contents
this is my code:
//our writer function that use's SDL's rwops API
SQInteger rwops_write(SQUserPointer dest, SQUserPointer src, SQInteger sz)
{
SDL_RWops* rw = (SDL_RWops*)dest;
return SDL_RWwrite(rw, src, sz, 1) == 1 ? SQ_OK : SQ_ERROR;
}

char* compile()
{
FILE *f=tmpfile(); //create a temporary file to store script byte-code in it
if(!f) //checks whether it's null or not
{
Error::Throw(scr.GetVM(), "unable to start compilation!");
return false;
}
SDL_RWops *rw=SDL_RWFromFP(f, 1); //create a SDL_RWops from our FILE pointer
if(!rw) //this must not be nulled two
{
Error::Throw(scr.GetVM(), "unable to compile the script");
fclose(f);
return false;
}
sq_writeclosure(scr.GetVM(), rwops_write, (void*)rw ); //now we write
our byte-code in the file
sq_pop(scr.GetVM(), 1); //this must be here to avoid memory leeks
char* buf=new char[SDL_RWtell(rw)]; //we need this to store byte-code in it
SDL_RWread(rw, buf, SDL_RWtell(rw), 1);
}

it doesn't work, what is the problem?
the buf is empty
what i've did wrong?
thanks a lot
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org