Beispiel #1
0
extern void do_endwhile(void)
{
   if (in_false_if())
   {
      do_endif(0);
      input_unmark();
#ifdef DEBUG_WHILE

      if (debugging)
      {
         outputs("//endwhile:");
         outputd(curline());
         outputs(",");
         outputs(curfile());
         outputs("\\\\");
      }
#endif
      out_at(curline(), curfile());
   }
   else
   {
      do_endif(0);
      input_recover();
      input_mark();
      do_if(0);
   }
}
Beispiel #2
0
Torrent::Torrent(libtorrent::torrent_handle torrentStatus) 
	: mountable(false) , m_hasMedia(false) , cur_torrent(torrentStatus) , size(0) , m_stoped(false)
{
	file_storage storrgae=cur_torrent.get_torrent_info().files();
	libtorrent::file_storage::iterator bg=storrgae.begin(),
		end=storrgae.end();
	StaticHelpers::guessMimeIcon("");
	for (libtorrent::file_storage::iterator i=bg;i!=end;i++)
	{
		QFileInfo curfile(QString::fromUtf8(storrgae.file_path(*i).c_str()));
		if (cur_torrent.file_priority(storrgae.file_index(*i)) > 0 && StaticHelpers::suffixes[StaticHelpers::DISK].contains(curfile.suffix().toLower()))
		{
			imageFiles << QString::fromUtf8(cur_torrent.save_path().c_str())+QString::fromUtf8(storrgae.file_path(*i).c_str());
		}
		if (cur_torrent.file_priority(storrgae.file_index(*i)) > 0)
		{
			if (StaticHelpers::suffixes[StaticHelpers::VIDEO].contains(curfile.suffix().toLower()) || StaticHelpers::suffixes[StaticHelpers::AUDIO].contains(curfile.suffix().toLower()))
				m_hasMedia=true;
			size+=storrgae.file_size(*i);
		}
	}
	
	base_suffix=StaticHelpers::GetBaseSuffix(storrgae);
	//qDebug() << base_suffix << GetName();
	if (!base_suffix.isEmpty())
	{
				
		icon=StaticHelpers::guessMimeIcon(base_suffix);
	}
	else
	{
		icon = QIcon(":/icons/my-folder.ico");
	}
}
Beispiel #3
0
static void romident(core_options *options, const char *filename, romident_status *status)
{
	osd_directory *directory;

	/* reset the status */
	memset(status, 0, sizeof(*status));

	/* first try to open as a directory */
	directory = osd_opendir(filename);
	if (directory != NULL)
	{
		const osd_directory_entry *entry;

		/* iterate over all files in the directory */
		while ((entry = osd_readdir(directory)) != NULL)
			if (entry->type == ENTTYPE_FILE)
			{
				astring curfile(filename, PATH_SEPARATOR, entry->name);
				identify_file(options, curfile, status);
			}
		osd_closedir(directory);
	}

	/* if that failed, and the filename ends with .zip, identify as a ZIP file */
	else if (core_filename_ends_with(filename, ".zip"))
	{
		/* first attempt to examine it as a valid ZIP file */
		zip_file *zip = NULL;
		zip_error ziperr = zip_file_open(filename, &zip);
		if (ziperr == ZIPERR_NONE && zip != NULL)
		{
			const zip_file_header *entry;

			/* loop over entries in the ZIP, skipping empty files and directories */
			for (entry = zip_file_first_file(zip); entry; entry = zip_file_next_file(zip))
				if (entry->uncompressed_length != 0)
				{
					UINT8 *data = global_alloc_array(UINT8, entry->uncompressed_length);
					if (data != NULL)
					{
						/* decompress data into RAM and identify it */
						ziperr = zip_file_decompress(zip, data, entry->uncompressed_length);
						if (ziperr == ZIPERR_NONE)
							identify_data(options, entry->filename, data, entry->uncompressed_length, status);
						global_free(data);
					}
				}

			/* close up */
			zip_file_close(zip);
		}
	}

	/* otherwise, identify as a raw file */
	else
		identify_file(options, filename, status);
}
Beispiel #4
0
QStringList& Torrent::GetImageFiles()
{
	imageFiles.clear();
	file_storage storrgae=cur_torrent.get_torrent_info().files();
	libtorrent::file_storage::iterator bg=storrgae.begin(),
		end=storrgae.end();
	
	for (libtorrent::file_storage::iterator i=bg;i!=end;i++)
	{
		QFileInfo curfile(QString::fromUtf8(storrgae.file_path(*i).c_str()));
		if (cur_torrent.file_priority(storrgae.file_index(*i)) > 0 && StaticHelpers::suffixes[StaticHelpers::DISK].contains(curfile.suffix().toLower()) )
		{
			imageFiles << QString::fromUtf8(cur_torrent.save_path().c_str())+QString::fromUtf8(storrgae.file_path(*i).c_str());
		}
	}
	return imageFiles;
}
Beispiel #5
0
QString StaticHelpers::GetBaseSuffix(const file_storage& storrage)
{
	QString base_suffix;
	int maxSuffix = 0;
	QMap<QString, int> suffixesCount;

	for(int i = 0; i < storrage.num_files(); i++)
	{
		QFileInfo curfile(QString::fromUtf8(storrage.file_path(i).c_str()));

		if(StyleEngene::suffixes[StyleEngene::DISK].contains(curfile.suffix()))
		{
			base_suffix = curfile.suffix();
			break;
		}

		if(StyleEngene::suffixes[StyleEngene::VIDEO].contains(curfile.suffix()))
		{
			base_suffix = curfile.suffix();
			break;
		}

		if(!suffixesCount.contains(curfile.suffix()))
		{
			suffixesCount.insert(curfile.suffix(), 1);
		}
		else
		{
			suffixesCount[curfile.suffix()]++;
		}

		if(suffixesCount[curfile.suffix()] > maxSuffix)
		{
			maxSuffix = suffixesCount[curfile.suffix()];
			base_suffix = curfile.suffix();
		}
	}

	return base_suffix;
}
Beispiel #6
0
QString StaticHelpers::GetBaseSuffix( libtorrent::file_storage storrage )
{
	QString base_suffix;
	int maxSuffix=0;
	QMap<QString,int> suffixesCount;
	libtorrent::file_storage::iterator iter=storrage.begin();
	for (iter;iter!=storrage.end();iter++)
	{
		QFileInfo curfile(QString::fromUtf8(storrage.file_path(*iter).c_str()));
		if (suffixes[DISK].contains(curfile.suffix()))
		{
			base_suffix=curfile.suffix();
			break;
		}
		if (suffixes[VIDEO].contains(curfile.suffix()))
		{
			base_suffix=curfile.suffix();
			break;
		}
		if (!suffixesCount.contains(curfile.suffix()))
		{
			suffixesCount.insert(curfile.suffix(),1);
			
		}
		else
		{

			suffixesCount[curfile.suffix()]++;
			
		}
		if (suffixesCount[curfile.suffix()] > maxSuffix)
		{
			maxSuffix=suffixesCount[curfile.suffix()];
			base_suffix=curfile.suffix();
		}

	}
	return base_suffix;
}
Beispiel #7
0
extern void err_head (void)
{
   fprintf(stderr, "\"%s\", line %d: ", curfile(), curline());
}