This commit is contained in:
norayr 2017-04-15 00:30:40 +04:00
parent ea18cdabff
commit 18e5461ccf

44
IRC.Mod
View file

@ -84,33 +84,29 @@ BEGIN
END; END;
END terminateLine; END terminateLine;
PROCEDURE formUserLine(VAR user, owner, result: ARRAY OF CHAR); PROCEDURE formUserNickLine(VAR user, owner, nick, res: ARRAY OF CHAR);
BEGIN BEGIN
(* "USER test 0 * :test\r\n" *) COPY(cmdUser, res);
COPY(cmdUser, result); Strings.Append(" ", res);
Strings.Append(" ", result); Strings.Append(user, res);
Strings.Append(user, result); Strings.Append(" 0 * :", res);
Strings.Append(" 0 * :", result); Strings.Append(owner, res);
Strings.Append(owner, result);
(* by the spec the command is terminated by \r\n *) (* by the spec the command is terminated by \r\n *)
Strings.Append(eol, result); Strings.Append(eol, res);
END formUserLine;
PROCEDURE formNickLine(VAR nick, result: ARRAY OF CHAR); Strings.Append (cmdNick, res);
BEGIN Strings.Append(" ", res);
(* "NICK test\r\n\000\060 :test\r\n"*) Strings.Append (nick, res);
COPY (cmdNick, result); Strings.Append(eol, res);
Strings.Append(" ", result);
Strings.Append (nick, result); END formUserNickLine;
Strings.Append(eol, result);
END formNickLine;
PROCEDURE formModeLine(VAR str, nick: ARRAY OF CHAR); PROCEDURE formModeLine(VAR str, nick: ARRAY OF CHAR);
BEGIN BEGIN
COPY (cmdMode, str); COPY (cmdMode, str);
Strings.Append(" ", str); Strings.Append(" ", str);
Strings.Append(nick, str); Strings.Append(nick, str);
Strings.Append(" +B", str); Strings.Append(" +C", str);
Strings.Append(eol, str); Strings.Append(eol, str);
END formModeLine; END formModeLine;
@ -196,19 +192,13 @@ END Send;
PROCEDURE Auth*(inst: instance): BOOLEAN; PROCEDURE Auth*(inst: instance): BOOLEAN;
VAR VAR
userRequest, nickRequest: ARRAY 255 OF CHAR; line: ARRAY 255 OF CHAR;
b : BOOLEAN; b : BOOLEAN;
BEGIN BEGIN
formUserNickLine(inst.user, inst.owner, inst.nick, line);
formUserLine(inst.user, inst.owner, userRequest); b := Internet.Write(inst.connection, line);
b := Send(inst, userRequest);
IF b THEN
formNickLine(inst.nick, nickRequest);
b := Send(inst, nickRequest);
END;
RETURN b RETURN b
END Auth; END Auth;