+/*
+ * Send a (prefixed) command to all servers with users on the channel
+ * specified by <to>; <cmd> and <skip> are ignored by this function.
+ *
+ * XXX sentalong_marker used XXX
+ */
+void sendcmdto_channel_servers_butone(struct Client *from, const char *cmd,
+ const char *tok, struct Channel *to,
+ struct Client *one, unsigned int skip,
+ const char *pattern, ...)
+{
+ struct VarData vd;
+ struct MsgBuf *serv_mb;
+ struct Membership *member;
+
+ /* build the buffer */
+ vd.vd_format = pattern;
+ va_start(vd.vd_args, pattern);
+ serv_mb = msgq_make(&me, "%:#C %s %v", from, tok, &vd);
+ va_end(vd.vd_args);
+
+ /* send the buffer to each server */
+ sentalong_marker++;
+ for (member = to->members; member; member = member->next_member) {
+ if (cli_from(member->user) == one
+ || MyConnect(member->user)
+ || IsZombie(member)
+ || cli_fd(cli_from(member->user)) < 0
+ || sentalong[cli_fd(cli_from(member->user))] == sentalong_marker)
+ continue;
+ sentalong[cli_fd(cli_from(member->user))] = sentalong_marker;
+ send_buffer(member->user, serv_mb, 0);
+ }
+ msgq_clean(serv_mb);
+}
+
+