rem: return mimetype;
add: return g_strdup (mimetype);
context: my_gnome_vfs_get_mime_type_with_data (const char *uri, gpointer *data){	GnomeVFSResult result;	GnomeVFSHandle *handle;	char *buffer;	const char *mimetype;	GnomeVFSFileSize total_bytes_read;	GnomeVFSFileSize bytes_read;	*data = NULL;	/* Open the file. */	result = gnome_vfs_open (&handle, uri, GNOME_VFS_OPEN_READ);	if (result != GNOME_VFS_OK)		return NULL;	/* Read the whole thing, up to MIME_READ_CHUNK_SIZE */	buffer = NULL;	total_bytes_read = 0;	do {		buffer = g_realloc (buffer, total_bytes_read				+ MIME_READ_CHUNK_SIZE);		result = gnome_vfs_read (handle,				buffer + total_bytes_read,				MIME_READ_CHUNK_SIZE,				&bytes_read);		if (result != GNOME_VFS_OK && result != GNOME_VFS_ERROR_EOF) {			g_free (buffer);			gnome_vfs_close (handle);			return NULL;		}		/* Check for overflow. */		if (total_bytes_read + bytes_read < total_bytes_read) {			g_free (buffer);			gnome_vfs_close (handle);			return NULL;		}		total_bytes_read += bytes_read;	} while (result == GNOME_VFS_OK			&& total_bytes_read < MIME_READ_CHUNK_SIZE);	/* Close the file. */	result = gnome_vfs_close (handle);	if (result != GNOME_VFS_OK) {		g_free (buffer);		return NULL;	}	/* Return the file. */	*data = g_realloc (buffer, total_bytes_read);	mimetype = gnome_vfs_get_mime_type_for_data (*data, total_bytes_read);	return mimetype;}