extern unsigned char* SDL_GetRowStretchCode(void);
- extern unsigned char* SDL_NewRowStretchCode(unsigned size);
If you do not need that effiency, use PutRowStretchCode and RunRowStretchCode which are also good in a multithreading environment. To allocate a new buffer for usage with Put/Run you can use the NewRowStretchCode routine which is also used on NX machines (e.g. AMD64) where the data segment is set to be not-executable (in that case it will allocate from heap and use mprotect). if the argument is 0 then a buffer of the default size is allocated. If the buffer allocation (or mprotect) fails it will return NULL and SDL_SetError.