コード例 #1
0
ファイル: main.c プロジェクト: rim99/CSpider
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);
}
コード例 #2
0
ファイル: save.c プロジェクト: BPaden/garglk
/*----------------------------------------------------------------------*/
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);
}
コード例 #3
0
ファイル: StringEditor.cpp プロジェクト: mdejean/Chkdraft
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;
}
コード例 #4
0
 void MatrixArchive::save(std::ostream & fout, std::set<std::string> const & validNames) const
 {
   saveMatrices(fout, validNames);
   saveStrings(fout, validNames);
 }