rem: status_t Translate(BPositionIO *inSource, const translator_info *inInfo, BMessage *ioExtension, uint32 outType, BPositionIO *outDestination) {
add: Translate(BPositionIO *inSource, const translator_info *inInfo, BMessage *ioExtension, uint32 outType, BPositionIO *outDestination) {
context: status_t Translate(BPositionIO *inSource, const translator_info *inInfo, 		BMessage *ioExtension, uint32 outType, BPositionIO *outDestination) {	const char *debug_text = getenv("GIF_TRANSLATOR_DEBUG");	if ((debug_text != NULL) && (atoi(debug_text) != 0)) debug = true;	if (outType == 0) outType = B_TRANSLATOR_BITMAP;	if (outType != GIF_TYPE && outType != B_TRANSLATOR_BITMAP) {		return B_NO_TRANSLATOR;	}		bool is_gif;	if (!DetermineType(inSource, &is_gif)) return B_NO_TRANSLATOR;	if (!is_gif && inInfo->type != B_TRANSLATOR_BITMAP) return B_NO_TRANSLATOR;		status_t err = B_OK;	bigtime_t now = system_time();	// Going from BBitmap to GIF	if (!is_gif) {		BBitmap **b = (BBitmap **)malloc(4);		*b = NULL;		err = GetBitmap(inSource, b);		if (err != B_OK) return err;		GIFSave *gs = new GIFSave(*b, outDestination);		if (gs->fatalerror) {			delete gs;			if (*b != NULL) delete *b;			delete b;			return B_NO_MEMORY;		}		delete gs;		delete *b;		delete b;	} else { // GIF to BBitmap		GIFLoad *gl = new GIFLoad(inSource, outDestination);		if (gl->fatalerror) {			delete gl;			return B_NO_MEMORY;		}		delete gl;	}		if (debug) {		now = system_time() - now;		printf("Translate() - Translation took %Ld microseconds\n", now);	}	return B_OK;}