diff options
author | Alexey Shchepin <alexey@process-one.net> | 2003-01-24 20:18:33 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2003-01-24 20:18:33 +0000 |
commit | 2aa3c1c7208823fedc77e7c8d1a50d2012676e78 (patch) | |
tree | 45e0eca88b360fd15f6a51cfb59f0b2b98e3dcca /src/jlib.erl | |
parent | *** empty log message *** (diff) |
*** empty log message ***
SVN Revision: 49
Diffstat (limited to 'src/jlib.erl')
-rw-r--r-- | src/jlib.erl | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/jlib.erl b/src/jlib.erl index 3cf7ed57..c15bc06a 100644 --- a/src/jlib.erl +++ b/src/jlib.erl @@ -19,6 +19,7 @@ remove_attr/2, string_to_jid/1, jid_to_string/1, + is_nodename/1, tolower/1, jid_tolower/1, jid_remove_resource/1, @@ -133,6 +134,17 @@ string_to_jid1([$/ | J], "") -> error; string_to_jid1([$/ | J], N) -> string_to_jid3(J, "", lists:reverse(N), ""); +string_to_jid1([C | J], N) + when (C =< 32) or + (C == $") or + (C == $&) or + (C == $') or + (C == $:) or + (C == $<) or + (C == $>) or + (C == 127) + -> + error; string_to_jid1([C | J], N) -> string_to_jid1(J, [C | N]); string_to_jid1([], "") -> @@ -173,6 +185,30 @@ jid_to_string({Node, Server, Resource}) -> S3. +is_nodename([]) -> + false; +is_nodename(J) -> + is_nodename1(J). + +is_nodename1([C | J]) + when (C =< 32) or + (C == $") or + (C == $&) or + (C == $') or + (C == $:) or + (C == $<) or + (C == $>) or + (C == $@) or + (C == $/) or + (C == 127) + -> + false; +is_nodename1([C | J]) -> + is_nodename1(J); +is_nodename1([]) -> + true. + + % TODO: UNICODE support tolower_c(C) when C >= $A, C =< $Z -> |