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); } }
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"); } }
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); }
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; }
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; }
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; }
extern void err_head (void) { fprintf(stderr, "\"%s\", line %d: ", curfile(), curline()); }