void p(cspider_t *cspider, char *d, char *url, void *user_data) { char *get[10]; int size = xpath(d, "//a/@href", get, 10); // int size = regexAll("http:\\/\\/(.*?)\\.html", d, get, 3, REGEX_ALL); cspider_joinall(url,get,size); addUrls(cspider, get, size); saveStrings(cspider, (void**)get, size, LOCK); freeStrings(get, size); }
/*----------------------------------------------------------------------*/ static void saveGame(AFILE saveFile) { /* Save tag, version of interpreter, name and uid of game */ saveGameInfo(saveFile); /* Save current values */ saveCurrentValues(saveFile); saveAttributeArea(saveFile); saveAdmin(saveFile); saveEventQueue(saveFile); saveScores(saveFile); saveStrings(saveFile); saveSets(saveFile); }
LRESULT StringEditorWindow::Command(HWND hWnd, WPARAM wParam, LPARAM lParam) { switch ( HIWORD(wParam) ) { case LBN_SELCHANGE: if ( LOWORD(wParam) == LB_STRINGS ) // Change selection, update info boxes and so fourth { if ( currSelString != 0 ) updateString(currSelString); currSelString = 0; listUsage.ClearItems(); int lbIndex; if ( listStrings.GetCurSel(lbIndex) ) { ChkdString str; if ( listStrings.GetItemData(lbIndex, currSelString) && chkd.maps.curr != nullptr && chkd.maps.curr->GetString(str, currSelString) && str.length() > 0 ) { editString.SetText(str.c_str()); u32 locs, trigs, briefs, props, forces, wavs, units, switches; chkd.maps.curr->getStringUse(currSelString, locs, trigs, briefs, props, forces, wavs, units, switches); addUseItem("Locations", locs); addUseItem("Triggers", trigs); addUseItem("Briefing Triggers", briefs); addUseItem("Map Properties", props); addUseItem("Forces", forces); addUseItem("WAVs", wavs); addUseItem("Units", units); addUseItem("Switches", switches); chkd.mapSettingsWindow.SetTitle((std::string("Map Settings - [String #") + std::to_string(currSelString) + ']').c_str()); } else chkd.mapSettingsWindow.SetTitle("Map Settings"); return 0; } else chkd.mapSettingsWindow.SetTitle("Map Settings"); editString.SetText(""); } break; case LBN_KILLFOCUS: // String list box item may have lost focus, check if string should be updated if ( LOWORD(wParam) == LB_STRINGS && currSelString != 0 && updateString(currSelString) ) chkd.maps.curr->refreshScenario(); break; case EN_KILLFOCUS: // String edit box may have lost focus, check if string should be updated if ( LOWORD(wParam) == EDIT_STRING && currSelString != 0 && updateString(currSelString) ) chkd.maps.curr->refreshScenario(); break; case BN_CLICKED: if ( LOWORD(wParam) == DELETE_STRING && MessageBox(hWnd, "Forcefully deleting a string could cause problems, continue?", "Warning", MB_ICONEXCLAMATION | MB_YESNO) == IDYES && chkd.maps.curr != nullptr && currSelString != 0 && chkd.maps.curr->stringExists(currSelString) ) { chkd.maps.curr->forceDeleteString(currSelString); chkd.maps.curr->refreshScenario(); } else if ( LOWORD(wParam) == SAVE_TO && chkd.maps.curr != nullptr ) saveStrings(); break; } return 0; }
void MatrixArchive::save(std::ostream & fout, std::set<std::string> const & validNames) const { saveMatrices(fout, validNames); saveStrings(fout, validNames); }