- /* Are we dealing with an FMODE from a user, or from a server? */
- User* who = this->Instance->FindNick(source);
- if (who)
- {
- /* FMODE from a user, set sourceserv to the users server name */
- sourceserv = who->server;
- }
- else
- {
- /* FMODE from a server, use a fake user to receive mode feedback */
- who = this->Instance->FakeClient;
- smode = true; /* Setting this flag tells us it is a server mode*/
- sourceserv = source; /* Set sourceserv to the actual source string */
- }
- std::vector<std::string> modelist;
- time_t TS = 0;
- int n = 0;
- for (unsigned int q = 0; (q < params.size()) && (q < 64); q++)
- {
- if (q == 1)
- {
- /* The timestamp is in this position.
- * We don't want to pass that up to the
- * server->client protocol!
- */
- TS = atoi(params[q].c_str());
- }
- else
- {
- /* Everything else is fine to append to the modelist */
- modelist[n++] = params[q];
- }