All pastes #949657 Raw Edit

This doesn't work on the Wii

public c v1 · immutable
·published 2008-03-19 23:12 UTC
rendered paste body
#ifdef REENTRANT_SYSCALLS_PROVIDED//---------------------------------------------------------------------------------int _DEFUN (_open_r, (r, file, flags, mode),			struct _reent * r _AND			const char *file  _AND			int   flags _AND			int   mode) {//---------------------------------------------------------------------------------#else//---------------------------------------------------------------------------------int _DEFUN (_open, (file, flags, mode),        const char *file  _AND        int   flags _AND        int   mode) {//---------------------------------------------------------------------------------	struct _reent *r = _REENT;#endif	__handle *handle;	int dev,fd;	dev = FindDevice(file);	fd = -1;	handle = (__handle *)-1;	if(dev!=-1 && devoptab_list[dev]->open_r) {		handle = (__handle *)malloc( sizeof(__handle) + devoptab_list[dev]->structSize );		if ( NULL != handle ) {			handle->device = dev;			handle->fileStruct = ((void *)handle) + sizeof(__handle);			fd = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode);			if ( fd == -1 ) {				free(handle);				handle = (__handle *)-1;			}		} else {			r->_errno = ENOSR;			handle = (__handle *)-1;		}	} else {		r->_errno = ENOSYS;	}	return (int)handle;}