static void TestDestruction(ow_test_context Context) {
  set Set;
  InitPosixNetClientSet(&Set);
  CreateClient(&Set, 1);
  CreateClient(&Set, 2);
  CreateClient(&Set, 3);

  iterator Iterator = CreatePosixNetClientSetIterator(&Set);
  AdvancePosixNetClientSetIterator(&Iterator);
  AdvancePosixNetClientSetIterator(&Iterator);
  DestroyClient(&Iterator);
  AdvancePosixNetClientSetIterator(&Iterator);
  OW_AssertEqualInt(3, Iterator.Client->FD);
  AdvancePosixNetClientSetIterator(&Iterator);
  OW_AssertFalse(AdvancePosixNetClientSetIterator(&Iterator));

  TerminatePosixNetClientSet(&Set);
}
Beispiel #2
0
int main(int argc, char *argv[])
{
	int error = 0;
	if ((argc == 2) && (strcmp(argv[1], "-v") == 0))
	{
		ShowVersion();

		return 0;
	}

	if ((InitClient()) || (ConnectToMiranda()) || (GetKnownCommands()) || (LoadLangPackModule()))
	{
		lpprintf("Could not create connection with Miranda or could not retrieve list of known commands.\n");
		error = MIMRES_NOMIRANDA;
	}
	else{
		if ((argc <= 1) || (argc > MAX_ARGUMENTS))
		{
			PrintUsage();
		}
		else{
			PReply reply = ParseCommand(argv, argc);
			if (reply)
			{
				error = reply->code;
				lpprintf("%s\n", reply->message);
			}
			else{
				lpprintf(Translate("Unknown command '%s'.\n"), argv[1]);
			}

			DestroyKnownCommands();
			DisconnectFromMiranda();
			DestroyClient();
		}
	}

	return error;
}