Beispiel #1
0
static struct iso_directory_record * seek_name(iso9660_VOLUME *volume,
					       struct iso_directory_record *idr,
					       char *name)
{
	struct iso_directory_record *result;
	char name_buf[256];
	iso9660_DIR *dir;

	dir = iso9660_opendir_node(volume, idr);
	if (dir == NULL)
		return NULL;

	while ((idr = iso9660_readdir(dir)) != NULL)
	{
		iso9660_name(volume, idr, name_buf);
		if (strcasecmp(name, name_buf) == 0)
		{
			result = idr_new(idr);
			iso9660_closedir(dir);
			return result;
		}
	}
	iso9660_closedir(dir);
	return NULL;
}
Beispiel #2
0
static void
file_close( file_desc_t *fd )
{
	iso9660_COMMON *common = (iso9660_COMMON *)fd;

	if (common->type == FILE)
		iso9660_close(common->file);
	else if (common->type == DIR)
		iso9660_closedir(common->dir);
	free(common);
}