summaryrefslogtreecommitdiff
path: root/src/jlib.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-01-24 20:18:33 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-01-24 20:18:33 +0000
commit2aa3c1c7208823fedc77e7c8d1a50d2012676e78 (patch)
tree45e0eca88b360fd15f6a51cfb59f0b2b98e3dcca /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.erl36
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 ->