home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-04-20 | 1.7 KB | 88 lines | [TEXT/PJMM] |
- unit TalkUtils;
-
- { This program was written by Peter N Lewis, Mar 1992 in THINK Pascal 4.0.1 }
-
- interface
-
- uses
- BaseGlobals, MyTypes, AppGlobals, TCPTypes, TCPStuff, TalkdTypes;
-
- procedure FailAlert (s: str255; n: longInt);
- procedure PackName (var s: str255; name, mach: str255);
- procedure UnpackName (s: str255; var name, mach: str255);
- function PStrToUser (s: str31): userStr;
-
- implementation
-
- procedure FailAlert (s: str255; n: longInt);
- var
- s2: str255;
- a: integer;
- begin
- NumToString(n, s2);
- Paramtext(s, s2, '', '');
- a := Alert(fail_alert_id, nil);
- end;
-
- procedure PackName (var s: str255; name, mach: str255);
- function ats (n: str255): integer;
- var
- i: integer;
- begin
- ats := 0;
- i := Pos('@', n);
- if i <> 0 then begin
- ats := 1;
- if Pos('@', copy(n, i + 1, 255)) <> 0 then
- ats := 2;
- end;
- end;
- var
- nameat, machat: integer;
- begin
- s := '?';
- nameat := ats(name);
- machat := ats(mach);
- if nameat + machat <= 1 then begin
- if name = '' then begin
- if machat = 0 then
- s := concat('@', mach)
- else
- s := mach;
- end
- else if mach = '' then begin
- if nameat = 1 then
- s := name;
- end
- else if machat + nameat = 0 then
- s := concat(name, '@', mach);
- end;
- end;
-
- procedure UnpackName (s: str255; var name, mach: str255);
- var
- p: integer;
- begin
- p := Pos('@', s);
- name := copy(s, 1, p - 1);
- mach := copy(s, p + 1, 255);
- end;
-
- function PStrToUser (s: str31): userStr;
- var
- i: integer;
- cs: userStr;
- begin
- i := 1;
- while (i <= length(s)) and (i < name_size) do begin
- cs[i] := s[i];
- i := i + 1;
- end;
- while i <= name_size do begin
- cs[i] := nul;
- i := i + 1;
- end;
- PStrToUser := cs;
- end;
-
- end.