From 4ff8d7918a0557414f8bf7b1aa1c0f875fb76216 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Fri, 5 Aug 2016 08:41:08 +0300 Subject: [PATCH] Change code to reflect recent changes in fxml_gen --- include/xmpp_codec.hrl | 420 ++++++------- src/ejabberd_c2s.erl | 4 +- src/mod_adhoc.erl | 4 +- src/mod_announce.erl | 3 +- src/mod_blocking.erl | 9 +- src/mod_caps.erl | 20 +- src/mod_configure.erl | 5 +- src/mod_disco.erl | 30 +- src/mod_irc.erl | 4 +- src/mod_mam.erl | 2 +- src/mod_muc.erl | 6 +- src/mod_muc_room.erl | 29 +- src/mod_offline.erl | 5 +- src/mod_privacy.erl | 17 +- src/mod_proxy65_service.erl | 5 - src/mod_vcard.erl | 27 +- src/translate.erl | 4 +- src/xmpp.erl | 121 ++-- src/xmpp_codec.erl | 1110 +++++++++++++++-------------------- src/xmpp_util.erl | 2 +- tools/xmpp_codec.spec | 67 ++- 21 files changed, 846 insertions(+), 1048 deletions(-) diff --git a/include/xmpp_codec.hrl b/include/xmpp_codec.hrl index e3eb31285..935607de9 100644 --- a/include/xmpp_codec.hrl +++ b/include/xmpp_codec.hrl @@ -1,7 +1,7 @@ %% Created automatically by XML generator (fxml_gen.erl) %% Source: xmpp_codec.spec --record(vcard_xupdate, {us :: {binary(), binary()}, +-record(vcard_xupdate, {us = {<<>>, <<>>} :: {binary(), binary()}, hash :: binary()}). -type vcard_xupdate() :: #vcard_xupdate{}. @@ -15,12 +15,12 @@ 'no-permanent-store' | 'no-permanent-storage'}). -type hint() :: #hint{}. --record(iq, {id :: binary(), +-record(iq, {id = <<>> :: binary(), type :: 'error' | 'get' | 'result' | 'set', - lang :: binary(), - from :: any(), - to :: any(), - sub_els = [] :: [any()]}). + lang = <<>> :: binary(), + from :: jid:jid(), + to :: jid:jid(), + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type iq() :: #iq{}. -record(feature_register, {}). @@ -31,37 +31,37 @@ -type adhoc_note() :: #adhoc_note{}. -record(address, {type :: 'bcc' | 'cc' | 'noreply' | 'ofrom' | 'replyroom' | 'replyto' | 'to', - jid :: any(), - desc :: binary(), - node :: binary(), - delivered :: any()}). + jid :: jid:jid(), + desc = <<>> :: binary(), + node = <<>> :: binary(), + delivered :: boolean()}). -type address() :: #address{}. --record(sasl_success, {text :: any()}). +-record(sasl_success, {text = <<>> :: binary()}). -type sasl_success() :: #sasl_success{}. --record(mam_result, {xmlns :: binary(), - queryid :: binary(), - id :: binary(), - sub_els = [] :: [any()]}). +-record(mam_result, {xmlns = <<>> :: binary(), + queryid = <<>> :: binary(), + id = <<>> :: binary(), + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type mam_result() :: #mam_result{}. -record(rsm_first, {index :: non_neg_integer(), - data :: binary()}). + data = <<>> :: binary()}). -type rsm_first() :: #rsm_first{}. --record(text, {lang :: binary(), - data :: binary()}). +-record(text, {lang = <<>> :: binary(), + data = <<>> :: binary()}). -type text() :: #text{}. --record(streamhost, {jid :: any(), - host :: binary(), +-record(streamhost, {jid :: jid:jid(), + host = <<>> :: binary(), port = 1080 :: non_neg_integer()}). -type streamhost() :: #streamhost{}. -record(sm_resume, {h :: non_neg_integer(), - previd :: binary(), - xmlns :: binary()}). + previd = <<>> :: binary(), + xmlns = <<>> :: binary()}). -type sm_resume() :: #sm_resume{}. -record(carbons_enable, {}). @@ -77,9 +77,9 @@ -record(muc_unsubscribe, {}). -type muc_unsubscribe() :: #muc_unsubscribe{}. --record(pubsub_unsubscribe, {node :: binary(), - jid :: any(), - subid :: binary()}). +-record(pubsub_unsubscribe, {node = <<>> :: binary(), + jid :: jid:jid(), + subid = <<>> :: binary()}). -type pubsub_unsubscribe() :: #pubsub_unsubscribe{}. -record(mix_leave, {}). @@ -88,122 +88,122 @@ -record(ping, {}). -type ping() :: #ping{}. --record(delay, {stamp :: any(), - from :: any(), +-record(delay, {stamp :: erlang:timestamp(), + from :: jid:jid(), desc = <<>> :: binary()}). -type delay() :: #delay{}. -record(muc_history, {maxchars :: non_neg_integer(), maxstanzas :: non_neg_integer(), seconds :: non_neg_integer(), - since :: any()}). + since :: erlang:timestamp()}). -type muc_history() :: #muc_history{}. --record(thumbnail, {uri :: binary(), +-record(thumbnail, {uri = <<>> :: binary(), 'media-type' = <<>> :: binary(), width :: non_neg_integer(), height :: non_neg_integer()}). -type thumbnail() :: #thumbnail{}. --record(pubsub_affiliation, {node :: binary(), +-record(pubsub_affiliation, {node = <<>> :: binary(), type :: 'member' | 'none' | 'outcast' | 'owner' | 'publish-only' | 'publisher'}). -type pubsub_affiliation() :: #pubsub_affiliation{}. --record(muc_decline, {reason = <<>> :: 'undefined' | binary(), - from :: any(), - to :: any()}). +-record(muc_decline, {reason = <<>> :: binary(), + from :: jid:jid(), + to :: jid:jid()}). -type muc_decline() :: #muc_decline{}. -record(sm_a, {h :: non_neg_integer(), - xmlns :: binary()}). + xmlns = <<>> :: binary()}). -type sm_a() :: #sm_a{}. --record(stream_start, {from :: any(), - to :: any(), +-record(stream_start, {from :: jid:jid(), + to :: jid:jid(), id = <<>> :: binary(), version = <<>> :: binary(), - xmlns :: binary(), + xmlns = <<>> :: binary(), stream_xmlns = <<>> :: binary(), db_xmlns = <<>> :: binary(), lang = <<>> :: binary()}). -type stream_start() :: #stream_start{}. --record(muc_subscribe, {nick :: binary(), +-record(muc_subscribe, {nick = <<>> :: binary(), events = [] :: [binary()]}). -type muc_subscribe() :: #muc_subscribe{}. --record(stanza_id, {by :: any(), - id :: binary()}). +-record(stanza_id, {by :: jid:jid(), + id = <<>> :: binary()}). -type stanza_id() :: #stanza_id{}. -record(starttls_proceed, {}). -type starttls_proceed() :: #starttls_proceed{}. --record(client_id, {id :: binary()}). +-record(client_id, {id = <<>> :: binary()}). -type client_id() :: #client_id{}. -record(sm_resumed, {h :: non_neg_integer(), - previd :: binary(), - xmlns :: binary()}). + previd = <<>> :: binary(), + xmlns = <<>> :: binary()}). -type sm_resumed() :: #sm_resumed{}. -record(forwarded, {delay :: #delay{}, - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type forwarded() :: #forwarded{}. -record(sm_enable, {max :: non_neg_integer(), - resume = false :: any(), - xmlns :: binary()}). + resume = false :: boolean(), + xmlns = <<>> :: binary()}). -type sm_enable() :: #sm_enable{}. -record(starttls_failure, {}). -type starttls_failure() :: #starttls_failure{}. --record(sasl_challenge, {text :: any()}). +-record(sasl_challenge, {text = <<>> :: binary()}). -type sasl_challenge() :: #sasl_challenge{}. -record(handshake, {data = <<>> :: binary()}). -type handshake() :: #handshake{}. --record(gone, {uri :: binary()}). +-record(gone, {uri = <<>> :: binary()}). -type gone() :: #gone{}. --record(x_conference, {jid :: any(), +-record(x_conference, {jid :: jid:jid(), password = <<>> :: binary(), reason = <<>> :: binary(), - continue :: any(), + continue :: boolean(), thread = <<>> :: binary()}). -type x_conference() :: #x_conference{}. --record(private, {xml_els = [] :: [any()]}). +-record(private, {xml_els = [] :: [fxml:xmlel()]}). -type private() :: #private{}. --record(db_verify, {from :: any(), - to :: any(), - id :: binary(), +-record(db_verify, {from :: jid:jid(), + to :: jid:jid(), + id = <<>> :: binary(), type :: 'error' | 'invalid' | 'valid', key = <<>> :: binary(), - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type db_verify() :: #db_verify{}. --record(nick, {name :: binary()}). +-record(nick, {name = <<>> :: binary()}). -type nick() :: #nick{}. -record(p1_ack, {}). -type p1_ack() :: #p1_ack{}. --record(feature_sm, {xmlns :: binary()}). +-record(feature_sm, {xmlns = <<>> :: binary()}). -type feature_sm() :: #feature_sm{}. --record(pubsub_item, {id :: binary(), - xml_els = [] :: [any()]}). +-record(pubsub_item, {id = <<>> :: binary(), + xml_els = [] :: [fxml:xmlel()]}). -type pubsub_item() :: #pubsub_item{}. --record(pubsub_publish, {node :: binary(), +-record(pubsub_publish, {node = <<>> :: binary(), items = [] :: [#pubsub_item{}]}). -type pubsub_publish() :: #pubsub_publish{}. --record(roster_item, {jid :: any(), +-record(roster_item, {jid :: jid:jid(), name = <<>> :: binary(), groups = [] :: [binary()], subscription = none :: 'both' | 'from' | 'none' | 'remove' | 'to', @@ -214,24 +214,24 @@ ver :: binary()}). -type roster_query() :: #roster_query{}. --record(pubsub_event_item, {id :: binary(), - node :: binary(), - publisher :: binary(), - xml_els = [] :: [any()]}). +-record(pubsub_event_item, {id = <<>> :: binary(), + node = <<>> :: binary(), + publisher = <<>> :: binary(), + xml_els = [] :: [fxml:xmlel()]}). -type pubsub_event_item() :: #pubsub_event_item{}. --record(sm_r, {xmlns :: binary()}). +-record(sm_r, {xmlns = <<>> :: binary()}). -type sm_r() :: #sm_r{}. --record(muc_actor, {jid :: any(), - nick :: binary()}). +-record(muc_actor, {jid :: jid:jid(), + nick = <<>> :: binary()}). -type muc_actor() :: #muc_actor{}. -record(stat_error, {code :: integer(), reason = <<>> :: binary()}). -type stat_error() :: #stat_error{}. --record(stat, {name :: binary(), +-record(stat, {name = <<>> :: binary(), units = <<>> :: binary(), value = <<>> :: binary(), error :: #stat_error{}}). @@ -240,7 +240,7 @@ -record(addresses, {list = [] :: [#address{}]}). -type addresses() :: #addresses{}. --record('see-other-host', {host :: binary()}). +-record('see-other-host', {host :: binary() | inet:ip_address() | {binary() | inet:ip_address(),non_neg_integer()}}). -type 'see-other-host'() :: #'see-other-host'{}. -record(compress, {methods = [] :: [binary()]}). @@ -253,17 +253,17 @@ status = <<>> :: binary()}). -type last() :: #last{}. --record(redirect, {uri :: binary()}). +-record(redirect, {uri = <<>> :: binary()}). -type redirect() :: #redirect{}. --record(sm_enabled, {id :: binary(), - location :: binary(), +-record(sm_enabled, {id = <<>> :: binary(), + location = <<>> :: binary(), max :: non_neg_integer(), - resume = false :: any(), - xmlns :: binary()}). + resume = false :: boolean(), + xmlns = <<>> :: binary()}). -type sm_enabled() :: #sm_enabled{}. --record(pubsub_event_items, {node :: binary(), +-record(pubsub_event_items, {node = <<>> :: binary(), retract = [] :: [binary()], items = [] :: [#pubsub_event_item{}]}). -type pubsub_event_items() :: #pubsub_event_items{}. @@ -274,134 +274,134 @@ -record(muc_unique, {name = <<>> :: binary()}). -type muc_unique() :: #muc_unique{}. --record(sasl_response, {text :: any()}). +-record(sasl_response, {text = <<>> :: binary()}). -type sasl_response() :: #sasl_response{}. --record(legacy_auth, {username :: 'none' | binary(), - password :: 'none' | binary(), - digest :: 'none' | binary(), - resource :: 'none' | binary()}). +-record(legacy_auth, {username :: binary(), + password :: binary(), + digest :: binary(), + resource :: binary()}). -type legacy_auth() :: #legacy_auth{}. --record(pubsub_subscribe, {node :: binary(), - jid :: any()}). +-record(pubsub_subscribe, {node = <<>> :: binary(), + jid :: jid:jid()}). -type pubsub_subscribe() :: #pubsub_subscribe{}. --record(message, {id :: binary(), +-record(message, {id = <<>> :: binary(), type = normal :: 'chat' | 'error' | 'groupchat' | 'headline' | 'normal', - lang :: binary(), - from :: any(), - to :: any(), + lang = <<>> :: binary(), + from :: jid:jid(), + to :: jid:jid(), subject = [] :: [#text{}], body = [] :: [#text{}], thread :: binary(), - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type message() :: #message{}. --record(sasl_auth, {mechanism :: binary(), - text :: any()}). +-record(sasl_auth, {mechanism = <<>> :: binary(), + text = <<>> :: binary()}). -type sasl_auth() :: #sasl_auth{}. -record(p1_push, {}). -type p1_push() :: #p1_push{}. --record(feature_csi, {xmlns :: binary()}). +-record(feature_csi, {xmlns = <<>> :: binary()}). -type feature_csi() :: #feature_csi{}. --record(disco_item, {jid :: any(), - name :: binary(), - node :: binary()}). +-record(disco_item, {jid :: jid:jid(), + name = <<>> :: binary(), + node = <<>> :: binary()}). -type disco_item() :: #disco_item{}. --record(unblock, {items = [] :: [any()]}). +-record(unblock, {items = [] :: [jid:jid()]}). -type unblock() :: #unblock{}. --record(block, {items = [] :: [any()]}). +-record(block, {items = [] :: [jid:jid()]}). -type block() :: #block{}. -record(compression, {methods = [] :: [binary()]}). -type compression() :: #compression{}. --record(muc_subscriptions, {list = [] :: [any()]}). +-record(muc_subscriptions, {list = [] :: [jid:jid()]}). -type muc_subscriptions() :: #muc_subscriptions{}. --record(pubsub_subscription, {jid :: any(), - node :: binary(), - subid :: binary(), +-record(pubsub_subscription, {jid :: jid:jid(), + node = <<>> :: binary(), + subid = <<>> :: binary(), type :: 'none' | 'pending' | 'subscribed' | 'unconfigured'}). -type pubsub_subscription() :: #pubsub_subscription{}. --record(bob_data, {cid :: binary(), +-record(bob_data, {cid = <<>> :: binary(), 'max-age' :: non_neg_integer(), - type :: binary(), - data = <<>> :: any()}). + type = <<>> :: binary(), + data = <<>> :: binary()}). -type bob_data() :: #bob_data{}. -record(muc_item, {actor :: #muc_actor{}, continue :: binary(), - reason = <<>> :: 'undefined' | binary(), + reason = <<>> :: binary(), affiliation :: 'admin' | 'member' | 'none' | 'outcast' | 'owner', role :: 'moderator' | 'none' | 'participant' | 'visitor', - jid :: any(), - nick :: binary()}). + jid :: jid:jid(), + nick = <<>> :: binary()}). -type muc_item() :: #muc_item{}. -record(muc_admin, {items = [] :: [#muc_item{}]}). -type muc_admin() :: #muc_admin{}. --record(shim, {headers = [] :: [{binary(),'undefined' | binary()}]}). +-record(shim, {headers = [] :: [{binary(),binary()}]}). -type shim() :: #shim{}. --record(mam_prefs, {xmlns :: binary(), +-record(mam_prefs, {xmlns = <<>> :: binary(), default :: 'always' | 'never' | 'roster', - always :: [any()], - never :: [any()]}). + always :: [jid:jid()], + never :: [jid:jid()]}). -type mam_prefs() :: #mam_prefs{}. --record(caps, {node :: binary(), - version :: binary(), - hash :: binary(), - exts = [] :: any()}). +-record(caps, {node = <<>> :: binary(), + version = <<>> :: binary(), + hash = <<>> :: binary(), + exts = [] :: binary() | []}). -type caps() :: #caps{}. -record(muc, {history :: #muc_history{}, password :: binary()}). -type muc() :: #muc{}. --record(stream_features, {sub_els = [] :: [any()]}). +-record(stream_features, {sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type stream_features() :: #stream_features{}. -record(stats, {list = [] :: [#stat{}], node = <<>> :: binary()}). -type stats() :: #stats{}. --record(pubsub_items, {node :: binary(), +-record(pubsub_items, {node = <<>> :: binary(), max_items :: non_neg_integer(), - subid :: binary(), + subid = <<>> :: binary(), items = [] :: [#pubsub_item{}]}). -type pubsub_items() :: #pubsub_items{}. --record(presence, {id :: binary(), +-record(presence, {id = <<>> :: binary(), type = available :: 'available' | 'error' | 'probe' | 'subscribe' | 'subscribed' | 'unavailable' | 'unsubscribe' | 'unsubscribed', - lang :: binary(), - from :: any(), - to :: any(), + lang = <<>> :: binary(), + from :: jid:jid(), + to :: jid:jid(), show :: 'away' | 'chat' | 'dnd' | 'xa', status = [] :: [#text{}], priority :: integer(), - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type presence() :: #presence{}. --record(sic, {ip :: any(), +-record(sic, {ip :: inet:ip_address(), port :: non_neg_integer(), - xmlns :: binary()}). + xmlns = <<>> :: binary()}). -type sic() :: #sic{}. -record(carbons_sent, {forwarded :: #forwarded{}}). -type carbons_sent() :: #carbons_sent{}. --record(mam_archived, {by :: any(), - id :: binary()}). +-record(mam_archived, {by :: jid:jid(), + id = <<>> :: binary()}). -type mam_archived() :: #mam_archived{}. -record(p1_rebind, {}). @@ -428,28 +428,28 @@ userid :: binary()}). -type vcard_email() :: #vcard_email{}. --record(db_result, {from :: any(), - to :: any(), +-record(db_result, {from :: jid:jid(), + to :: jid:jid(), type :: 'error' | 'invalid' | 'valid', key = <<>> :: binary(), - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type db_result() :: #db_result{}. -record(carbons_received, {forwarded :: #forwarded{}}). -type carbons_received() :: #carbons_received{}. --record(pubsub_retract, {node :: binary(), - notify = false :: any(), +-record(pubsub_retract, {node = <<>> :: binary(), + notify = false :: boolean(), items = [] :: [#pubsub_item{}]}). -type pubsub_retract() :: #pubsub_retract{}. -record(upload_slot, {get :: binary(), put :: binary(), - xmlns :: binary()}). + xmlns = <<>> :: binary()}). -type upload_slot() :: #upload_slot{}. --record(mix_participant, {jid :: any(), - nick :: binary()}). +-record(mix_participant, {jid :: jid:jid(), + nick = <<>> :: binary()}). -type mix_participant() :: #mix_participant{}. -record(vcard_geo, {lat :: binary(), @@ -463,27 +463,27 @@ text = [] :: [#text{}]}). -type sasl_failure() :: #sasl_failure{}. --record(block_list, {items = [] :: [any()]}). +-record(block_list, {items = [] :: [jid:jid()]}). -type block_list() :: #block_list{}. -record(upload_request, {filename :: binary(), size :: non_neg_integer(), 'content-type' = <<>> :: binary(), - xmlns :: binary()}). + xmlns = <<>> :: binary()}). -type upload_request() :: #upload_request{}. --record(xdata_option, {label :: binary(), +-record(xdata_option, {label = <<>> :: binary(), value :: binary()}). -type xdata_option() :: #xdata_option{}. --record(xdata_field, {label :: binary(), +-record(xdata_field, {label = <<>> :: binary(), type :: 'boolean' | 'fixed' | 'hidden' | 'jid-multi' | 'jid-single' | 'list-multi' | 'list-single' | 'text-multi' | 'text-private' | 'text-single', - var :: binary(), + var = <<>> :: binary(), required = false :: boolean(), desc :: binary(), values = [] :: [binary()], options = [] :: [#xdata_option{}], - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type xdata_field() :: #xdata_field{}. -record(version, {name :: binary(), @@ -491,16 +491,16 @@ os :: binary()}). -type version() :: #version{}. --record(bind, {jid :: any(), - resource :: any()}). +-record(bind, {jid :: jid:jid(), + resource :: binary()}). -type bind() :: #bind{}. -record(rosterver_feature, {}). -type rosterver_feature() :: #rosterver_feature{}. --record(muc_invite, {reason = <<>> :: 'undefined' | binary(), - from :: any(), - to :: any(), +-record(muc_invite, {reason = <<>> :: binary(), + from :: jid:jid(), + to :: jid:jid(), continue :: binary()}). -type muc_invite() :: #muc_invite{}. @@ -508,11 +508,11 @@ -type carbons_disable() :: #carbons_disable{}. -record(bytestreams, {hosts = [] :: [#streamhost{}], - used :: any(), - activate :: any(), - dstaddr :: binary(), + used :: jid:jid(), + activate :: jid:jid(), + dstaddr = <<>> :: binary(), mode = tcp :: 'tcp' | 'udp', - sid :: binary()}). + sid = <<>> :: binary()}). -type bytestreams() :: #bytestreams{}. -record(adhoc_actions, {execute :: 'complete' | 'next' | 'prev', @@ -534,13 +534,13 @@ max :: non_neg_integer()}). -type rsm_set() :: #rsm_set{}. --record(mam_fin, {id :: binary(), +-record(mam_fin, {id = <<>> :: binary(), rsm :: #rsm_set{}, - stable :: any(), - complete :: any()}). + stable :: boolean(), + complete :: boolean()}). -type mam_fin() :: #mam_fin{}. --record(disco_items, {node :: binary(), +-record(disco_items, {node = <<>> :: binary(), items = [] :: [#disco_item{}], rsm :: #rsm_set{}}). -type disco_items() :: #disco_items{}. @@ -561,7 +561,7 @@ number :: binary()}). -type vcard_tel() :: #vcard_tel{}. --record(media_uri, {type :: binary(), +-record(media_uri, {type = <<>> :: binary(), uri = <<>> :: binary()}). -type media_uri() :: #media_uri{}. @@ -570,9 +570,9 @@ uri = [] :: [#media_uri{}]}). -type media() :: #media{}. --record(muc_destroy, {xmlns :: binary(), - jid :: any(), - reason = <<>> :: 'undefined' | binary(), +-record(muc_destroy, {xmlns = <<>> :: binary(), + jid :: jid:jid(), + reason = <<>> :: binary(), password :: binary()}). -type muc_destroy() :: #muc_destroy{}. @@ -595,15 +595,15 @@ suffix :: binary()}). -type vcard_name() :: #vcard_name{}. --record(identity, {category :: binary(), - type :: binary(), - lang :: binary(), - name :: binary()}). +-record(identity, {category = <<>> :: binary(), + type = <<>> :: binary(), + lang = <<>> :: binary(), + name = <<>> :: binary()}). -type identity() :: #identity{}. --record(bookmark_conference, {name :: binary(), - jid :: any(), - autojoin = false :: any(), +-record(bookmark_conference, {name = <<>> :: binary(), + jid :: jid:jid(), + autojoin = false :: boolean(), nick :: binary(), password :: binary()}). -type bookmark_conference() :: #bookmark_conference{}. @@ -611,8 +611,8 @@ -record(xmpp_session, {optional = false :: boolean()}). -type xmpp_session() :: #xmpp_session{}. --record(bookmark_url, {name :: binary(), - url :: binary()}). +-record(bookmark_url, {name = <<>> :: binary(), + url = <<>> :: binary()}). -type bookmark_url() :: #bookmark_url{}. -record(bookmark_storage, {conference = [] :: [#bookmark_conference{}], @@ -625,12 +625,12 @@ -type oob_x() :: #oob_x{}. -record(vcard_sound, {phonetic :: binary(), - binval :: any(), + binval :: binary(), extval :: binary()}). -type vcard_sound() :: #vcard_sound{}. -record(vcard_photo, {type :: binary(), - binval :: any(), + binval :: binary(), extval :: binary()}). -type vcard_photo() :: #vcard_photo{}. @@ -660,7 +660,7 @@ ctry :: binary()}). -type vcard_adr() :: #vcard_adr{}. --record(search_item, {jid :: any(), +-record(search_item, {jid :: jid:jid(), first :: binary(), last :: binary(), nick :: binary(), @@ -678,11 +678,11 @@ -record(xcaptcha, {xdata :: #xdata{}}). -type xcaptcha() :: #xcaptcha{}. --record(adhoc_command, {node :: binary(), +-record(adhoc_command, {node = <<>> :: binary(), action = execute :: 'cancel' | 'complete' | 'execute' | 'next' | 'prev', - sid :: binary(), + sid = <<>> :: binary(), status :: 'canceled' | 'completed' | 'executing', - lang :: binary(), + lang = <<>> :: binary(), actions :: #adhoc_actions{}, notes = [] :: [#adhoc_note{}], xdata :: #xdata{}}). @@ -697,23 +697,23 @@ xdata :: #xdata{}}). -type search() :: #search{}. --record(mam_query, {xmlns :: binary(), - id :: binary(), - start :: any(), - 'end' :: any(), - with :: any(), +-record(mam_query, {xmlns = <<>> :: binary(), + id = <<>> :: binary(), + start :: erlang:timestamp(), + 'end' :: erlang:timestamp(), + with :: jid:jid(), withtext :: binary(), rsm :: #rsm_set{}, xdata :: #xdata{}}). -type mam_query() :: #mam_query{}. --record(pubsub_options, {node :: binary(), - jid :: any(), - subid :: binary(), +-record(pubsub_options, {node = <<>> :: binary(), + jid :: jid:jid(), + subid = <<>> :: binary(), xdata :: #xdata{}}). -type pubsub_options() :: #pubsub_options{}. --record(pubsub, {subscriptions :: {'none' | binary(),[#pubsub_subscription{}]}, +-record(pubsub, {subscriptions :: {binary(),[#pubsub_subscription{}]}, affiliations :: [#pubsub_affiliation{}], publish :: #pubsub_publish{}, subscribe :: #pubsub_subscribe{}, @@ -726,34 +726,34 @@ -record(register, {registered = false :: boolean(), remove = false :: boolean(), instructions :: binary(), - username :: 'none' | binary(), - nick :: 'none' | binary(), - password :: 'none' | binary(), - name :: 'none' | binary(), - first :: 'none' | binary(), - last :: 'none' | binary(), - email :: 'none' | binary(), - address :: 'none' | binary(), - city :: 'none' | binary(), - state :: 'none' | binary(), - zip :: 'none' | binary(), - phone :: 'none' | binary(), - url :: 'none' | binary(), - date :: 'none' | binary(), - misc :: 'none' | binary(), - text :: 'none' | binary(), - key :: 'none' | binary(), + username :: binary(), + nick :: binary(), + password :: binary(), + name :: binary(), + first :: binary(), + last :: binary(), + email :: binary(), + address :: binary(), + city :: binary(), + state :: binary(), + zip :: binary(), + phone :: binary(), + url :: binary(), + date :: binary(), + misc :: binary(), + text :: binary(), + key :: binary(), xdata :: #xdata{}, - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type register() :: #register{}. --record(disco_info, {node :: binary(), +-record(disco_info, {node = <<>> :: binary(), identities = [] :: [#identity{}], features = [] :: [binary()], xdata = [] :: [#xdata{}]}). -type disco_info() :: #disco_info{}. --record(offline_item, {node :: binary(), +-record(offline_item, {node = <<>> :: binary(), action :: 'remove' | 'view'}). -type offline_item() :: #offline_item{}. @@ -772,32 +772,32 @@ -record(sm_failed, {reason :: atom() | #gone{} | #redirect{}, h :: non_neg_integer(), - xmlns :: binary()}). + xmlns = <<>> :: binary()}). -type sm_failed() :: #sm_failed{}. -record(error, {type :: 'auth' | 'cancel' | 'continue' | 'modify' | 'wait', code :: non_neg_integer(), - by :: binary(), + by = <<>> :: binary(), reason :: atom() | #gone{} | #redirect{}, text :: #text{}, - sub_els = [] :: [any()]}). + sub_els = [] :: [xmpp_element() | fxml:xmlel()]}). -type error() :: #error{}. --record(mix_join, {jid :: any(), +-record(mix_join, {jid :: jid:jid(), subscribe = [] :: [binary()]}). -type mix_join() :: #mix_join{}. -record(privacy_item, {order :: non_neg_integer(), action :: 'allow' | 'deny', type :: 'group' | 'jid' | 'subscription', - value :: binary(), + value = <<>> :: binary(), message = false :: boolean(), iq = false :: boolean(), presence_in = false :: boolean(), presence_out = false :: boolean()}). -type privacy_item() :: #privacy_item{}. --record(privacy_list, {name :: binary(), +-record(privacy_list, {name = <<>> :: binary(), items = [] :: [#privacy_item{}]}). -type privacy_list() :: #privacy_list{}. @@ -811,7 +811,7 @@ -type stream_error() :: #stream_error{}. -record(vcard_logo, {type :: binary(), - binval :: any(), + binval :: binary(), extval :: binary()}). -type vcard_logo() :: #vcard_logo{}. @@ -846,8 +846,8 @@ desc :: binary()}). -type vcard_temp() :: #vcard_temp{}. --record(time, {tzo :: any(), - utc :: any()}). +-record(time, {tzo :: {integer(),integer()}, + utc :: erlang:timestamp()}). -type time() :: #time{}. -type xmpp_element() :: muc_admin() | diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 1ae9a7c29..b13e7fe00 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -519,10 +519,10 @@ wait_for_auth(Pkt, StateData) when ?IS_STREAM_MGMT_PACKET(Pkt) -> wait_for_auth(#iq{type = get, sub_els = [#legacy_auth{username = U}]} = IQ, StateData) -> Username = case U of - undefined -> none; + undefined -> <<"">>; _ -> U end, - Auth = #legacy_auth{username = Username, password = none, resource = none}, + Auth = #legacy_auth{username = Username, password = <<>>, resource = <<>>}, Res = case ejabberd_auth:plain_password_required(StateData#state.server) of false -> xmpp:make_iq_result(IQ, Auth#legacy_auth{digest = none}); diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl index 9c8238900..22bde2586 100644 --- a/src/mod_adhoc.erl +++ b/src/mod_adhoc.erl @@ -91,7 +91,7 @@ stop(Host) -> %------------------------------------------------------------------------- get_local_commands(Acc, _From, - #jid{server = Server, lserver = LServer} = _To, undefined, + #jid{server = Server, lserver = LServer} = _To, <<"">>, Lang) -> Display = gen_mod:get_module_opt(LServer, ?MODULE, report_commands_node, @@ -122,7 +122,7 @@ get_local_commands(Acc, _From, _To, _Node, _Lang) -> %------------------------------------------------------------------------- get_sm_commands(Acc, _From, - #jid{lserver = LServer} = To, undefined, Lang) -> + #jid{lserver = LServer} = To, <<"">>, Lang) -> Display = gen_mod:get_module_opt(LServer, ?MODULE, report_commands_node, fun(B) when is_boolean(B) -> B end, diff --git a/src/mod_announce.erl b/src/mod_announce.erl index 4b7498447..1a42a460b 100644 --- a/src/mod_announce.erl +++ b/src/mod_announce.erl @@ -56,7 +56,6 @@ -define(NS_ADMINL(Sub), [<<"http:">>, <<"jabber.org">>, <<"protocol">>, <<"admin">>, <>]). -tokenize(undefined) -> []; tokenize(Node) -> str:tokens(Node, <<"/#">>). start(Host, Opts) -> @@ -280,7 +279,7 @@ disco_features(Acc, From, #jid{lserver = LServer} = _To, Node, Lang) -> {result, Items} end). -disco_items(Acc, From, #jid{lserver = LServer, server = Server} = _To, undefined, Lang) -> +disco_items(Acc, From, #jid{lserver = LServer, server = Server} = _To, <<"">>, Lang) -> case gen_mod:is_loaded(LServer, mod_adhoc) of false -> Acc; diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl index 743b78efd..bc3080871 100644 --- a/src/mod_blocking.erl +++ b/src/mod_blocking.erl @@ -135,7 +135,7 @@ list_to_blocklist_jids([_ | Items], JIDs) -> list_to_blocklist_jids(Items, JIDs). -spec process_blocklist_block(binary(), binary(), [ljid()], - undefined | binary()) -> + binary()) -> {error, error()} | {result, undefined, userlist()}. process_blocklist_block(LUser, LServer, JIDs, Lang) -> @@ -170,7 +170,7 @@ process_blocklist_block(LUser, LServer, JIDs, Lang) -> {error, xmpp:err_internal_server_error(<<"Database failure">>, Lang)} end. --spec process_blocklist_unblock_all(binary(), binary(), undefined | binary()) -> +-spec process_blocklist_unblock_all(binary(), binary(), binary()) -> {error, error()} | {result, undefined} | {result, undefined, userlist()}. @@ -194,8 +194,7 @@ process_blocklist_unblock_all(LUser, LServer, Lang) -> {error, xmpp:err_internal_server_error(<<"Database failure">>, Lang)} end. --spec process_blocklist_unblock(binary(), binary(), [ljid()], - undefined | binary()) -> +-spec process_blocklist_unblock(binary(), binary(), [ljid()], binary()) -> {error, error()} | {result, undefined} | {result, undefined, userlist()}. @@ -243,7 +242,7 @@ broadcast_blocklist_event(LUser, LServer, Event) -> ejabberd_sm:route(JID, JID, {broadcast, {blocking, Event}}). --spec process_blocklist_get(binary(), binary(), undefined | binary()) -> +-spec process_blocklist_get(binary(), binary(), binary()) -> {error, error()} | {result, block_list()}. process_blocklist_get(LUser, LServer, Lang) -> Mod = db_mod(LServer), diff --git a/src/mod_caps.erl b/src/mod_caps.erl index 7c7ebf7b3..d5033ffd8 100644 --- a/src/mod_caps.erl +++ b/src/mod_caps.erl @@ -35,8 +35,6 @@ -behaviour(gen_mod). --compile(export_all). - -export([read_caps/1, caps_stream_features/2, disco_features/5, disco_identity/5, disco_info/5, get_features/2, export/1, import_info/0, import/5, @@ -162,38 +160,38 @@ caps_stream_features(Acc, MyHost) -> -spec disco_features({error, error()} | {result, [binary()]} | empty, jid(), jid(), - undefined | binary(), undefined | binary()) -> + binary(), binary()) -> {error, error()} | {result, [binary()]}. disco_features(Acc, From, To, Node, Lang) -> case is_valid_node(Node) of true -> ejabberd_hooks:run_fold(disco_local_features, To#jid.lserver, empty, - [From, To, undefined, Lang]); + [From, To, <<"">>, Lang]); false -> Acc end. -spec disco_identity([identity()], jid(), jid(), - undefined | binary(), undefined | binary()) -> + binary(), binary()) -> [identity()]. disco_identity(Acc, From, To, Node, Lang) -> case is_valid_node(Node) of true -> ejabberd_hooks:run_fold(disco_local_identity, To#jid.lserver, [], - [From, To, undefined, Lang]); + [From, To, <<"">>, Lang]); false -> Acc end. -spec disco_info([xdata()], binary(), module(), - undefined | binary(), undefined | binary()) -> [xdata()]. + binary(), binary()) -> [xdata()]. disco_info(Acc, Host, Module, Node, Lang) -> case is_valid_node(Node) of true -> ejabberd_hooks:run_fold(disco_info, Host, [], - [Host, Module, undefined, Lang]); + [Host, Module, <<"">>, Lang]); false -> Acc end. @@ -485,7 +483,7 @@ concat_info(#disco_info{xdata = Xs}) -> [concat_xdata_fields(Fs) || #xdata{type = result, fields = Fs} <- Xs]). concat_xdata_fields(Fields) -> - Form = case lists:keysearch(<<"FORM_TYPE">>, #xdata_field.var, Fields) of + Form = case lists:keyfind(<<"FORM_TYPE">>, #xdata_field.var, Fields) of #xdata_field{values = Values} -> Values; false -> [] end, @@ -509,9 +507,7 @@ gb_trees_fold_iter(F, Acc, Iter) -> now_ts() -> p1_time_compat:system_time(seconds). --spec is_valid_node(undefined | binary()) -> boolean(). -is_valid_node(undefined) -> - false; +-spec is_valid_node(binary()) -> boolean(). is_valid_node(Node) -> case str:tokens(Node, <<"#">>) of [?EJABBERD_URI|_] -> diff --git a/src/mod_configure.erl b/src/mod_configure.erl index 342a15232..07a1c7333 100644 --- a/src/mod_configure.erl +++ b/src/mod_configure.erl @@ -121,7 +121,6 @@ depends(_Host, _Opts) -> [<<"http:">>, <<"jabber.org">>, <<"protocol">>, <<"admin">>, Sub]). -tokenize(undefined) -> []; tokenize(Node) -> str:tokens(Node, <<"/#">>). get_sm_identity(Acc, _From, _To, Node, Lang) -> @@ -300,7 +299,7 @@ get_sm_items(Acc, From, empty -> [] end, case {acl:match_rule(LServer, configure, From), Node} of - {allow, undefined} -> + {allow, <<"">>} -> Nodes = [?NODEJID(To, <<"Configuration">>, <<"config">>), ?NODEJID(To, <<"User Management">>, <<"user">>)], @@ -399,7 +398,7 @@ get_permission_level(JID) -> end). get_local_items(Acc, From, #jid{lserver = LServer} = To, - undefined, Lang) -> + <<"">>, Lang) -> case gen_mod:is_loaded(LServer, mod_adhoc) of false -> Acc; _ -> diff --git a/src/mod_disco.erl b/src/mod_disco.erl index 0d3f242a0..e78b8f72f 100644 --- a/src/mod_disco.erl +++ b/src/mod_disco.erl @@ -190,9 +190,8 @@ process_local_iq_info(#iq{type = get, lang = Lang, end. -spec get_local_identity([identity()], jid(), jid(), - undefined | binary(), undefined | binary()) -> - [identity()]. -get_local_identity(Acc, _From, _To, undefined, _Lang) -> + binary(), binary()) -> [identity()]. +get_local_identity(Acc, _From, _To, <<"">>, _Lang) -> Acc ++ [#identity{category = <<"server">>, type = <<"im">>, name = <<"ejabberd">>}]; @@ -200,13 +199,12 @@ get_local_identity(Acc, _From, _To, _Node, _Lang) -> Acc. -spec get_local_features({error, error()} | {result, [binary()]} | empty, - jid(), jid(), - undefined | binary(), undefined | binary()) -> + jid(), jid(), binary(), binary()) -> {error, error()} | {result, [binary()]}. get_local_features({error, _Error} = Acc, _From, _To, _Node, _Lang) -> Acc; -get_local_features(Acc, _From, To, undefined, _Lang) -> +get_local_features(Acc, _From, To, <<"">>, _Lang) -> Feats = case Acc of {result, Features} -> Features; empty -> [] @@ -226,12 +224,12 @@ get_local_features(Acc, _From, _To, _Node, Lang) -> -spec get_local_services({error, error()} | {result, [disco_item()]} | empty, jid(), jid(), - undefined | binary(), undefined | binary()) -> + binary(), binary()) -> {error, error()} | {result, [disco_item()]}. get_local_services({error, _Error} = Acc, _From, _To, _Node, _Lang) -> Acc; -get_local_services(Acc, _From, To, undefined, _Lang) -> +get_local_services(Acc, _From, To, <<"">>, _Lang) -> Items = case Acc of {result, Its} -> Its; empty -> [] @@ -300,13 +298,13 @@ process_sm_iq_items(#iq{type = get, lang = Lang, -spec get_sm_items({error, error()} | {result, [disco_item()]} | empty, jid(), jid(), - undefined | binary(), undefined | binary()) -> + binary(), binary()) -> {error, error()} | {result, [disco_item()]}. get_sm_items({error, _Error} = Acc, _From, _To, _Node, _Lang) -> Acc; get_sm_items(Acc, From, - #jid{user = User, server = Server} = To, undefined, _Lang) -> + #jid{user = User, server = Server} = To, <<"">>, _Lang) -> Items = case Acc of {result, Its} -> Its; empty -> [] @@ -375,8 +373,7 @@ process_sm_iq_info(#iq{type = get, lang = Lang, end. -spec get_sm_identity([identity()], jid(), jid(), - undefined | binary(), undefined | binary()) -> - [identity()]. + binary(), binary()) -> [identity()]. get_sm_identity(Acc, _From, #jid{luser = LUser, lserver = LServer}, _Node, _Lang) -> Acc ++ @@ -387,8 +384,7 @@ get_sm_identity(Acc, _From, end. -spec get_sm_features({error, error()} | {result, [binary()]} | empty, - jid(), jid(), - undefined | binary(), undefined | binary()) -> + jid(), jid(), binary(), binary()) -> {error, error()} | {result, [binary()]}. get_sm_features(empty, From, To, _Node, Lang) -> #jid{luser = LFrom, lserver = LSFrom} = From, @@ -428,10 +424,8 @@ transform_module_options(Opts) -> %%% Support for: XEP-0157 Contact Addresses for XMPP Services --spec get_info([xdata()], binary(), module(), - undefined | binary(), undefined | binary()) -> - [xdata()]. -get_info(_A, Host, Mod, Node, _Lang) when Node == undefined -> +-spec get_info([xdata()], binary(), module(), binary(), binary()) -> [xdata()]. +get_info(_A, Host, Mod, Node, _Lang) when Node == <<"">> -> Module = case Mod of undefined -> ?MODULE; _ -> Mod diff --git a/src/mod_irc.erl b/src/mod_irc.erl index 1960c988d..3c094ef9c 100644 --- a/src/mod_irc.erl +++ b/src/mod_irc.erl @@ -257,7 +257,7 @@ process_disco_items(#iq{type = set, lang = Lang} = IQ) -> process_disco_items(#iq{type = get, lang = Lang, to = To, sub_els = [#disco_items{node = Node}]} = IQ) -> case Node of - undefined -> + <<"">> -> xmpp:make_iq_result(IQ, #disco_items{}); <<"join">> -> xmpp:make_iq_result(IQ, #disco_items{}); @@ -401,7 +401,7 @@ sm_route(Host, ServerHost, From, To, Packet) -> closed_connection(Host, From, Server) -> ets:delete(irc_connection, {From, Server, Host}). -iq_disco(_ServerHost, undefined, Lang) -> +iq_disco(_ServerHost, <<"">>, Lang) -> #disco_info{ identities = [#identity{category = <<"conference">>, type = <<"irc">>, diff --git a/src/mod_mam.erl b/src/mod_mam.erl index 0aaf484c5..b83c423c7 100644 --- a/src/mod_mam.erl +++ b/src/mod_mam.erl @@ -363,7 +363,7 @@ disco_sm_features(empty, From, To, Node, Lang) -> disco_sm_features({result, []}, From, To, Node, Lang); disco_sm_features({result, OtherFeatures}, #jid{luser = U, lserver = S}, - #jid{luser = U, lserver = S}, undefined, _Lang) -> + #jid{luser = U, lserver = S}, <<"">>, _Lang) -> {result, [?NS_MAM_TMP, ?NS_MAM_0, ?NS_MAM_1 | OtherFeatures]}; disco_sm_features(Acc, _From, _To, _Node, _Lang) -> Acc. diff --git a/src/mod_muc.erl b/src/mod_muc.erl index 294456ee2..3eca79fec 100644 --- a/src/mod_muc.erl +++ b/src/mod_muc.erl @@ -450,10 +450,10 @@ process_disco_info(#iq{type = set, lang = Lang} = IQ) -> Txt = <<"Value 'set' of 'type' attribute is not allowed">>, xmpp:make_error(IQ, xmpp:err_not_allowed(Txt, Lang)); process_disco_info(#iq{type = get, to = To, lang = Lang, - sub_els = [#disco_info{node = undefined}]} = IQ) -> + sub_els = [#disco_info{node = <<"">>}]} = IQ) -> ServerHost = ejabberd_router:host_of_route(To#jid.lserver), X = ejabberd_hooks:run_fold(disco_info, ServerHost, [], - [ServerHost, ?MODULE, undefined, Lang]), + [ServerHost, ?MODULE, <<"">>, Lang]), MAMFeatures = case gen_mod:is_loaded(ServerHost, mod_mam) of true -> [?NS_MAM_TMP, ?NS_MAM_0, ?NS_MAM_1]; false -> [] @@ -562,7 +562,7 @@ register_room(Host, Room, Pid) -> end, mnesia:transaction(F). -iq_disco_items(Host, From, Lang, undefined, undefined) -> +iq_disco_items(Host, From, Lang, <<"">>, undefined) -> Rooms = get_vh_rooms(Host), case erlang:length(Rooms) < ?MAX_ROOMS_DISCOITEMS of true -> diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl index 68064fcb7..5814ca832 100644 --- a/src/mod_muc_room.erl +++ b/src/mod_muc_room.erl @@ -277,7 +277,7 @@ normal_state({route, From, <<"">>, process_iq_admin(From, IQ, StateData); ?NS_MUC_OWNER -> process_iq_owner(From, IQ, StateData); - ?NS_DISCO_INFO when SubEl#disco_info.node == undefined -> + ?NS_DISCO_INFO when SubEl#disco_info.node == <<>> -> process_iq_disco_info(From, IQ, StateData); ?NS_DISCO_INFO -> Txt = <<"Disco info is not available for this node">>, @@ -2146,11 +2146,7 @@ send_new_presence1(NJID, Reason, IsInitialPresence, StateData, OldStateData) -> true -> Item0#muc_item{jid = RealJID}; false -> Item0 end, - Item = if is_binary(Reason), Reason /= <<"">> -> - Item1#muc_item{reason = Reason}; - true -> - Item1 - end, + Item = Item1#muc_item{reason = Reason}, StatusCodes = status_codes(IsInitialPresence, NJID, Info, StateData), Pres = if Presence == undefined -> #presence{}; @@ -2526,11 +2522,7 @@ items_with_affiliation(SAffiliation, StateData) -> lists:map( fun({JID, {Affiliation, Reason}}) -> #muc_item{affiliation = Affiliation, jid = JID, - reason = if is_binary(Reason), Reason /= <<"">> -> - Reason; - true -> - undefined - end}; + reason = Reason}; ({JID, Affiliation}) -> #muc_item{affiliation = Affiliation, jid = JID} end, @@ -2563,7 +2555,7 @@ search_affiliation(Affiliation, StateData) -> end, (?DICT):to_list(StateData#state.affiliations)). --spec process_admin_items_set(jid(), [muc_item()], binary() | undefined, +-spec process_admin_items_set(jid(), [muc_item()], binary(), #state{}) -> {result, undefined, #state{}} | {error, error()}. process_admin_items_set(UJID, Items, Lang, StateData) -> @@ -2666,13 +2658,13 @@ find_changed_items(_UJID, _UAffiliation, _URole, Txt = <<"Neither 'role' nor 'affiliation' attribute found">>, throw({error, xmpp:err_bad_request(Txt, Lang)}); find_changed_items(UJID, UAffiliation, URole, - [#muc_item{jid = J, nick = Nick, reason = Reason0, + [#muc_item{jid = J, nick = Nick, reason = Reason, role = Role, affiliation = Affiliation}|Items], Lang, StateData, Res) -> [JID | _] = JIDs = if J /= undefined -> [J]; - Nick /= undefined -> + Nick /= <<"">> -> case find_jids_by_nick(Nick, StateData) of [] -> ErrText = iolist_to_binary( @@ -2717,9 +2709,6 @@ find_changed_items(UJID, UAffiliation, URole, Items, Lang, StateData, Res); true -> - Reason = if is_binary(Reason0) -> Reason0; - true -> <<"">> - end, MoreRes = [{jid:remove_resource(Jidx), RoleOrAff, RoleOrAffValue, Reason} || Jidx <- JIDs], @@ -2914,11 +2903,7 @@ send_kickban_presence1(MJID, UJID, Reason, Code, Affiliation, true -> Item0#muc_item{jid = RealJID}; false -> Item0 end, - Item2 = if is_binary(Reason), Reason /= <<"">> -> - Item1#muc_item{reason = Reason}; - true -> - Item1 - end, + Item2 = Item1#muc_item{reason = Reason}, Item = case ActorNick of <<"">> -> Item2; _ -> Item2#muc_item{actor = #muc_actor{nick = ActorNick}} diff --git a/src/mod_offline.erl b/src/mod_offline.erl index 66edb6a7c..4d597a52c 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -250,7 +250,7 @@ receive_all(US, Msgs, DBType) -> end end. -get_sm_features(Acc, _From, _To, undefined, _Lang) -> +get_sm_features(Acc, _From, _To, <<"">>, _Lang) -> Feats = case Acc of {result, I} -> I; _ -> [] @@ -297,8 +297,7 @@ get_sm_items(_Acc, #jid{luser = U, lserver = S, lresource = R} = JID, get_sm_items(Acc, _From, _To, _Node, _Lang) -> Acc. --spec get_info([xdata()], jid(), jid(), - undefined | binary(), undefined | binary()) -> [xdata()]. +-spec get_info([xdata()], jid(), jid(), binary(), binary()) -> [xdata()]. get_info(_Acc, #jid{luser = U, lserver = S, lresource = R}, #jid{luser = U, lserver = S}, ?NS_FLEX_OFFLINE, _Lang) -> N = jlib:integer_to_binary(count_offline_messages(U, S)), diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl index da947ace1..1da040d43 100644 --- a/src/mod_privacy.erl +++ b/src/mod_privacy.erl @@ -116,7 +116,7 @@ process_iq_get(_, #iq{from = From, lang = Lang, {error, xmpp:err_bad_request(Txt, Lang)} end. --spec process_lists_get(binary(), binary(), binary(), undefined | binary()) -> +-spec process_lists_get(binary(), binary(), binary(), binary()) -> {error, error()} | {result, privacy_query()}. process_lists_get(LUser, LServer, Active, Lang) -> Mod = gen_mod:db_mod(LServer, ?MODULE), @@ -134,7 +134,7 @@ process_lists_get(LUser, LServer, Active, Lang) -> || ListName <- ListNames]}} end. --spec process_list_get(binary(), binary(), binary(), undefined | binary()) -> +-spec process_list_get(binary(), binary(), binary(), binary()) -> {error, error()} | {result, privacy_query()}. process_list_get(LUser, LServer, Name, Lang) -> Mod = gen_mod:db_mod(LServer, ?MODULE), @@ -183,7 +183,7 @@ encode_list_item(#listitem{action = Action, presence_out = MatchPresenceOut} end. --spec encode_value(listitem_type(), listitem_value()) -> undefined | binary(). +-spec encode_value(listitem_type(), listitem_value()) -> binary(). encode_value(Type, Val) -> case Type of jid -> jid:to_string(Val); @@ -195,7 +195,7 @@ encode_value(Type, Val) -> from -> <<"from">>; none -> <<"none">> end; - none -> undefined + none -> <<"">> end. -spec decode_value(jid | subscription | group | undefined, binary()) -> @@ -239,8 +239,7 @@ process_iq_set(_, #iq{from = From, lang = Lang, end. -spec process_default_set(binary(), binary(), none | binary(), - undefined | binary()) -> {error, error()} | - {result, undefined}. + binary()) -> {error, error()} | {result, undefined}. process_default_set(LUser, LServer, Value, Lang) -> Mod = gen_mod:db_mod(LServer, ?MODULE), case Mod:process_default_set(LUser, LServer, Value) of @@ -258,8 +257,7 @@ process_default_set(LUser, LServer, Value, Lang) -> {error, xmpp:err_internal_server_error()} end. --spec process_active_set(binary(), binary(), none | binary(), - undefined | binary()) -> +-spec process_active_set(binary(), binary(), none | binary(), binary()) -> {error, error()} | {result, undefined, userlist()}. process_active_set(_LUser, _LServer, none, _Lang) -> @@ -282,8 +280,7 @@ set_privacy_list(#privacy{us = {_, LServer}} = Privacy) -> Mod:set_privacy_list(Privacy). -spec process_lists_set(binary(), binary(), binary(), [privacy_item()], - undefined | binary()) -> {error, error()} | - {result, undefined}. + binary()) -> {error, error()} | {result, undefined}. process_lists_set(LUser, LServer, Name, [], Lang) -> Mod = gen_mod:db_mod(LServer, ?MODULE), case Mod:remove_privacy_list(LUser, LServer, Name) of diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl index e90ff21bd..789771d7d 100644 --- a/src/mod_proxy65_service.erl +++ b/src/mod_proxy65_service.erl @@ -156,11 +156,6 @@ process_bytestreams(#iq{type = get, from = JID, to = To, lang = Lang} = IQ) -> deny -> xmpp:make_error(IQ, xmpp:err_forbidden(<<"Denied by ACL">>, Lang)) end; -process_bytestreams(#iq{type = set, lang = Lang, - sub_els = [#bytestreams{sid = undefined}]} = IQ) -> - Why = {missing_attr, <<"sid">>, <<"query">>, ?NS_BYTESTREAMS}, - Txt = xmpp:format_error(Why), - xmpp:make_error(IQ, xmpp:err_bad_request(Txt, Lang)); process_bytestreams(#iq{type = set, lang = Lang, sub_els = [#bytestreams{sid = SID}]} = IQ) when SID == <<"">> orelse length(SID) > 128 -> diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl index 231c42dc0..4653d6e2c 100644 --- a/src/mod_vcard.erl +++ b/src/mod_vcard.erl @@ -151,15 +151,14 @@ do_route(_, _, _) -> ok. -spec get_sm_features({error, error()} | empty | {result, [binary()]}, - jid(), jid(), - undefined | binary(), undefined | binary()) -> + jid(), jid(), binary(), binary()) -> {error, error()} | empty | {result, [binary()]}. get_sm_features({error, _Error} = Acc, _From, _To, _Node, _Lang) -> Acc; get_sm_features(Acc, _From, _To, Node, _Lang) -> case Node of - undefined -> + <<"">> -> case Acc of {result, Features} -> {result, [?NS_DISCO_INFO, ?NS_VCARD | Features]}; @@ -232,10 +231,9 @@ process_search(#iq{type = set, lang = Lang} = IQ) -> xmpp:make_error(IQ, xmpp:err_bad_request(Txt, Lang)). -spec disco_items({error, error()} | {result, [disco_item()]} | empty, - jid(), jid(), - undefined | binary(), undefined | binary()) -> + jid(), jid(), binary(), binary()) -> {error, error()} | {result, [disco_item()]}. -disco_items(empty, _From, _To, undefined, _Lang) -> +disco_items(empty, _From, _To, <<"">>, _Lang) -> {result, []}; disco_items(empty, _From, _To, _Node, Lang) -> {error, xmpp:err_item_not_found(<<"No services available">>, Lang)}; @@ -243,12 +241,11 @@ disco_items(Acc, _From, _To, _Node, _Lang) -> Acc. -spec disco_features({error, error()} | {result, [binary()]} | empty, - jid(), jid(), - undefined | binary(), undefined | binary()) -> + jid(), jid(), binary(), binary()) -> {error, error()} | {result, [binary()]}. disco_features({error, _Error} = Acc, _From, _To, _Node, _Lang) -> Acc; -disco_features(Acc, _From, _To, undefined, _Lang) -> +disco_features(Acc, _From, _To, <<"">>, _Lang) -> Features = case Acc of {result, Fs} -> Fs; empty -> [] @@ -261,9 +258,9 @@ disco_features(empty, _From, _To, _Node, Lang) -> disco_features(Acc, _From, _To, _Node, _Lang) -> Acc. --spec disco_identity([identity()], jid(), jid(), undefined | binary(), - undefined | binary()) -> [identity()]. -disco_identity(Acc, _From, _To, undefined, Lang) -> +-spec disco_identity([identity()], jid(), jid(), + binary(), binary()) -> [identity()]. +disco_identity(Acc, _From, _To, <<"">>, Lang) -> [#identity{category = <<"directory">>, type = <<"user">>, name = translate:translate(Lang, <<"vCard User Search">>)}|Acc]; @@ -362,7 +359,7 @@ string2lower(String) -> error -> str:to_lower(String) end. --spec mk_tfield(binary(), binary(), undefined | binary()) -> xdata_field(). +-spec mk_tfield(binary(), binary(), binary()) -> xdata_field(). mk_tfield(Label, Var, Lang) -> #xdata_field{type = 'text-single', label = translate:translate(Lang, Label), @@ -372,7 +369,7 @@ mk_tfield(Label, Var, Lang) -> mk_field(Var, Val) -> #xdata_field{var = Var, values = [Val]}. --spec mk_search_form(jid(), binary(), undefined | binary()) -> search(). +-spec mk_search_form(jid(), binary(), binary()) -> search(). mk_search_form(JID, ServerHost, Lang) -> Title = <<(translate:translate(Lang, <<"Search users in ">>))/binary, (jid:to_string(JID))/binary>>, @@ -393,7 +390,7 @@ mk_search_form(JID, ServerHost, Lang) -> Lang, <<"You need an x:data capable client to search">>), xdata = X}. --spec search_result(undefined | binary(), jid(), binary(), [xdata_field()]) -> xdata(). +-spec search_result(binary(), jid(), binary(), [xdata_field()]) -> xdata(). search_result(Lang, JID, ServerHost, XFields) -> Mod = gen_mod:db_mod(ServerHost, ?MODULE), Reported = [mk_tfield(Label, Var, Lang) || diff --git a/src/translate.erl b/src/translate.erl index c8a924585..e9f61ab8c 100644 --- a/src/translate.erl +++ b/src/translate.erl @@ -126,10 +126,8 @@ load_file_loop(Fd, Line, File, Lang) -> ok end. --spec translate(binary() | undefined, binary()) -> binary(). +-spec translate(binary(), binary()) -> binary(). -translate(undefined, Msg) -> - translate(?MYLANG, Msg); translate(Lang, Msg) -> LLang = ascii_tolower(Lang), case ets:lookup(translations, {LLang, Msg}) of diff --git a/src/xmpp.erl b/src/xmpp.erl index b43243157..c81474f10 100644 --- a/src/xmpp.erl +++ b/src/xmpp.erl @@ -119,15 +119,11 @@ make_error(#xmlel{attrs = Attrs, children = Els} = El, Err) -> Attrs3 = lists:keystore(<<"type">>, 1, Attrs2, {<<"type">>, <<"error">>}), El#xmlel{attrs = Attrs3, children = Els ++ [encode(Err)]}. --spec get_id(iq() | message() | presence() | xmlel()) -> undefined | binary(). +-spec get_id(iq() | message() | presence() | xmlel()) -> binary(). get_id(#iq{id = ID}) -> ID; get_id(#message{id = ID}) -> ID; get_id(#presence{id = ID}) -> ID; -get_id(#xmlel{attrs = Attrs}) -> - case fxml:get_attr(<<"id">>, Attrs) of - {value, ID} -> ID; - false -> undefined - end. +get_id(#xmlel{attrs = Attrs}) -> fxml:get_attr_s(<<"id">>, Attrs). -spec get_type(iq()) -> iq_type(); (message()) -> message_type(); @@ -138,15 +134,11 @@ get_type(#message{type = T}) -> T; get_type(#presence{type = T}) -> T; get_type(#xmlel{attrs = Attrs}) -> fxml:get_attr_s(<<"type">>, Attrs). --spec get_lang(iq() | message() | presence()) -> undefined | binary(). +-spec get_lang(iq() | message() | presence()) -> binary(). get_lang(#iq{lang = L}) -> L; get_lang(#message{lang = L}) -> L; get_lang(#presence{lang = L}) -> L; -get_lang(#xmlel{attrs = Attrs}) -> - case fxml:get_attr(<<"xml:lang">>, Attrs) of - {value, L} -> L; - false -> undefined - end. +get_lang(#xmlel{attrs = Attrs}) -> fxml:get_attr_s(<<"xml:lang">>, Attrs). -spec get_from(iq() | message() | presence()) -> undefined | jid:jid(). get_from(#iq{from = J}) -> J; @@ -371,14 +363,13 @@ has_subtag([], _, _) -> -spec get_text([text()]) -> binary(). get_text([]) -> <<"">>; -get_text([#text{data = undefined}|_]) -> <<"">>; get_text([#text{data = Data}|_]) -> Data. -spec mk_text(binary()) -> [text()]. mk_text(Text) -> - mk_text(Text, undefined). + mk_text(Text, <<"">>). --spec mk_text(binary(), binary() | undefined) -> [text()]. +-spec mk_text(binary(), binary()) -> [text()]. mk_text(<<"">>, _) -> []; mk_text(Text, Lang) -> @@ -396,7 +387,7 @@ pp(Term) -> err_bad_request() -> err(modify, 'bad-request', 400). --spec err_bad_request(binary(), binary() | undefined) -> error(). +-spec err_bad_request(binary(), binary()) -> error(). err_bad_request(Text, Lang) -> err(modify, 'bad-request', 400, Text, Lang). @@ -404,7 +395,7 @@ err_bad_request(Text, Lang) -> err_conflict() -> err(cancel, 'conflict', 409). --spec err_conflict(binary(), binary() | undefined) -> error(). +-spec err_conflict(binary(), binary()) -> error(). err_conflict(Text, Lang) -> err(cancel, 'conflict', 409, Text, Lang). @@ -412,7 +403,7 @@ err_conflict(Text, Lang) -> err_feature_not_implemented() -> err(cancel, 'feature-not-implemented', 501). --spec err_feature_not_implemented(binary(), binary() | undefined) -> error(). +-spec err_feature_not_implemented(binary(), binary()) -> error(). err_feature_not_implemented(Text, Lang) -> err(cancel, 'feature-not-implemented', 501, Text, Lang). @@ -420,7 +411,7 @@ err_feature_not_implemented(Text, Lang) -> err_forbidden() -> err(auth, 'forbidden', 403). --spec err_forbidden(binary(), binary() | undefined) -> error(). +-spec err_forbidden(binary(), binary()) -> error(). err_forbidden(Text, Lang) -> err(auth, 'forbidden', 403, Text, Lang). @@ -430,7 +421,7 @@ err_forbidden(Text, Lang) -> err_gone() -> err(modify, 'gone', 302). --spec err_gone(binary(), binary() | undefined) -> error(). +-spec err_gone(binary(), binary()) -> error(). err_gone(Text, Lang) -> err(modify, 'gone', 302, Text, Lang). @@ -440,7 +431,7 @@ err_gone(Text, Lang) -> err_internal_server_error() -> err(wait, 'internal-server-error', 500). --spec err_internal_server_error(binary(), binary() | undefined) -> error(). +-spec err_internal_server_error(binary(), binary()) -> error(). err_internal_server_error(Text, Lang) -> err(wait, 'internal-server-error', 500, Text, Lang). @@ -448,7 +439,7 @@ err_internal_server_error(Text, Lang) -> err_item_not_found() -> err(cancel, 'item-not-found', 404). --spec err_item_not_found(binary(), binary() | undefined) -> error(). +-spec err_item_not_found(binary(), binary()) -> error(). err_item_not_found(Text, Lang) -> err(cancel, 'item-not-found', 404, Text, Lang). @@ -456,7 +447,7 @@ err_item_not_found(Text, Lang) -> err_jid_malformed() -> err(modify, 'jid-malformed', 400). --spec err_jid_malformed(binary(), binary() | undefined) -> error(). +-spec err_jid_malformed(binary(), binary()) -> error(). err_jid_malformed(Text, Lang) -> err(modify, 'jid-malformed', 400, Text, Lang). @@ -464,7 +455,7 @@ err_jid_malformed(Text, Lang) -> err_not_acceptable() -> err(modify, 'not-acceptable', 406). --spec err_not_acceptable(binary(), binary() | undefined) -> error(). +-spec err_not_acceptable(binary(), binary()) -> error(). err_not_acceptable(Text, Lang) -> err(modify, 'not-acceptable', 406, Text, Lang). @@ -472,7 +463,7 @@ err_not_acceptable(Text, Lang) -> err_not_allowed() -> err(cancel, 'not-allowed', 405). --spec err_not_allowed(binary(), binary() | undefined) -> error(). +-spec err_not_allowed(binary(), binary()) -> error(). err_not_allowed(Text, Lang) -> err(cancel, 'not-allowed', 405, Text, Lang). @@ -480,7 +471,7 @@ err_not_allowed(Text, Lang) -> err_not_authorized() -> err(auth, 'not-authorized', 401). --spec err_not_authorized(binary(), binary() | undefined) -> error(). +-spec err_not_authorized(binary(), binary()) -> error(). err_not_authorized(Text, Lang) -> err(auth, 'not-authorized', 401, Text, Lang). @@ -488,7 +479,7 @@ err_not_authorized(Text, Lang) -> err_payment_required() -> err(auth, 'not-authorized', 402). --spec err_payment_required(binary(), binary() | undefined) -> error(). +-spec err_payment_required(binary(), binary()) -> error(). err_payment_required(Text, Lang) -> err(auth, 'not-authorized', 402, Text, Lang). @@ -498,7 +489,7 @@ err_payment_required(Text, Lang) -> err_policy_violation() -> err(modify, 'policy-violation', 403). --spec err_policy_violation(binary(), binary() | undefined) -> error(). +-spec err_policy_violation(binary(), binary()) -> error(). err_policy_violation(Text, Lang) -> err(modify, 'policy-violation', 403, Text, Lang). @@ -506,7 +497,7 @@ err_policy_violation(Text, Lang) -> err_recipient_unavailable() -> err(wait, 'recipient-unavailable', 404). --spec err_recipient_unavailable(binary(), binary() | undefined) -> error(). +-spec err_recipient_unavailable(binary(), binary()) -> error(). err_recipient_unavailable(Text, Lang) -> err(wait, 'recipient-unavailable', 404, Text, Lang). @@ -514,7 +505,7 @@ err_recipient_unavailable(Text, Lang) -> err_redirect() -> err(modify, 'redirect', 302). --spec err_redirect(binary(), binary() | undefined) -> error(). +-spec err_redirect(binary(), binary()) -> error(). err_redirect(Text, Lang) -> err(modify, 'redirect', 302, Text, Lang). @@ -522,7 +513,7 @@ err_redirect(Text, Lang) -> err_registration_required() -> err(auth, 'registration-required', 407). --spec err_registration_required(binary(), binary() | undefined) -> error(). +-spec err_registration_required(binary(), binary()) -> error(). err_registration_required(Text, Lang) -> err(auth, 'registration-required', 407, Text, Lang). @@ -530,7 +521,7 @@ err_registration_required(Text, Lang) -> err_remote_server_not_found() -> err(cancel, 'remote-server-not-found', 404). --spec err_remote_server_not_found(binary(), binary() | undefined) -> error(). +-spec err_remote_server_not_found(binary(), binary()) -> error(). err_remote_server_not_found(Text, Lang) -> err(cancel, 'remote-server-not-found', 404, Text, Lang). @@ -538,7 +529,7 @@ err_remote_server_not_found(Text, Lang) -> err_remote_server_timeout() -> err(wait, 'remote-server-timeout', 504). --spec err_remote_server_timeout(binary(), binary() | undefined) -> error(). +-spec err_remote_server_timeout(binary(), binary()) -> error(). err_remote_server_timeout(Text, Lang) -> err(wait, 'remote-server-timeout', 504, Text, Lang). @@ -546,7 +537,7 @@ err_remote_server_timeout(Text, Lang) -> err_resource_constraint() -> err(wait, 'resource-constraint', 500). --spec err_resource_constraint(binary(), binary() | undefined) -> error(). +-spec err_resource_constraint(binary(), binary()) -> error(). err_resource_constraint(Text, Lang) -> err(wait, 'resource-constraint', 500, Text, Lang). @@ -554,7 +545,7 @@ err_resource_constraint(Text, Lang) -> err_service_unavailable() -> err(cancel, 'service-unavailable', 503). --spec err_service_unavailable(binary(), binary() | undefined) -> error(). +-spec err_service_unavailable(binary(), binary()) -> error(). err_service_unavailable(Text, Lang) -> err(cancel, 'service-unavailable', 503, Text, Lang). @@ -562,7 +553,7 @@ err_service_unavailable(Text, Lang) -> err_subscription_required() -> err(auth, 'subscription-required', 407). --spec err_subscription_required(binary(), binary() | undefined) -> error(). +-spec err_subscription_required(binary(), binary()) -> error(). err_subscription_required(Text, Lang) -> err(auth, 'subscription-required', 407, Text, Lang). @@ -574,7 +565,7 @@ err_undefined_condition(Type) -> err(Type, 'undefined-condition', 500). -spec err_undefined_condition('auth' | 'cancel' | 'continue' | 'modify' | 'wait', - binary(), binary() | undefined) -> error(). + binary(), binary()) -> error(). err_undefined_condition(Type, Text, Lang) -> err(Type, 'undefined-condition', 500, Text, Lang). @@ -584,7 +575,7 @@ err_undefined_condition(Type, Text, Lang) -> err_unexpected_request() -> err(wait, 'unexpected-request', 400). --spec err_unexpected_request(binary(), binary() | undefined) -> error(). +-spec err_unexpected_request(binary(), binary()) -> error(). err_unexpected_request(Text, Lang) -> err(wait, 'unexpected-request', 400, Text, Lang). @@ -595,7 +586,7 @@ err_unexpected_request(Text, Lang) -> serr_bad_format() -> serr('bad-format'). --spec serr_bad_format(binary(), binary() | undefined) -> stream_error(). +-spec serr_bad_format(binary(), binary()) -> stream_error(). serr_bad_format(Text, Lang) -> serr('bad-format', Text, Lang). @@ -603,7 +594,7 @@ serr_bad_format(Text, Lang) -> serr_bad_namespace_prefix() -> serr('bad-namespace-prefix'). --spec serr_bad_namespace_prefix(binary(), binary() | undefined) -> stream_error(). +-spec serr_bad_namespace_prefix(binary(), binary()) -> stream_error(). serr_bad_namespace_prefix(Text, Lang) -> serr('bad-namespace-prefix', Text, Lang). @@ -611,7 +602,7 @@ serr_bad_namespace_prefix(Text, Lang) -> serr_conflict() -> serr('conflict'). --spec serr_conflict(binary(), binary() | undefined) -> stream_error(). +-spec serr_conflict(binary(), binary()) -> stream_error(). serr_conflict(Text, Lang) -> serr('conflict', Text, Lang). @@ -619,7 +610,7 @@ serr_conflict(Text, Lang) -> serr_connection_timeout() -> serr('connection-timeout'). --spec serr_connection_timeout(binary(), binary() | undefined) -> stream_error(). +-spec serr_connection_timeout(binary(), binary()) -> stream_error(). serr_connection_timeout(Text, Lang) -> serr('connection-timeout', Text, Lang). @@ -627,7 +618,7 @@ serr_connection_timeout(Text, Lang) -> serr_host_gone() -> serr('host-gone'). --spec serr_host_gone(binary(), binary() | undefined) -> stream_error(). +-spec serr_host_gone(binary(), binary()) -> stream_error(). serr_host_gone(Text, Lang) -> serr('host-gone', Text, Lang). @@ -635,7 +626,7 @@ serr_host_gone(Text, Lang) -> serr_host_unknown() -> serr('host-unknown'). --spec serr_host_unknown(binary(), binary() | undefined) -> stream_error(). +-spec serr_host_unknown(binary(), binary()) -> stream_error(). serr_host_unknown(Text, Lang) -> serr('host-unknown', Text, Lang). @@ -643,7 +634,7 @@ serr_host_unknown(Text, Lang) -> serr_improper_addressing() -> serr('improper-addressing'). --spec serr_improper_addressing(binary(), binary() | undefined) -> stream_error(). +-spec serr_improper_addressing(binary(), binary()) -> stream_error(). serr_improper_addressing(Text, Lang) -> serr('improper-addressing', Text, Lang). @@ -651,7 +642,7 @@ serr_improper_addressing(Text, Lang) -> serr_internal_server_error() -> serr('internal-server-error'). --spec serr_internal_server_error(binary(), binary() | undefined) -> stream_error(). +-spec serr_internal_server_error(binary(), binary()) -> stream_error(). serr_internal_server_error(Text, Lang) -> serr('internal-server-error', Text, Lang). @@ -659,7 +650,7 @@ serr_internal_server_error(Text, Lang) -> serr_invalid_from() -> serr('invalid-from'). --spec serr_invalid_from(binary(), binary() | undefined) -> stream_error(). +-spec serr_invalid_from(binary(), binary()) -> stream_error(). serr_invalid_from(Text, Lang) -> serr('invalid-from', Text, Lang). @@ -667,7 +658,7 @@ serr_invalid_from(Text, Lang) -> serr_invalid_id() -> serr('invalid-id'). --spec serr_invalid_id(binary(), binary() | undefined) -> stream_error(). +-spec serr_invalid_id(binary(), binary()) -> stream_error(). serr_invalid_id(Text, Lang) -> serr('invalid-id', Text, Lang). @@ -675,7 +666,7 @@ serr_invalid_id(Text, Lang) -> serr_invalid_namespace() -> serr('invalid-namespace'). --spec serr_invalid_namespace(binary(), binary() | undefined) -> stream_error(). +-spec serr_invalid_namespace(binary(), binary()) -> stream_error(). serr_invalid_namespace(Text, Lang) -> serr('invalid-namespace', Text, Lang). @@ -683,7 +674,7 @@ serr_invalid_namespace(Text, Lang) -> serr_invalid_xml() -> serr('invalid-xml'). --spec serr_invalid_xml(binary(), binary() | undefined) -> stream_error(). +-spec serr_invalid_xml(binary(), binary()) -> stream_error(). serr_invalid_xml(Text, Lang) -> serr('invalid-xml', Text, Lang). @@ -691,7 +682,7 @@ serr_invalid_xml(Text, Lang) -> serr_not_authorized() -> serr('not-authorized'). --spec serr_not_authorized(binary(), binary() | undefined) -> stream_error(). +-spec serr_not_authorized(binary(), binary()) -> stream_error(). serr_not_authorized(Text, Lang) -> serr('not-authorized', Text, Lang). @@ -699,7 +690,7 @@ serr_not_authorized(Text, Lang) -> serr_not_well_formed() -> serr('not-well-formed'). --spec serr_not_well_formed(binary(), binary() | undefined) -> stream_error(). +-spec serr_not_well_formed(binary(), binary()) -> stream_error(). serr_not_well_formed(Text, Lang) -> serr('not-well-formed', Text, Lang). @@ -707,7 +698,7 @@ serr_not_well_formed(Text, Lang) -> serr_policy_violation() -> serr('policy-violation'). --spec serr_policy_violation(binary(), binary() | undefined) -> stream_error(). +-spec serr_policy_violation(binary(), binary()) -> stream_error(). serr_policy_violation(Text, Lang) -> serr('policy-violation', Text, Lang). @@ -715,7 +706,7 @@ serr_policy_violation(Text, Lang) -> serr_remote_connection_failed() -> serr('remote-connection-failed'). --spec serr_remote_connection_failed(binary(), binary() | undefined) -> stream_error(). +-spec serr_remote_connection_failed(binary(), binary()) -> stream_error(). serr_remote_connection_failed(Text, Lang) -> serr('remote-connection-failed', Text, Lang). @@ -723,7 +714,7 @@ serr_remote_connection_failed(Text, Lang) -> serr_reset() -> serr('reset'). --spec serr_reset(binary(), binary() | undefined) -> stream_error(). +-spec serr_reset(binary(), binary()) -> stream_error(). serr_reset(Text, Lang) -> serr('reset', Text, Lang). @@ -731,7 +722,7 @@ serr_reset(Text, Lang) -> serr_resource_constraint() -> serr('resource-constraint'). --spec serr_resource_constraint(binary(), binary() | undefined) -> stream_error(). +-spec serr_resource_constraint(binary(), binary()) -> stream_error(). serr_resource_constraint(Text, Lang) -> serr('resource-constraint', Text, Lang). @@ -739,7 +730,7 @@ serr_resource_constraint(Text, Lang) -> serr_restricted_xml() -> serr('restricted-xml'). --spec serr_restricted_xml(binary(), binary() | undefined) -> stream_error(). +-spec serr_restricted_xml(binary(), binary()) -> stream_error(). serr_restricted_xml(Text, Lang) -> serr('restricted-xml', Text, Lang). @@ -747,7 +738,7 @@ serr_restricted_xml(Text, Lang) -> serr_see_other_host() -> serr('see-other-host'). --spec serr_see_other_host(binary(), binary() | undefined) -> stream_error(). +-spec serr_see_other_host(binary(), binary()) -> stream_error(). serr_see_other_host(Text, Lang) -> serr('see-other-host', Text, Lang). @@ -755,7 +746,7 @@ serr_see_other_host(Text, Lang) -> serr_system_shutdown() -> serr('system-shutdown'). --spec serr_system_shutdown(binary(), binary() | undefined) -> stream_error(). +-spec serr_system_shutdown(binary(), binary()) -> stream_error(). serr_system_shutdown(Text, Lang) -> serr('system-shutdown', Text, Lang). @@ -763,7 +754,7 @@ serr_system_shutdown(Text, Lang) -> serr_undefined_condition() -> serr('undefined-condition'). --spec serr_undefined_condition(binary(), binary() | undefined) -> stream_error(). +-spec serr_undefined_condition(binary(), binary()) -> stream_error(). serr_undefined_condition(Text, Lang) -> serr('undefined-condition', Text, Lang). @@ -771,7 +762,7 @@ serr_undefined_condition(Text, Lang) -> serr_unsupported_encoding() -> serr('unsupported-encoding'). --spec serr_unsupported_encoding(binary(), binary() | undefined) -> stream_error(). +-spec serr_unsupported_encoding(binary(), binary()) -> stream_error(). serr_unsupported_encoding(Text, Lang) -> serr('unsupported-encoding', Text, Lang). @@ -779,7 +770,7 @@ serr_unsupported_encoding(Text, Lang) -> serr_unsupported_stanza_type() -> serr('unsupported-stanza-type'). --spec serr_unsupported_stanza_type(binary(), binary() | undefined) -> stream_error(). +-spec serr_unsupported_stanza_type(binary(), binary()) -> stream_error(). serr_unsupported_stanza_type(Text, Lang) -> serr('unsupported-stanza-type', Text, Lang). @@ -787,7 +778,7 @@ serr_unsupported_stanza_type(Text, Lang) -> serr_unsupported_version() -> serr('unsupported-version'). --spec serr_unsupported_version(binary(), binary() | undefined) -> stream_error(). +-spec serr_unsupported_version(binary(), binary()) -> stream_error(). serr_unsupported_version(Text, Lang) -> serr('unsupported-version', Text, Lang). @@ -801,7 +792,7 @@ err(Type, Reason, Code) -> -spec err('auth' | 'cancel' | 'continue' | 'modify' | 'wait', atom() | gone() | redirect(), non_neg_integer(), - binary(), binary() | undefined) -> error(). + binary(), binary()) -> error(). err(Type, Reason, Code, Text, Lang) -> #error{type = Type, reason = Reason, code = Code, text = #text{lang = Lang, @@ -812,7 +803,7 @@ serr(Reason) -> #stream_error{reason = Reason}. -spec serr(atom() | 'see-other-host'(), binary(), - binary() | undefined) -> stream_error(). + binary()) -> stream_error(). serr(Reason, Text, Lang) -> #stream_error{reason = Reason, text = #text{lang = Lang, diff --git a/src/xmpp_codec.erl b/src/xmpp_codec.erl index e0a5d47c9..905e48f3c 100644 --- a/src/xmpp_codec.erl +++ b/src/xmpp_codec.erl @@ -2399,7 +2399,7 @@ encode({vcard_temp, _, _, _, _, _, _, _, _, _, _, _, _, Vcard) -> encode_vcard_temp(Vcard, [{<<"xmlns">>, <<"vcard-temp">>}]); -encode({vcard_xupdate, undefined, _} = X) -> +encode({vcard_xupdate, _, _} = X) -> encode_vcard_xupdate(X, [{<<"xmlns">>, <<"vcard-temp:x:update">>}]); encode({xdata_option, _, _} = Option) -> @@ -2801,7 +2801,7 @@ get_name({vcard_temp, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) -> <<"vCard">>; -get_name({vcard_xupdate, undefined, _}) -> <<"x">>; +get_name({vcard_xupdate, _, _}) -> <<"x">>; get_name({xdata_option, _, _}) -> <<"option">>; get_name({xdata_field, _, _, _, _, _, _, _, _}) -> <<"field">>; @@ -3033,7 +3033,7 @@ get_ns({vcard_key, _, _}) -> <<"vcard-temp">>; get_ns({vcard_temp, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _}) -> <<"vcard-temp">>; -get_ns({vcard_xupdate, undefined, _}) -> +get_ns({vcard_xupdate, _, _}) -> <<"vcard-temp:x:update">>; get_ns({xdata_option, _, _}) -> <<"jabber:x:data">>; get_ns({xdata_field, _, _, _, _, _, _, _, _}) -> @@ -3331,7 +3331,6 @@ pp(vcard_temp, 29) -> email, jabberid, mailer, tz, geo, title, role, logo, org, categories, note, prodid, rev, sort_string, sound, uid, url, class, key, desc]; -pp(vcard_xupdate, 2) -> [us, hash]; pp(xdata_option, 2) -> [label, value]; pp(xdata_field, 8) -> [label, type, var, required, desc, values, options, @@ -3355,7 +3354,6 @@ pp(pubsub, 8) -> [subscriptions, affiliations, publish, subscribe, unsubscribe, options, items, retract]; pp(shim, 1) -> [headers]; -pp(chatstate, 1) -> [type]; pp(delay, 3) -> [stamp, from, desc]; pp(streamhost, 3) -> [jid, host, port]; pp(bytestreams, 6) -> @@ -3396,7 +3394,6 @@ pp(carbons_private, 0) -> []; pp(carbons_received, 1) -> [forwarded]; pp(carbons_sent, 1) -> [forwarded]; pp(feature_csi, 1) -> [xmlns]; -pp(csi, 1) -> [type]; pp(feature_sm, 1) -> [xmlns]; pp(sm_enable, 3) -> [max, resume, xmlns]; pp(sm_enabled, 5) -> [id, location, max, resume, xmlns]; @@ -3410,7 +3407,6 @@ pp(offline, 3) -> [items, purge, fetch]; pp(mix_join, 2) -> [jid, subscribe]; pp(mix_leave, 0) -> []; pp(mix_participant, 2) -> [jid, nick]; -pp(hint, 1) -> [type]; pp(search_item, 5) -> [jid, first, last, nick, email]; pp(search, 7) -> [instructions, first, last, nick, email, items, xdata]; @@ -3445,6 +3441,27 @@ pp(upload_slot, 3) -> [get, put, xmlns]; pp(thumbnail, 4) -> [uri, 'media-type', width, height]; pp(_, _) -> no. +enc_host_port(Host) when is_binary(Host) -> Host; +enc_host_port({{_, _, _, _, _, _, _, _} = IPv6, + Port}) -> + enc_host_port({<<$[, (enc_ip(IPv6))/binary, $]>>, + Port}); +enc_host_port({{_, _, _, _} = IPv4, Port}) -> + enc_host_port({enc_ip(IPv4), Port}); +enc_host_port({Host, Port}) -> + <>; +enc_host_port(Addr) -> enc_ip(Addr). + +dec_host_port(<<$[, T/binary>>) -> + [IP, <<$:, Port/binary>>] = binary:split(T, <<$]>>), + {dec_ip(IP), dec_int(Port, 0, 65535)}; +dec_host_port(S) -> + case binary:split(S, <<$:>>) of + [S] -> try dec_ip(S) catch _:_ -> S end; + [S, P] -> + {try dec_ip(S) catch _:_ -> S end, dec_int(P, 0, 65535)} + end. + enc_ip({0, 0, 0, 0, 0, 65535, A, B}) -> enc_ip({(A bsr 8) band 255, A band 255, (B bsr 8) band 255, B band 255}); @@ -3693,10 +3710,10 @@ encode_upload_slot({upload_slot, Get, Put, Xmlns}, [encode_upload_get(Get, []) | _acc]. decode_upload_slot_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_upload_slot_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_upload_slot_attr_xmlns(undefined, _acc) -> _acc; +encode_upload_slot_attr_xmlns(<<>>, _acc) -> _acc; encode_upload_slot_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -3916,12 +3933,11 @@ encode_upload_request({upload_request, Filename, Size, decode_upload_request_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_upload_request_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_upload_request_attr_xmlns(undefined, _acc) -> - _acc; +encode_upload_request_attr_xmlns(<<>>, _acc) -> _acc; encode_upload_request_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -4094,11 +4110,10 @@ encode_sic({sic, Ip, Port, Xmlns}, _xmlns_attrs) -> 'encode_sic_$port'(Port, _acc) -> [encode_sip_port(Port, []) | _acc]. -decode_sic_attr_xmlns(__TopXMLNS, undefined) -> - undefined; +decode_sic_attr_xmlns(__TopXMLNS, undefined) -> <<>>; decode_sic_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sic_attr_xmlns(undefined, _acc) -> _acc; +encode_sic_attr_xmlns(<<>>, _acc) -> _acc; encode_sic_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -4571,10 +4586,10 @@ encode_bob_data_attr_cid(_val, _acc) -> [{<<"max-age">>, enc_int(_val)} | _acc]. decode_bob_data_attr_type(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_bob_data_attr_type(__TopXMLNS, _val) -> _val. -encode_bob_data_attr_type(undefined, _acc) -> _acc; +encode_bob_data_attr_type(<<>>, _acc) -> _acc; encode_bob_data_attr_type(_val, _acc) -> [{<<"type">>, _val} | _acc]. @@ -4707,11 +4722,11 @@ encode_stream_start_attr_to(_val, _acc) -> [{<<"to">>, enc_jid(_val)} | _acc]. decode_stream_start_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_stream_start_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_stream_start_attr_xmlns(undefined, _acc) -> _acc; +encode_stream_start_attr_xmlns(<<>>, _acc) -> _acc; encode_stream_start_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -5207,24 +5222,23 @@ encode_adhoc_command_attr_node(_val, _acc) -> 'decode_adhoc_command_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_adhoc_command_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_adhoc_command_attr_xml:lang'(undefined, _acc) -> +'encode_adhoc_command_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_adhoc_command_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. decode_adhoc_command_attr_sessionid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_adhoc_command_attr_sessionid(__TopXMLNS, _val) -> _val. -encode_adhoc_command_attr_sessionid(undefined, _acc) -> - _acc; +encode_adhoc_command_attr_sessionid(<<>>, _acc) -> _acc; encode_adhoc_command_attr_sessionid(_val, _acc) -> [{<<"sessionid">>, _val} | _acc]. @@ -5723,19 +5737,17 @@ encode_address_attr_jid(undefined, _acc) -> _acc; encode_address_attr_jid(_val, _acc) -> [{<<"jid">>, enc_jid(_val)} | _acc]. -decode_address_attr_desc(__TopXMLNS, undefined) -> - undefined; +decode_address_attr_desc(__TopXMLNS, undefined) -> <<>>; decode_address_attr_desc(__TopXMLNS, _val) -> _val. -encode_address_attr_desc(undefined, _acc) -> _acc; +encode_address_attr_desc(<<>>, _acc) -> _acc; encode_address_attr_desc(_val, _acc) -> [{<<"desc">>, _val} | _acc]. -decode_address_attr_node(__TopXMLNS, undefined) -> - undefined; +decode_address_attr_node(__TopXMLNS, undefined) -> <<>>; decode_address_attr_node(__TopXMLNS, _val) -> _val. -encode_address_attr_node(undefined, _acc) -> _acc; +encode_address_attr_node(<<>>, _acc) -> _acc; encode_address_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -6001,10 +6013,10 @@ encode_xevent_id(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"id">>, _attrs, _els}. -decode_xevent_id_cdata(__TopXMLNS, <<>>) -> undefined; +decode_xevent_id_cdata(__TopXMLNS, <<>>) -> <<>>; decode_xevent_id_cdata(__TopXMLNS, _val) -> _val. -encode_xevent_id_cdata(undefined, _acc) -> _acc; +encode_xevent_id_cdata(<<>>, _acc) -> _acc; encode_xevent_id_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -6519,12 +6531,11 @@ encode_search_instructions(Cdata, _xmlns_attrs) -> {xmlel, <<"instructions">>, _attrs, _els}. decode_search_instructions_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_search_instructions_cdata(__TopXMLNS, _val) -> _val. -encode_search_instructions_cdata(undefined, _acc) -> - _acc; +encode_search_instructions_cdata(<<>>, _acc) -> _acc; encode_search_instructions_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -6641,12 +6652,11 @@ encode_mix_participant_attr_jid(_val, _acc) -> decode_mix_participant_attr_nick(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mix_participant_attr_nick(__TopXMLNS, _val) -> _val. -encode_mix_participant_attr_nick(undefined, _acc) -> - _acc; +encode_mix_participant_attr_nick(<<>>, _acc) -> _acc; encode_mix_participant_attr_nick(_val, _acc) -> [{<<"nick">>, _val} | _acc]. @@ -6889,10 +6899,10 @@ encode_offline_item({offline_item, Node, Action}, {xmlel, <<"item">>, _attrs, _els}. decode_offline_item_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_offline_item_attr_node(__TopXMLNS, _val) -> _val. -encode_offline_item_attr_node(undefined, _acc) -> _acc; +encode_offline_item_attr_node(<<>>, _acc) -> _acc; encode_offline_item_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -7413,10 +7423,10 @@ encode_sm_failed_attr_h(_val, _acc) -> [{<<"h">>, enc_int(_val)} | _acc]. decode_sm_failed_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_failed_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_failed_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_failed_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_failed_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7458,11 +7468,10 @@ decode_sm_a_attr_h(__TopXMLNS, _val) -> encode_sm_a_attr_h(_val, _acc) -> [{<<"h">>, enc_int(_val)} | _acc]. -decode_sm_a_attr_xmlns(__TopXMLNS, undefined) -> - undefined; +decode_sm_a_attr_xmlns(__TopXMLNS, undefined) -> <<>>; decode_sm_a_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_a_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_a_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_a_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7485,11 +7494,10 @@ encode_sm_r({sm_r, Xmlns}, _xmlns_attrs) -> _attrs = encode_sm_r_attr_xmlns(Xmlns, _xmlns_attrs), {xmlel, <<"r">>, _attrs, _els}. -decode_sm_r_attr_xmlns(__TopXMLNS, undefined) -> - undefined; +decode_sm_r_attr_xmlns(__TopXMLNS, undefined) -> <<>>; decode_sm_r_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_r_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_r_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_r_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7546,10 +7554,10 @@ encode_sm_resumed_attr_h(_val, _acc) -> [{<<"h">>, enc_int(_val)} | _acc]. decode_sm_resumed_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_resumed_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_resumed_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_resumed_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_resumed_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7615,10 +7623,10 @@ encode_sm_resume_attr_h(_val, _acc) -> [{<<"h">>, enc_int(_val)} | _acc]. decode_sm_resume_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_resume_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_resume_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_resume_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_resume_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7688,29 +7696,28 @@ encode_sm_enabled({sm_enabled, Id, Location, Max, {xmlel, <<"enabled">>, _attrs, _els}. decode_sm_enabled_attr_id(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_enabled_attr_id(__TopXMLNS, _val) -> _val. -encode_sm_enabled_attr_id(undefined, _acc) -> _acc; +encode_sm_enabled_attr_id(<<>>, _acc) -> _acc; encode_sm_enabled_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. decode_sm_enabled_attr_location(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_enabled_attr_location(__TopXMLNS, _val) -> _val. -encode_sm_enabled_attr_location(undefined, _acc) -> - _acc; +encode_sm_enabled_attr_location(<<>>, _acc) -> _acc; encode_sm_enabled_attr_location(_val, _acc) -> [{<<"location">>, _val} | _acc]. decode_sm_enabled_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_enabled_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_enabled_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_enabled_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_enabled_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7797,10 +7804,10 @@ encode_sm_enable_attr_max(_val, _acc) -> [{<<"max">>, enc_int(_val)} | _acc]. decode_sm_enable_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_sm_enable_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_sm_enable_attr_xmlns(undefined, _acc) -> _acc; +encode_sm_enable_attr_xmlns(<<>>, _acc) -> _acc; encode_sm_enable_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7841,10 +7848,10 @@ encode_feature_sm({feature_sm, Xmlns}, _xmlns_attrs) -> {xmlel, <<"sm">>, _attrs, _els}. decode_feature_sm_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_feature_sm_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_feature_sm_attr_xmlns(undefined, _acc) -> _acc; +encode_feature_sm_attr_xmlns(<<>>, _acc) -> _acc; encode_feature_sm_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -7889,10 +7896,10 @@ encode_feature_csi({feature_csi, Xmlns}, {xmlel, <<"csi">>, _attrs, _els}. decode_feature_csi_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_feature_csi_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_feature_csi_attr_xmlns(undefined, _acc) -> _acc; +encode_feature_csi_attr_xmlns(<<>>, _acc) -> _acc; encode_feature_csi_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -8137,10 +8144,10 @@ encode_mam_fin({mam_fin, Id, Rsm, Stable, Complete}, | _acc]. decode_mam_fin_attr_queryid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_fin_attr_queryid(__TopXMLNS, _val) -> _val. -encode_mam_fin_attr_queryid(undefined, _acc) -> _acc; +encode_mam_fin_attr_queryid(<<>>, _acc) -> _acc; encode_mam_fin_attr_queryid(_val, _acc) -> [{<<"queryid">>, _val} | _acc]. @@ -8301,10 +8308,10 @@ encode_mam_prefs_attr_default(_val, _acc) -> [{<<"default">>, enc_enum(_val)} | _acc]. decode_mam_prefs_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_prefs_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_mam_prefs_attr_xmlns(undefined, _acc) -> _acc; +encode_mam_prefs_attr_xmlns(<<>>, _acc) -> _acc; encode_mam_prefs_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -8325,36 +8332,23 @@ decode_mam_always_els(__TopXMLNS, __IgnoreEls, __TopXMLNS == <<"urn:xmpp:mam:0">>; __TopXMLNS == <<"urn:xmpp:mam:tmp">> -> decode_mam_always_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(__TopXMLNS, __IgnoreEls, - _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(__TopXMLNS, __IgnoreEls, _el) + | Jids]); <<"urn:xmpp:mam:0">> -> decode_mam_always_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(<<"urn:xmpp:mam:0">>, - __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(<<"urn:xmpp:mam:0">>, + __IgnoreEls, _el) + | Jids]); <<"urn:xmpp:mam:1">> -> decode_mam_always_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(<<"urn:xmpp:mam:1">>, - __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(<<"urn:xmpp:mam:1">>, + __IgnoreEls, _el) + | Jids]); <<"urn:xmpp:mam:tmp">> -> decode_mam_always_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(<<"urn:xmpp:mam:tmp">>, - __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(<<"urn:xmpp:mam:tmp">>, + __IgnoreEls, _el) + | Jids]); _ -> decode_mam_always_els(__TopXMLNS, __IgnoreEls, _els, Jids) @@ -8392,35 +8386,23 @@ decode_mam_never_els(__TopXMLNS, __IgnoreEls, __TopXMLNS == <<"urn:xmpp:mam:0">>; __TopXMLNS == <<"urn:xmpp:mam:tmp">> -> decode_mam_never_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(__TopXMLNS, __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(__TopXMLNS, __IgnoreEls, _el) + | Jids]); <<"urn:xmpp:mam:0">> -> decode_mam_never_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(<<"urn:xmpp:mam:0">>, - __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(<<"urn:xmpp:mam:0">>, + __IgnoreEls, _el) + | Jids]); <<"urn:xmpp:mam:1">> -> decode_mam_never_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(<<"urn:xmpp:mam:1">>, - __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(<<"urn:xmpp:mam:1">>, + __IgnoreEls, _el) + | Jids]); <<"urn:xmpp:mam:tmp">> -> decode_mam_never_els(__TopXMLNS, __IgnoreEls, _els, - case decode_mam_jid(<<"urn:xmpp:mam:tmp">>, - __IgnoreEls, _el) - of - undefined -> Jids; - _new_el -> [_new_el | Jids] - end); + [decode_mam_jid(<<"urn:xmpp:mam:tmp">>, + __IgnoreEls, _el) + | Jids]); _ -> decode_mam_never_els(__TopXMLNS, __IgnoreEls, _els, Jids) @@ -8544,27 +8526,27 @@ encode_mam_result({mam_result, Xmlns, Queryid, Id, {xmlel, <<"result">>, _attrs, _els}. decode_mam_result_attr_queryid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_result_attr_queryid(__TopXMLNS, _val) -> _val. -encode_mam_result_attr_queryid(undefined, _acc) -> _acc; +encode_mam_result_attr_queryid(<<>>, _acc) -> _acc; encode_mam_result_attr_queryid(_val, _acc) -> [{<<"queryid">>, _val} | _acc]. decode_mam_result_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_result_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_mam_result_attr_xmlns(undefined, _acc) -> _acc; +encode_mam_result_attr_xmlns(<<>>, _acc) -> _acc; encode_mam_result_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. decode_mam_result_attr_id(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_result_attr_id(__TopXMLNS, _val) -> _val. -encode_mam_result_attr_id(undefined, _acc) -> _acc; +encode_mam_result_attr_id(<<>>, _acc) -> _acc; encode_mam_result_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. @@ -8596,10 +8578,10 @@ encode_mam_archived({mam_archived, By, Id}, {xmlel, <<"archived">>, _attrs, _els}. decode_mam_archived_attr_id(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_archived_attr_id(__TopXMLNS, _val) -> _val. -encode_mam_archived_attr_id(undefined, _acc) -> _acc; +encode_mam_archived_attr_id(<<>>, _acc) -> _acc; encode_mam_archived_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. @@ -8797,18 +8779,18 @@ encode_mam_query({mam_query, Xmlns, Id, Start, End, | _acc]. decode_mam_query_attr_queryid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_query_attr_queryid(__TopXMLNS, _val) -> _val. -encode_mam_query_attr_queryid(undefined, _acc) -> _acc; +encode_mam_query_attr_queryid(<<>>, _acc) -> _acc; encode_mam_query_attr_queryid(_val, _acc) -> [{<<"queryid">>, _val} | _acc]. decode_mam_query_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_mam_query_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_mam_query_attr_xmlns(undefined, _acc) -> _acc; +encode_mam_query_attr_xmlns(<<>>, _acc) -> _acc; encode_mam_query_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -9205,10 +9187,10 @@ encode_rsm_first_attr_index(undefined, _acc) -> _acc; encode_rsm_first_attr_index(_val, _acc) -> [{<<"index">>, enc_int(_val)} | _acc]. -decode_rsm_first_cdata(__TopXMLNS, <<>>) -> undefined; +decode_rsm_first_cdata(__TopXMLNS, <<>>) -> <<>>; decode_rsm_first_cdata(__TopXMLNS, _val) -> _val. -encode_rsm_first_cdata(undefined, _acc) -> _acc; +encode_rsm_first_cdata(<<>>, _acc) -> _acc; encode_rsm_first_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -9343,10 +9325,10 @@ encode_rsm_last(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"last">>, _attrs, _els}. -decode_rsm_last_cdata(__TopXMLNS, <<>>) -> undefined; +decode_rsm_last_cdata(__TopXMLNS, <<>>) -> <<>>; decode_rsm_last_cdata(__TopXMLNS, _val) -> _val. -encode_rsm_last_cdata(undefined, _acc) -> _acc; +encode_rsm_last_cdata(<<>>, _acc) -> _acc; encode_rsm_last_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -9403,10 +9385,10 @@ encode_rsm_after(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"after">>, _attrs, _els}. -decode_rsm_after_cdata(__TopXMLNS, <<>>) -> undefined; +decode_rsm_after_cdata(__TopXMLNS, <<>>) -> <<>>; decode_rsm_after_cdata(__TopXMLNS, _val) -> _val. -encode_rsm_after_cdata(undefined, _acc) -> _acc; +encode_rsm_after_cdata(<<>>, _acc) -> _acc; encode_rsm_after_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -9540,24 +9522,17 @@ decode_muc_subscriptions_els(__TopXMLNS, __IgnoreEls, <<"">> when __TopXMLNS == <<"urn:xmpp:mucsub:0">> -> decode_muc_subscriptions_els(__TopXMLNS, __IgnoreEls, _els, - case decode_muc_subscription(__TopXMLNS, - __IgnoreEls, - _el) - of - undefined -> List; - _new_el -> [_new_el | List] - end); + [decode_muc_subscription(__TopXMLNS, + __IgnoreEls, + _el) + | List]); <<"urn:xmpp:mucsub:0">> -> decode_muc_subscriptions_els(__TopXMLNS, __IgnoreEls, _els, - case - decode_muc_subscription(<<"urn:xmpp:mucsub:0">>, - __IgnoreEls, - _el) - of - undefined -> List; - _new_el -> [_new_el | List] - end); + [decode_muc_subscription(<<"urn:xmpp:mucsub:0">>, + __IgnoreEls, + _el) + | List]); _ -> decode_muc_subscriptions_els(__TopXMLNS, __IgnoreEls, _els, List) @@ -9913,13 +9888,12 @@ encode_muc_admin_continue(Thread, _xmlns_attrs) -> decode_muc_admin_continue_attr_thread(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_admin_continue_attr_thread(__TopXMLNS, _val) -> _val. -encode_muc_admin_continue_attr_thread(undefined, - _acc) -> +encode_muc_admin_continue_attr_thread(<<>>, _acc) -> _acc; encode_muc_admin_continue_attr_thread(_val, _acc) -> [{<<"thread">>, _val} | _acc]. @@ -9973,12 +9947,11 @@ encode_muc_admin_actor_attr_jid(_val, _acc) -> decode_muc_admin_actor_attr_nick(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_admin_actor_attr_nick(__TopXMLNS, _val) -> _val. -encode_muc_admin_actor_attr_nick(undefined, _acc) -> - _acc; +encode_muc_admin_actor_attr_nick(<<>>, _acc) -> _acc; encode_muc_admin_actor_attr_nick(_val, _acc) -> [{<<"nick">>, _val} | _acc]. @@ -10188,12 +10161,11 @@ encode_muc_admin_item_attr_jid(_val, _acc) -> decode_muc_admin_item_attr_nick(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_admin_item_attr_nick(__TopXMLNS, _val) -> _val. -encode_muc_admin_item_attr_nick(undefined, _acc) -> - _acc; +encode_muc_admin_item_attr_nick(<<>>, _acc) -> _acc; encode_muc_admin_item_attr_nick(_val, _acc) -> [{<<"nick">>, _val} | _acc]. @@ -10394,12 +10366,11 @@ encode_muc_owner_item_attr_jid(_val, _acc) -> decode_muc_owner_item_attr_nick(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_owner_item_attr_nick(__TopXMLNS, _val) -> _val. -encode_muc_owner_item_attr_nick(undefined, _acc) -> - _acc; +encode_muc_owner_item_attr_nick(<<>>, _acc) -> _acc; encode_muc_owner_item_attr_nick(_val, _acc) -> [{<<"nick">>, _val} | _acc]. @@ -10526,11 +10497,10 @@ encode_muc_password(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"password">>, _attrs, _els}. -decode_muc_password_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_muc_password_cdata(__TopXMLNS, <<>>) -> <<>>; decode_muc_password_cdata(__TopXMLNS, _val) -> _val. -encode_muc_password_cdata(undefined, _acc) -> _acc; +encode_muc_password_cdata(<<>>, _acc) -> _acc; encode_muc_password_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -10969,11 +10939,11 @@ encode_muc_user_item_attr_jid(_val, _acc) -> [{<<"jid">>, enc_jid(_val)} | _acc]. decode_muc_user_item_attr_nick(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_user_item_attr_nick(__TopXMLNS, _val) -> _val. -encode_muc_user_item_attr_nick(undefined, _acc) -> _acc; +encode_muc_user_item_attr_nick(<<>>, _acc) -> _acc; encode_muc_user_item_attr_nick(_val, _acc) -> [{<<"nick">>, _val} | _acc]. @@ -11042,12 +11012,12 @@ encode_muc_user_continue(Thread, _xmlns_attrs) -> decode_muc_user_continue_attr_thread(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_user_continue_attr_thread(__TopXMLNS, _val) -> _val. -encode_muc_user_continue_attr_thread(undefined, _acc) -> +encode_muc_user_continue_attr_thread(<<>>, _acc) -> _acc; encode_muc_user_continue_attr_thread(_val, _acc) -> [{<<"thread">>, _val} | _acc]. @@ -11099,12 +11069,11 @@ encode_muc_user_actor_attr_jid(_val, _acc) -> decode_muc_user_actor_attr_nick(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_user_actor_attr_nick(__TopXMLNS, _val) -> _val. -encode_muc_user_actor_attr_nick(undefined, _acc) -> - _acc; +encode_muc_user_actor_attr_nick(<<>>, _acc) -> _acc; encode_muc_user_actor_attr_nick(_val, _acc) -> [{<<"nick">>, _val} | _acc]. @@ -11378,10 +11347,10 @@ encode_muc_destroy_attr_jid(_val, _acc) -> [{<<"jid">>, enc_jid(_val)} | _acc]. decode_muc_destroy_attr_xmlns(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_muc_destroy_attr_xmlns(__TopXMLNS, _val) -> _val. -encode_muc_destroy_attr_xmlns(undefined, _acc) -> _acc; +encode_muc_destroy_attr_xmlns(<<>>, _acc) -> _acc; encode_muc_destroy_attr_xmlns(_val, _acc) -> [{<<"xmlns">>, _val} | _acc]. @@ -11518,10 +11487,10 @@ encode_muc_reason(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"reason">>, _attrs, _els}. -decode_muc_reason_cdata(__TopXMLNS, <<>>) -> undefined; +decode_muc_reason_cdata(__TopXMLNS, <<>>) -> <<>>; decode_muc_reason_cdata(__TopXMLNS, _val) -> _val. -encode_muc_reason_cdata(undefined, _acc) -> _acc; +encode_muc_reason_cdata(<<>>, _acc) -> _acc; encode_muc_reason_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -11781,20 +11750,19 @@ encode_bytestreams({bytestreams, Hosts, Used, Activate, decode_bytestreams_attr_dstaddr(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_bytestreams_attr_dstaddr(__TopXMLNS, _val) -> _val. -encode_bytestreams_attr_dstaddr(undefined, _acc) -> - _acc; +encode_bytestreams_attr_dstaddr(<<>>, _acc) -> _acc; encode_bytestreams_attr_dstaddr(_val, _acc) -> [{<<"dstaddr">>, _val} | _acc]. decode_bytestreams_attr_sid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_bytestreams_attr_sid(__TopXMLNS, _val) -> _val. -encode_bytestreams_attr_sid(undefined, _acc) -> _acc; +encode_bytestreams_attr_sid(<<>>, _acc) -> _acc; encode_bytestreams_attr_sid(_val, _acc) -> [{<<"sid">>, _val} | _acc]. @@ -12206,10 +12174,10 @@ decode_shim_header_attr_name(__TopXMLNS, _val) -> _val. encode_shim_header_attr_name(_val, _acc) -> [{<<"name">>, _val} | _acc]. -decode_shim_header_cdata(__TopXMLNS, <<>>) -> undefined; +decode_shim_header_cdata(__TopXMLNS, <<>>) -> <<>>; decode_shim_header_cdata(__TopXMLNS, _val) -> _val. -encode_shim_header_cdata(undefined, _acc) -> _acc; +encode_shim_header_cdata(<<>>, _acc) -> _acc; encode_shim_header_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -12642,23 +12610,21 @@ encode_pubsub_options({pubsub_options, Node, Jid, Subid, decode_pubsub_options_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_options_attr_node(__TopXMLNS, _val) -> _val. -encode_pubsub_options_attr_node(undefined, _acc) -> - _acc; +encode_pubsub_options_attr_node(<<>>, _acc) -> _acc; encode_pubsub_options_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. decode_pubsub_options_attr_subid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_options_attr_subid(__TopXMLNS, _val) -> _val. -encode_pubsub_options_attr_subid(undefined, _acc) -> - _acc; +encode_pubsub_options_attr_subid(<<>>, _acc) -> _acc; encode_pubsub_options_attr_subid(_val, _acc) -> [{<<"subid">>, _val} | _acc]. @@ -12790,23 +12756,22 @@ encode_pubsub_unsubscribe({pubsub_unsubscribe, Node, decode_pubsub_unsubscribe_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_unsubscribe_attr_node(__TopXMLNS, _val) -> _val. -encode_pubsub_unsubscribe_attr_node(undefined, _acc) -> - _acc; +encode_pubsub_unsubscribe_attr_node(<<>>, _acc) -> _acc; encode_pubsub_unsubscribe_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. decode_pubsub_unsubscribe_attr_subid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_unsubscribe_attr_subid(__TopXMLNS, _val) -> _val. -encode_pubsub_unsubscribe_attr_subid(undefined, _acc) -> +encode_pubsub_unsubscribe_attr_subid(<<>>, _acc) -> _acc; encode_pubsub_unsubscribe_attr_subid(_val, _acc) -> [{<<"subid">>, _val} | _acc]. @@ -12861,12 +12826,11 @@ encode_pubsub_subscribe({pubsub_subscribe, Node, Jid}, decode_pubsub_subscribe_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_subscribe_attr_node(__TopXMLNS, _val) -> _val. -encode_pubsub_subscribe_attr_node(undefined, _acc) -> - _acc; +encode_pubsub_subscribe_attr_node(<<>>, _acc) -> _acc; encode_pubsub_subscribe_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -13021,12 +12985,12 @@ encode_pubsub_subscriptions({Node, Subscriptions}, decode_pubsub_subscriptions_attr_node(__TopXMLNS, undefined) -> - none; + <<>>; decode_pubsub_subscriptions_attr_node(__TopXMLNS, _val) -> _val. -encode_pubsub_subscriptions_attr_node(none, _acc) -> +encode_pubsub_subscriptions_attr_node(<<>>, _acc) -> _acc; encode_pubsub_subscriptions_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -13251,35 +13215,32 @@ encode_pubsub_event_item({pubsub_event_item, Id, Node, decode_pubsub_event_item_attr_id(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_event_item_attr_id(__TopXMLNS, _val) -> _val. -encode_pubsub_event_item_attr_id(undefined, _acc) -> - _acc; +encode_pubsub_event_item_attr_id(<<>>, _acc) -> _acc; encode_pubsub_event_item_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. decode_pubsub_event_item_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_event_item_attr_node(__TopXMLNS, _val) -> _val. -encode_pubsub_event_item_attr_node(undefined, _acc) -> - _acc; +encode_pubsub_event_item_attr_node(<<>>, _acc) -> _acc; encode_pubsub_event_item_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. decode_pubsub_event_item_attr_publisher(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_event_item_attr_publisher(__TopXMLNS, _val) -> _val. -encode_pubsub_event_item_attr_publisher(undefined, - _acc) -> +encode_pubsub_event_item_attr_publisher(<<>>, _acc) -> _acc; encode_pubsub_event_item_attr_publisher(_val, _acc) -> [{<<"publisher">>, _val} | _acc]. @@ -13421,11 +13382,11 @@ encode_pubsub_items_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. decode_pubsub_items_attr_subid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_items_attr_subid(__TopXMLNS, _val) -> _val. -encode_pubsub_items_attr_subid(undefined, _acc) -> _acc; +encode_pubsub_items_attr_subid(<<>>, _acc) -> _acc; encode_pubsub_items_attr_subid(_val, _acc) -> [{<<"subid">>, _val} | _acc]. @@ -13465,10 +13426,10 @@ encode_pubsub_item({pubsub_item, Id, __Xmls}, {xmlel, <<"item">>, _attrs, _els}. decode_pubsub_item_attr_id(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_item_attr_id(__TopXMLNS, _val) -> _val. -encode_pubsub_item_attr_id(undefined, _acc) -> _acc; +encode_pubsub_item_attr_id(<<>>, _acc) -> _acc; encode_pubsub_item_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. @@ -13613,25 +13574,24 @@ encode_pubsub_subscription_attr_jid(_val, _acc) -> decode_pubsub_subscription_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_subscription_attr_node(__TopXMLNS, _val) -> _val. -encode_pubsub_subscription_attr_node(undefined, _acc) -> +encode_pubsub_subscription_attr_node(<<>>, _acc) -> _acc; encode_pubsub_subscription_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. decode_pubsub_subscription_attr_subid(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_pubsub_subscription_attr_subid(__TopXMLNS, _val) -> _val. -encode_pubsub_subscription_attr_subid(undefined, - _acc) -> +encode_pubsub_subscription_attr_subid(<<>>, _acc) -> _acc; encode_pubsub_subscription_attr_subid(_val, _acc) -> [{<<"subid">>, _val} | _acc]. @@ -13679,22 +13639,16 @@ decode_xdata_els(__TopXMLNS, __IgnoreEls, <<"">> when __TopXMLNS == <<"jabber:x:data">> -> decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields, Items, - case decode_xdata_instructions(__TopXMLNS, - __IgnoreEls, _el) - of - undefined -> Instructions; - _new_el -> [_new_el | Instructions] - end, + [decode_xdata_instructions(__TopXMLNS, __IgnoreEls, + _el) + | Instructions], Reported, Title); <<"jabber:x:data">> -> decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields, Items, - case decode_xdata_instructions(<<"jabber:x:data">>, - __IgnoreEls, _el) - of - undefined -> Instructions; - _new_el -> [_new_el | Instructions] - end, + [decode_xdata_instructions(<<"jabber:x:data">>, + __IgnoreEls, _el) + | Instructions], Reported, Title); _ -> decode_xdata_els(__TopXMLNS, __IgnoreEls, _els, Fields, @@ -13951,10 +13905,10 @@ encode_xdata_title(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"title">>, _attrs, _els}. -decode_xdata_title_cdata(__TopXMLNS, <<>>) -> undefined; +decode_xdata_title_cdata(__TopXMLNS, <<>>) -> <<>>; decode_xdata_title_cdata(__TopXMLNS, _val) -> _val. -encode_xdata_title_cdata(undefined, _acc) -> _acc; +encode_xdata_title_cdata(<<>>, _acc) -> _acc; encode_xdata_title_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -13982,12 +13936,11 @@ encode_xdata_instructions(Cdata, _xmlns_attrs) -> {xmlel, <<"instructions">>, _attrs, _els}. decode_xdata_instructions_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_xdata_instructions_cdata(__TopXMLNS, _val) -> _val. -encode_xdata_instructions_cdata(undefined, _acc) -> - _acc; +encode_xdata_instructions_cdata(<<>>, _acc) -> _acc; encode_xdata_instructions_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -14053,23 +14006,16 @@ decode_xdata_field_els(__TopXMLNS, __IgnoreEls, <<"">> when __TopXMLNS == <<"jabber:x:data">> -> decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els, Options, - case decode_xdata_field_value(__TopXMLNS, - __IgnoreEls, _el) - of - undefined -> Values; - _new_el -> [_new_el | Values] - end, + [decode_xdata_field_value(__TopXMLNS, + __IgnoreEls, _el) + | Values], Desc, Required, __Els); <<"jabber:x:data">> -> decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els, Options, - case - decode_xdata_field_value(<<"jabber:x:data">>, - __IgnoreEls, _el) - of - undefined -> Values; - _new_el -> [_new_el | Values] - end, + [decode_xdata_field_value(<<"jabber:x:data">>, + __IgnoreEls, _el) + | Values], Desc, Required, __Els); _ -> decode_xdata_field_els(__TopXMLNS, __IgnoreEls, _els, @@ -14175,10 +14121,10 @@ encode_xdata_field({xdata_field, Label, Type, Var, [encode_xdata_field_required(Required, []) | _acc]. decode_xdata_field_attr_label(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_xdata_field_attr_label(__TopXMLNS, _val) -> _val. -encode_xdata_field_attr_label(undefined, _acc) -> _acc; +encode_xdata_field_attr_label(<<>>, _acc) -> _acc; encode_xdata_field_attr_label(_val, _acc) -> [{<<"label">>, _val} | _acc]. @@ -14201,10 +14147,10 @@ encode_xdata_field_attr_type(_val, _acc) -> [{<<"type">>, enc_enum(_val)} | _acc]. decode_xdata_field_attr_var(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_xdata_field_attr_var(__TopXMLNS, _val) -> _val. -encode_xdata_field_attr_var(undefined, _acc) -> _acc; +encode_xdata_field_attr_var(<<>>, _acc) -> _acc; encode_xdata_field_attr_var(_val, _acc) -> [{<<"var">>, _val} | _acc]. @@ -14277,12 +14223,12 @@ encode_xdata_field_option({xdata_option, Label, Value}, decode_xdata_field_option_attr_label(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_xdata_field_option_attr_label(__TopXMLNS, _val) -> _val. -encode_xdata_field_option_attr_label(undefined, _acc) -> +encode_xdata_field_option_attr_label(<<>>, _acc) -> _acc; encode_xdata_field_option_attr_label(_val, _acc) -> [{<<"label">>, _val} | _acc]. @@ -14311,11 +14257,11 @@ encode_xdata_field_value(Cdata, _xmlns_attrs) -> {xmlel, <<"value">>, _attrs, _els}. decode_xdata_field_value_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_xdata_field_value_cdata(__TopXMLNS, _val) -> _val. -encode_xdata_field_value_cdata(undefined, _acc) -> _acc; +encode_xdata_field_value_cdata(<<>>, _acc) -> _acc; encode_xdata_field_value_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -14342,11 +14288,10 @@ encode_xdata_field_desc(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"desc">>, _attrs, _els}. -decode_xdata_field_desc_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_xdata_field_desc_cdata(__TopXMLNS, <<>>) -> <<>>; decode_xdata_field_desc_cdata(__TopXMLNS, _val) -> _val. -encode_xdata_field_desc_cdata(undefined, _acc) -> _acc; +encode_xdata_field_desc_cdata(<<>>, _acc) -> _acc; encode_xdata_field_desc_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -14363,7 +14308,7 @@ decode_vcard_xupdate(__TopXMLNS, __IgnoreEls, {xmlel, <<"x">>, _attrs, _els}) -> Hash = decode_vcard_xupdate_els(__TopXMLNS, __IgnoreEls, _els, undefined), - {vcard_xupdate, undefined, Hash}. + {vcard_xupdate, {<<>>, <<>>}, Hash}. decode_vcard_xupdate_els(__TopXMLNS, __IgnoreEls, [], Hash) -> @@ -14391,7 +14336,7 @@ decode_vcard_xupdate_els(__TopXMLNS, __IgnoreEls, decode_vcard_xupdate_els(__TopXMLNS, __IgnoreEls, _els, Hash). -encode_vcard_xupdate({vcard_xupdate, undefined, Hash}, +encode_vcard_xupdate({vcard_xupdate, _, Hash}, _xmlns_attrs) -> _els = lists:reverse('encode_vcard_xupdate_$hash'(Hash, [])), @@ -14426,12 +14371,11 @@ encode_vcard_xupdate_photo(Cdata, _xmlns_attrs) -> {xmlel, <<"photo">>, _attrs, _els}. decode_vcard_xupdate_photo_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_vcard_xupdate_photo_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_xupdate_photo_cdata(undefined, _acc) -> - _acc; +encode_vcard_xupdate_photo_cdata(<<>>, _acc) -> _acc; encode_vcard_xupdate_photo_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -15677,23 +15621,15 @@ decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls, <<"">> when __TopXMLNS == <<"vcard-temp">> -> decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls, _els, - case decode_vcard_KEYWORD(__TopXMLNS, - __IgnoreEls, - _el) - of - undefined -> Keywords; - _new_el -> [_new_el | Keywords] - end); + [decode_vcard_KEYWORD(__TopXMLNS, + __IgnoreEls, _el) + | Keywords]); <<"vcard-temp">> -> decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls, _els, - case - decode_vcard_KEYWORD(<<"vcard-temp">>, - __IgnoreEls, _el) - of - undefined -> Keywords; - _new_el -> [_new_el | Keywords] - end); + [decode_vcard_KEYWORD(<<"vcard-temp">>, + __IgnoreEls, _el) + | Keywords]); _ -> decode_vcard_CATEGORIES_els(__TopXMLNS, __IgnoreEls, _els, Keywords) @@ -15909,21 +15845,15 @@ decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, case get_attr(<<"xmlns">>, _attrs) of <<"">> when __TopXMLNS == <<"vcard-temp">> -> decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els, - case decode_vcard_ORGUNIT(__TopXMLNS, - __IgnoreEls, _el) - of - undefined -> Units; - _new_el -> [_new_el | Units] - end, + [decode_vcard_ORGUNIT(__TopXMLNS, __IgnoreEls, + _el) + | Units], Name); <<"vcard-temp">> -> decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els, - case decode_vcard_ORGUNIT(<<"vcard-temp">>, - __IgnoreEls, _el) - of - undefined -> Units; - _new_el -> [_new_el | Units] - end, + [decode_vcard_ORGUNIT(<<"vcard-temp">>, + __IgnoreEls, _el) + | Units], Name); _ -> decode_vcard_ORG_els(__TopXMLNS, __IgnoreEls, _els, @@ -16157,8 +16087,7 @@ encode_vcard_BINVAL(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"BINVAL">>, _attrs, _els}. -decode_vcard_BINVAL_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_BINVAL_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_BINVAL_cdata(__TopXMLNS, _val) -> case catch base64:decode(_val) of {'EXIT', _} -> @@ -16167,7 +16096,7 @@ decode_vcard_BINVAL_cdata(__TopXMLNS, _val) -> _res -> _res end. -encode_vcard_BINVAL_cdata(undefined, _acc) -> _acc; +encode_vcard_BINVAL_cdata(<<>>, _acc) -> _acc; encode_vcard_BINVAL_cdata(_val, _acc) -> [{xmlcdata, base64:encode(_val)} | _acc]. @@ -16977,21 +16906,15 @@ decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, case get_attr(<<"xmlns">>, _attrs) of <<"">> when __TopXMLNS == <<"vcard-temp">> -> decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els, - case decode_vcard_LINE(__TopXMLNS, __IgnoreEls, - _el) - of - undefined -> Line; - _new_el -> [_new_el | Line] - end, + [decode_vcard_LINE(__TopXMLNS, __IgnoreEls, + _el) + | Line], Home, Pref, Work, Intl, Parcel, Postal, Dom); <<"vcard-temp">> -> decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els, - case decode_vcard_LINE(<<"vcard-temp">>, - __IgnoreEls, _el) - of - undefined -> Line; - _new_el -> [_new_el | Line] - end, + [decode_vcard_LINE(<<"vcard-temp">>, + __IgnoreEls, _el) + | Line], Home, Pref, Work, Intl, Parcel, Postal, Dom); _ -> decode_vcard_LABEL_els(__TopXMLNS, __IgnoreEls, _els, @@ -17679,11 +17602,10 @@ encode_vcard_EXTVAL(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"EXTVAL">>, _attrs, _els}. -decode_vcard_EXTVAL_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_EXTVAL_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_EXTVAL_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_EXTVAL_cdata(undefined, _acc) -> _acc; +encode_vcard_EXTVAL_cdata(<<>>, _acc) -> _acc; encode_vcard_EXTVAL_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17710,10 +17632,10 @@ encode_vcard_TYPE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"TYPE">>, _attrs, _els}. -decode_vcard_TYPE_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_TYPE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_TYPE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_TYPE_cdata(undefined, _acc) -> _acc; +encode_vcard_TYPE_cdata(<<>>, _acc) -> _acc; encode_vcard_TYPE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17740,10 +17662,10 @@ encode_vcard_DESC(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"DESC">>, _attrs, _els}. -decode_vcard_DESC_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_DESC_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_DESC_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_DESC_cdata(undefined, _acc) -> _acc; +encode_vcard_DESC_cdata(<<>>, _acc) -> _acc; encode_vcard_DESC_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17770,10 +17692,10 @@ encode_vcard_URL(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"URL">>, _attrs, _els}. -decode_vcard_URL_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_URL_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_URL_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_URL_cdata(undefined, _acc) -> _acc; +encode_vcard_URL_cdata(<<>>, _acc) -> _acc; encode_vcard_URL_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17800,10 +17722,10 @@ encode_vcard_UID(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"UID">>, _attrs, _els}. -decode_vcard_UID_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_UID_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_UID_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_UID_cdata(undefined, _acc) -> _acc; +encode_vcard_UID_cdata(<<>>, _acc) -> _acc; encode_vcard_UID_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17831,11 +17753,11 @@ encode_vcard_SORT_STRING(Cdata, _xmlns_attrs) -> {xmlel, <<"SORT-STRING">>, _attrs, _els}. decode_vcard_SORT_STRING_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_vcard_SORT_STRING_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_SORT_STRING_cdata(undefined, _acc) -> _acc; +encode_vcard_SORT_STRING_cdata(<<>>, _acc) -> _acc; encode_vcard_SORT_STRING_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17862,10 +17784,10 @@ encode_vcard_REV(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"REV">>, _attrs, _els}. -decode_vcard_REV_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_REV_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_REV_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_REV_cdata(undefined, _acc) -> _acc; +encode_vcard_REV_cdata(<<>>, _acc) -> _acc; encode_vcard_REV_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17892,11 +17814,10 @@ encode_vcard_PRODID(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PRODID">>, _attrs, _els}. -decode_vcard_PRODID_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_PRODID_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_PRODID_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_PRODID_cdata(undefined, _acc) -> _acc; +encode_vcard_PRODID_cdata(<<>>, _acc) -> _acc; encode_vcard_PRODID_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17923,10 +17844,10 @@ encode_vcard_NOTE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"NOTE">>, _attrs, _els}. -decode_vcard_NOTE_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_NOTE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_NOTE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_NOTE_cdata(undefined, _acc) -> _acc; +encode_vcard_NOTE_cdata(<<>>, _acc) -> _acc; encode_vcard_NOTE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17953,11 +17874,10 @@ encode_vcard_KEYWORD(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"KEYWORD">>, _attrs, _els}. -decode_vcard_KEYWORD_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_KEYWORD_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_KEYWORD_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_KEYWORD_cdata(undefined, _acc) -> _acc; +encode_vcard_KEYWORD_cdata(<<>>, _acc) -> _acc; encode_vcard_KEYWORD_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -17984,10 +17904,10 @@ encode_vcard_ROLE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"ROLE">>, _attrs, _els}. -decode_vcard_ROLE_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_ROLE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_ROLE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_ROLE_cdata(undefined, _acc) -> _acc; +encode_vcard_ROLE_cdata(<<>>, _acc) -> _acc; encode_vcard_ROLE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18014,10 +17934,10 @@ encode_vcard_TITLE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"TITLE">>, _attrs, _els}. -decode_vcard_TITLE_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_TITLE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_TITLE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_TITLE_cdata(undefined, _acc) -> _acc; +encode_vcard_TITLE_cdata(<<>>, _acc) -> _acc; encode_vcard_TITLE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18044,10 +17964,10 @@ encode_vcard_TZ(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"TZ">>, _attrs, _els}. -decode_vcard_TZ_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_TZ_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_TZ_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_TZ_cdata(undefined, _acc) -> _acc; +encode_vcard_TZ_cdata(<<>>, _acc) -> _acc; encode_vcard_TZ_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18074,11 +17994,10 @@ encode_vcard_MAILER(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"MAILER">>, _attrs, _els}. -decode_vcard_MAILER_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_MAILER_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_MAILER_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_MAILER_cdata(undefined, _acc) -> _acc; +encode_vcard_MAILER_cdata(<<>>, _acc) -> _acc; encode_vcard_MAILER_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18105,11 +18024,10 @@ encode_vcard_JABBERID(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"JABBERID">>, _attrs, _els}. -decode_vcard_JABBERID_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_JABBERID_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_JABBERID_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_JABBERID_cdata(undefined, _acc) -> _acc; +encode_vcard_JABBERID_cdata(<<>>, _acc) -> _acc; encode_vcard_JABBERID_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18136,10 +18054,10 @@ encode_vcard_BDAY(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"BDAY">>, _attrs, _els}. -decode_vcard_BDAY_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_BDAY_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_BDAY_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_BDAY_cdata(undefined, _acc) -> _acc; +encode_vcard_BDAY_cdata(<<>>, _acc) -> _acc; encode_vcard_BDAY_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18166,11 +18084,10 @@ encode_vcard_NICKNAME(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"NICKNAME">>, _attrs, _els}. -decode_vcard_NICKNAME_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_NICKNAME_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_NICKNAME_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_NICKNAME_cdata(undefined, _acc) -> _acc; +encode_vcard_NICKNAME_cdata(<<>>, _acc) -> _acc; encode_vcard_NICKNAME_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18197,10 +18114,10 @@ encode_vcard_FN(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"FN">>, _attrs, _els}. -decode_vcard_FN_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_FN_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_FN_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_FN_cdata(undefined, _acc) -> _acc; +encode_vcard_FN_cdata(<<>>, _acc) -> _acc; encode_vcard_FN_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18227,11 +18144,10 @@ encode_vcard_VERSION(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"VERSION">>, _attrs, _els}. -decode_vcard_VERSION_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_VERSION_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_VERSION_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_VERSION_cdata(undefined, _acc) -> _acc; +encode_vcard_VERSION_cdata(<<>>, _acc) -> _acc; encode_vcard_VERSION_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18258,10 +18174,10 @@ encode_vcard_CRED(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"CRED">>, _attrs, _els}. -decode_vcard_CRED_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_CRED_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_CRED_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_CRED_cdata(undefined, _acc) -> _acc; +encode_vcard_CRED_cdata(<<>>, _acc) -> _acc; encode_vcard_CRED_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18288,11 +18204,10 @@ encode_vcard_PHONETIC(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PHONETIC">>, _attrs, _els}. -decode_vcard_PHONETIC_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_PHONETIC_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_PHONETIC_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_PHONETIC_cdata(undefined, _acc) -> _acc; +encode_vcard_PHONETIC_cdata(<<>>, _acc) -> _acc; encode_vcard_PHONETIC_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18319,11 +18234,10 @@ encode_vcard_ORGUNIT(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"ORGUNIT">>, _attrs, _els}. -decode_vcard_ORGUNIT_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_ORGUNIT_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_ORGUNIT_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_ORGUNIT_cdata(undefined, _acc) -> _acc; +encode_vcard_ORGUNIT_cdata(<<>>, _acc) -> _acc; encode_vcard_ORGUNIT_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18350,11 +18264,10 @@ encode_vcard_ORGNAME(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"ORGNAME">>, _attrs, _els}. -decode_vcard_ORGNAME_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_ORGNAME_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_ORGNAME_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_ORGNAME_cdata(undefined, _acc) -> _acc; +encode_vcard_ORGNAME_cdata(<<>>, _acc) -> _acc; encode_vcard_ORGNAME_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18381,10 +18294,10 @@ encode_vcard_LON(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"LON">>, _attrs, _els}. -decode_vcard_LON_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_LON_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_LON_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_LON_cdata(undefined, _acc) -> _acc; +encode_vcard_LON_cdata(<<>>, _acc) -> _acc; encode_vcard_LON_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18411,10 +18324,10 @@ encode_vcard_LAT(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"LAT">>, _attrs, _els}. -decode_vcard_LAT_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_LAT_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_LAT_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_LAT_cdata(undefined, _acc) -> _acc; +encode_vcard_LAT_cdata(<<>>, _acc) -> _acc; encode_vcard_LAT_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18441,11 +18354,10 @@ encode_vcard_USERID(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"USERID">>, _attrs, _els}. -decode_vcard_USERID_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_USERID_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_USERID_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_USERID_cdata(undefined, _acc) -> _acc; +encode_vcard_USERID_cdata(<<>>, _acc) -> _acc; encode_vcard_USERID_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18472,11 +18384,10 @@ encode_vcard_NUMBER(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"NUMBER">>, _attrs, _els}. -decode_vcard_NUMBER_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_NUMBER_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_NUMBER_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_NUMBER_cdata(undefined, _acc) -> _acc; +encode_vcard_NUMBER_cdata(<<>>, _acc) -> _acc; encode_vcard_NUMBER_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18503,10 +18414,10 @@ encode_vcard_LINE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"LINE">>, _attrs, _els}. -decode_vcard_LINE_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_LINE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_LINE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_LINE_cdata(undefined, _acc) -> _acc; +encode_vcard_LINE_cdata(<<>>, _acc) -> _acc; encode_vcard_LINE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18533,10 +18444,10 @@ encode_vcard_CTRY(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"CTRY">>, _attrs, _els}. -decode_vcard_CTRY_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_CTRY_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_CTRY_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_CTRY_cdata(undefined, _acc) -> _acc; +encode_vcard_CTRY_cdata(<<>>, _acc) -> _acc; encode_vcard_CTRY_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18563,10 +18474,10 @@ encode_vcard_PCODE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PCODE">>, _attrs, _els}. -decode_vcard_PCODE_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_PCODE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_PCODE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_PCODE_cdata(undefined, _acc) -> _acc; +encode_vcard_PCODE_cdata(<<>>, _acc) -> _acc; encode_vcard_PCODE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18593,11 +18504,10 @@ encode_vcard_REGION(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"REGION">>, _attrs, _els}. -decode_vcard_REGION_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_REGION_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_REGION_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_REGION_cdata(undefined, _acc) -> _acc; +encode_vcard_REGION_cdata(<<>>, _acc) -> _acc; encode_vcard_REGION_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18624,11 +18534,10 @@ encode_vcard_LOCALITY(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"LOCALITY">>, _attrs, _els}. -decode_vcard_LOCALITY_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_LOCALITY_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_LOCALITY_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_LOCALITY_cdata(undefined, _acc) -> _acc; +encode_vcard_LOCALITY_cdata(<<>>, _acc) -> _acc; encode_vcard_LOCALITY_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18655,11 +18564,10 @@ encode_vcard_STREET(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"STREET">>, _attrs, _els}. -decode_vcard_STREET_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_STREET_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_STREET_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_STREET_cdata(undefined, _acc) -> _acc; +encode_vcard_STREET_cdata(<<>>, _acc) -> _acc; encode_vcard_STREET_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18686,11 +18594,10 @@ encode_vcard_EXTADD(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"EXTADD">>, _attrs, _els}. -decode_vcard_EXTADD_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_EXTADD_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_EXTADD_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_EXTADD_cdata(undefined, _acc) -> _acc; +encode_vcard_EXTADD_cdata(<<>>, _acc) -> _acc; encode_vcard_EXTADD_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18717,10 +18624,10 @@ encode_vcard_POBOX(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"POBOX">>, _attrs, _els}. -decode_vcard_POBOX_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_POBOX_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_POBOX_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_POBOX_cdata(undefined, _acc) -> _acc; +encode_vcard_POBOX_cdata(<<>>, _acc) -> _acc; encode_vcard_POBOX_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18747,11 +18654,10 @@ encode_vcard_SUFFIX(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"SUFFIX">>, _attrs, _els}. -decode_vcard_SUFFIX_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_SUFFIX_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_SUFFIX_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_SUFFIX_cdata(undefined, _acc) -> _acc; +encode_vcard_SUFFIX_cdata(<<>>, _acc) -> _acc; encode_vcard_SUFFIX_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18778,11 +18684,10 @@ encode_vcard_PREFIX(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"PREFIX">>, _attrs, _els}. -decode_vcard_PREFIX_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_PREFIX_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_PREFIX_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_PREFIX_cdata(undefined, _acc) -> _acc; +encode_vcard_PREFIX_cdata(<<>>, _acc) -> _acc; encode_vcard_PREFIX_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18809,11 +18714,10 @@ encode_vcard_MIDDLE(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"MIDDLE">>, _attrs, _els}. -decode_vcard_MIDDLE_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_MIDDLE_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_MIDDLE_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_MIDDLE_cdata(undefined, _acc) -> _acc; +encode_vcard_MIDDLE_cdata(<<>>, _acc) -> _acc; encode_vcard_MIDDLE_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18840,10 +18744,10 @@ encode_vcard_GIVEN(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"GIVEN">>, _attrs, _els}. -decode_vcard_GIVEN_cdata(__TopXMLNS, <<>>) -> undefined; +decode_vcard_GIVEN_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_GIVEN_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_GIVEN_cdata(undefined, _acc) -> _acc; +encode_vcard_GIVEN_cdata(<<>>, _acc) -> _acc; encode_vcard_GIVEN_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -18870,11 +18774,10 @@ encode_vcard_FAMILY(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"FAMILY">>, _attrs, _els}. -decode_vcard_FAMILY_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_vcard_FAMILY_cdata(__TopXMLNS, <<>>) -> <<>>; decode_vcard_FAMILY_cdata(__TopXMLNS, _val) -> _val. -encode_vcard_FAMILY_cdata(undefined, _acc) -> _acc; +encode_vcard_FAMILY_cdata(<<>>, _acc) -> _acc; encode_vcard_FAMILY_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -19722,10 +19625,16 @@ decode_stream_error_see_other_host_cdata(__TopXMLNS, __TopXMLNS}}); decode_stream_error_see_other_host_cdata(__TopXMLNS, _val) -> - _val. + case catch dec_host_port(_val) of + {'EXIT', _} -> + erlang:error({xmpp_codec, + {bad_cdata_value, <<>>, <<"see-other-host">>, + __TopXMLNS}}); + _res -> _res + end. encode_stream_error_see_other_host_cdata(_val, _acc) -> - [{xmlcdata, _val} | _acc]. + [{xmlcdata, enc_host_port(_val)} | _acc]. decode_stream_error_restricted_xml(__TopXMLNS, __IgnoreEls, @@ -19981,23 +19890,22 @@ encode_stream_error_text({text, Lang, Data}, 'decode_stream_error_text_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_stream_error_text_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_stream_error_text_attr_xml:lang'(undefined, - _acc) -> +'encode_stream_error_text_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_stream_error_text_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. decode_stream_error_text_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_stream_error_text_cdata(__TopXMLNS, _val) -> _val. -encode_stream_error_text_cdata(undefined, _acc) -> _acc; +encode_stream_error_text_cdata(<<>>, _acc) -> _acc; encode_stream_error_text_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -20993,10 +20901,10 @@ encode_register_key(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"key">>, _attrs, _els}. -decode_register_key_cdata(__TopXMLNS, <<>>) -> none; +decode_register_key_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_key_cdata(__TopXMLNS, _val) -> _val. -encode_register_key_cdata(none, _acc) -> _acc; +encode_register_key_cdata(<<>>, _acc) -> _acc; encode_register_key_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21023,10 +20931,10 @@ encode_register_text(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"text">>, _attrs, _els}. -decode_register_text_cdata(__TopXMLNS, <<>>) -> none; +decode_register_text_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_text_cdata(__TopXMLNS, _val) -> _val. -encode_register_text_cdata(none, _acc) -> _acc; +encode_register_text_cdata(<<>>, _acc) -> _acc; encode_register_text_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21053,10 +20961,10 @@ encode_register_misc(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"misc">>, _attrs, _els}. -decode_register_misc_cdata(__TopXMLNS, <<>>) -> none; +decode_register_misc_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_misc_cdata(__TopXMLNS, _val) -> _val. -encode_register_misc_cdata(none, _acc) -> _acc; +encode_register_misc_cdata(<<>>, _acc) -> _acc; encode_register_misc_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21083,10 +20991,10 @@ encode_register_date(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"date">>, _attrs, _els}. -decode_register_date_cdata(__TopXMLNS, <<>>) -> none; +decode_register_date_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_date_cdata(__TopXMLNS, _val) -> _val. -encode_register_date_cdata(none, _acc) -> _acc; +encode_register_date_cdata(<<>>, _acc) -> _acc; encode_register_date_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21113,10 +21021,10 @@ encode_register_url(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"url">>, _attrs, _els}. -decode_register_url_cdata(__TopXMLNS, <<>>) -> none; +decode_register_url_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_url_cdata(__TopXMLNS, _val) -> _val. -encode_register_url_cdata(none, _acc) -> _acc; +encode_register_url_cdata(<<>>, _acc) -> _acc; encode_register_url_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21143,10 +21051,10 @@ encode_register_phone(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"phone">>, _attrs, _els}. -decode_register_phone_cdata(__TopXMLNS, <<>>) -> none; +decode_register_phone_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_phone_cdata(__TopXMLNS, _val) -> _val. -encode_register_phone_cdata(none, _acc) -> _acc; +encode_register_phone_cdata(<<>>, _acc) -> _acc; encode_register_phone_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21173,10 +21081,10 @@ encode_register_zip(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"zip">>, _attrs, _els}. -decode_register_zip_cdata(__TopXMLNS, <<>>) -> none; +decode_register_zip_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_zip_cdata(__TopXMLNS, _val) -> _val. -encode_register_zip_cdata(none, _acc) -> _acc; +encode_register_zip_cdata(<<>>, _acc) -> _acc; encode_register_zip_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21203,10 +21111,10 @@ encode_register_state(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"state">>, _attrs, _els}. -decode_register_state_cdata(__TopXMLNS, <<>>) -> none; +decode_register_state_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_state_cdata(__TopXMLNS, _val) -> _val. -encode_register_state_cdata(none, _acc) -> _acc; +encode_register_state_cdata(<<>>, _acc) -> _acc; encode_register_state_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21233,10 +21141,10 @@ encode_register_city(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"city">>, _attrs, _els}. -decode_register_city_cdata(__TopXMLNS, <<>>) -> none; +decode_register_city_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_city_cdata(__TopXMLNS, _val) -> _val. -encode_register_city_cdata(none, _acc) -> _acc; +encode_register_city_cdata(<<>>, _acc) -> _acc; encode_register_city_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21263,10 +21171,10 @@ encode_register_address(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"address">>, _attrs, _els}. -decode_register_address_cdata(__TopXMLNS, <<>>) -> none; +decode_register_address_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_address_cdata(__TopXMLNS, _val) -> _val. -encode_register_address_cdata(none, _acc) -> _acc; +encode_register_address_cdata(<<>>, _acc) -> _acc; encode_register_address_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21293,10 +21201,10 @@ encode_register_email(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"email">>, _attrs, _els}. -decode_register_email_cdata(__TopXMLNS, <<>>) -> none; +decode_register_email_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_email_cdata(__TopXMLNS, _val) -> _val. -encode_register_email_cdata(none, _acc) -> _acc; +encode_register_email_cdata(<<>>, _acc) -> _acc; encode_register_email_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21323,10 +21231,10 @@ encode_register_last(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"last">>, _attrs, _els}. -decode_register_last_cdata(__TopXMLNS, <<>>) -> none; +decode_register_last_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_last_cdata(__TopXMLNS, _val) -> _val. -encode_register_last_cdata(none, _acc) -> _acc; +encode_register_last_cdata(<<>>, _acc) -> _acc; encode_register_last_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21353,10 +21261,10 @@ encode_register_first(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"first">>, _attrs, _els}. -decode_register_first_cdata(__TopXMLNS, <<>>) -> none; +decode_register_first_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_first_cdata(__TopXMLNS, _val) -> _val. -encode_register_first_cdata(none, _acc) -> _acc; +encode_register_first_cdata(<<>>, _acc) -> _acc; encode_register_first_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21383,10 +21291,10 @@ encode_register_name(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"name">>, _attrs, _els}. -decode_register_name_cdata(__TopXMLNS, <<>>) -> none; +decode_register_name_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_name_cdata(__TopXMLNS, _val) -> _val. -encode_register_name_cdata(none, _acc) -> _acc; +encode_register_name_cdata(<<>>, _acc) -> _acc; encode_register_name_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21414,11 +21322,11 @@ encode_register_password(Cdata, _xmlns_attrs) -> {xmlel, <<"password">>, _attrs, _els}. decode_register_password_cdata(__TopXMLNS, <<>>) -> - none; + <<>>; decode_register_password_cdata(__TopXMLNS, _val) -> _val. -encode_register_password_cdata(none, _acc) -> _acc; +encode_register_password_cdata(<<>>, _acc) -> _acc; encode_register_password_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21445,10 +21353,10 @@ encode_register_nick(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"nick">>, _attrs, _els}. -decode_register_nick_cdata(__TopXMLNS, <<>>) -> none; +decode_register_nick_cdata(__TopXMLNS, <<>>) -> <<>>; decode_register_nick_cdata(__TopXMLNS, _val) -> _val. -encode_register_nick_cdata(none, _acc) -> _acc; +encode_register_nick_cdata(<<>>, _acc) -> _acc; encode_register_nick_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21476,11 +21384,11 @@ encode_register_username(Cdata, _xmlns_attrs) -> {xmlel, <<"username">>, _attrs, _els}. decode_register_username_cdata(__TopXMLNS, <<>>) -> - none; + <<>>; decode_register_username_cdata(__TopXMLNS, _val) -> _val. -encode_register_username_cdata(none, _acc) -> _acc; +encode_register_username_cdata(<<>>, _acc) -> _acc; encode_register_username_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21510,12 +21418,11 @@ encode_register_instructions(Cdata, _xmlns_attrs) -> {xmlel, <<"instructions">>, _attrs, _els}. decode_register_instructions_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_register_instructions_cdata(__TopXMLNS, _val) -> _val. -encode_register_instructions_cdata(undefined, _acc) -> - _acc; +encode_register_instructions_cdata(<<>>, _acc) -> _acc; encode_register_instructions_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21595,19 +21502,17 @@ encode_caps({caps, Node, Version, Hash, Exts}, _xmlns_attrs)))), {xmlel, <<"c">>, _attrs, _els}. -decode_caps_attr_hash(__TopXMLNS, undefined) -> - undefined; +decode_caps_attr_hash(__TopXMLNS, undefined) -> <<>>; decode_caps_attr_hash(__TopXMLNS, _val) -> _val. -encode_caps_attr_hash(undefined, _acc) -> _acc; +encode_caps_attr_hash(<<>>, _acc) -> _acc; encode_caps_attr_hash(_val, _acc) -> [{<<"hash">>, _val} | _acc]. -decode_caps_attr_node(__TopXMLNS, undefined) -> - undefined; +decode_caps_attr_node(__TopXMLNS, undefined) -> <<>>; decode_caps_attr_node(__TopXMLNS, _val) -> _val. -encode_caps_attr_node(undefined, _acc) -> _acc; +encode_caps_attr_node(<<>>, _acc) -> _acc; encode_caps_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -21624,11 +21529,10 @@ encode_caps_attr_ext([], _acc) -> _acc; encode_caps_attr_ext(_val, _acc) -> [{<<"ext">>, join(_val, 32)} | _acc]. -decode_caps_attr_ver(__TopXMLNS, undefined) -> - undefined; +decode_caps_attr_ver(__TopXMLNS, undefined) -> <<>>; decode_caps_attr_ver(__TopXMLNS, _val) -> _val. -encode_caps_attr_ver(undefined, _acc) -> _acc; +encode_caps_attr_ver(<<>>, _acc) -> _acc; encode_caps_attr_ver(_val, _acc) -> [{<<"ver">>, _val} | _acc]. @@ -21711,22 +21615,14 @@ decode_compression_els(__TopXMLNS, __IgnoreEls, when __TopXMLNS == <<"http://jabber.org/features/compress">> -> decode_compression_els(__TopXMLNS, __IgnoreEls, _els, - case decode_compression_method(__TopXMLNS, - __IgnoreEls, - _el) - of - undefined -> Methods; - _new_el -> [_new_el | Methods] - end); + [decode_compression_method(__TopXMLNS, + __IgnoreEls, _el) + | Methods]); <<"http://jabber.org/features/compress">> -> decode_compression_els(__TopXMLNS, __IgnoreEls, _els, - case - decode_compression_method(<<"http://jabber.org/features/compress">>, - __IgnoreEls, _el) - of - undefined -> Methods; - _new_el -> [_new_el | Methods] - end); + [decode_compression_method(<<"http://jabber.org/features/compress">>, + __IgnoreEls, _el) + | Methods]); _ -> decode_compression_els(__TopXMLNS, __IgnoreEls, _els, Methods) @@ -21774,12 +21670,11 @@ encode_compression_method(Cdata, _xmlns_attrs) -> {xmlel, <<"method">>, _attrs, _els}. decode_compression_method_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_compression_method_cdata(__TopXMLNS, _val) -> _val. -encode_compression_method_cdata(undefined, _acc) -> - _acc; +encode_compression_method_cdata(<<>>, _acc) -> _acc; encode_compression_method_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -21809,21 +21704,14 @@ decode_compress_els(__TopXMLNS, __IgnoreEls, when __TopXMLNS == <<"http://jabber.org/protocol/compress">> -> decode_compress_els(__TopXMLNS, __IgnoreEls, _els, - case decode_compress_method(__TopXMLNS, - __IgnoreEls, _el) - of - undefined -> Methods; - _new_el -> [_new_el | Methods] - end); + [decode_compress_method(__TopXMLNS, __IgnoreEls, + _el) + | Methods]); <<"http://jabber.org/protocol/compress">> -> decode_compress_els(__TopXMLNS, __IgnoreEls, _els, - case - decode_compress_method(<<"http://jabber.org/protocol/compress">>, - __IgnoreEls, _el) - of - undefined -> Methods; - _new_el -> [_new_el | Methods] - end); + [decode_compress_method(<<"http://jabber.org/protocol/compress">>, + __IgnoreEls, _el) + | Methods]); _ -> decode_compress_els(__TopXMLNS, __IgnoreEls, _els, Methods) @@ -21867,11 +21755,10 @@ encode_compress_method(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"method">>, _attrs, _els}. -decode_compress_method_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_compress_method_cdata(__TopXMLNS, <<>>) -> <<>>; decode_compress_method_cdata(__TopXMLNS, _val) -> _val. -encode_compress_method_cdata(undefined, _acc) -> _acc; +encode_compress_method_cdata(<<>>, _acc) -> _acc; encode_compress_method_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -22110,23 +21997,15 @@ decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls, <<"urn:ietf:params:xml:ns:xmpp-sasl">> -> decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls, _els, - case decode_sasl_mechanism(__TopXMLNS, - __IgnoreEls, - _el) - of - undefined -> List; - _new_el -> [_new_el | List] - end); + [decode_sasl_mechanism(__TopXMLNS, + __IgnoreEls, _el) + | List]); <<"urn:ietf:params:xml:ns:xmpp-sasl">> -> decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls, _els, - case - decode_sasl_mechanism(<<"urn:ietf:params:xml:ns:xmpp-sasl">>, - __IgnoreEls, _el) - of - undefined -> List; - _new_el -> [_new_el | List] - end); + [decode_sasl_mechanism(<<"urn:ietf:params:xml:ns:xmpp-sasl">>, + __IgnoreEls, _el) + | List]); _ -> decode_sasl_mechanisms_els(__TopXMLNS, __IgnoreEls, _els, List) @@ -22171,11 +22050,10 @@ encode_sasl_mechanism(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"mechanism">>, _attrs, _els}. -decode_sasl_mechanism_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_sasl_mechanism_cdata(__TopXMLNS, <<>>) -> <<>>; decode_sasl_mechanism_cdata(__TopXMLNS, _val) -> _val. -encode_sasl_mechanism_cdata(undefined, _acc) -> _acc; +encode_sasl_mechanism_cdata(<<>>, _acc) -> _acc; encode_sasl_mechanism_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -22737,23 +22615,22 @@ encode_sasl_failure_text({text, Lang, Data}, 'decode_sasl_failure_text_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_sasl_failure_text_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_sasl_failure_text_attr_xml:lang'(undefined, - _acc) -> +'encode_sasl_failure_text_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_sasl_failure_text_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. decode_sasl_failure_text_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_sasl_failure_text_cdata(__TopXMLNS, _val) -> _val. -encode_sasl_failure_text_cdata(undefined, _acc) -> _acc; +encode_sasl_failure_text_cdata(<<>>, _acc) -> _acc; encode_sasl_failure_text_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -22781,8 +22658,7 @@ encode_sasl_success({sasl_success, Text}, _attrs = _xmlns_attrs, {xmlel, <<"success">>, _attrs, _els}. -decode_sasl_success_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_sasl_success_cdata(__TopXMLNS, <<>>) -> <<>>; decode_sasl_success_cdata(__TopXMLNS, _val) -> case catch base64:decode(_val) of {'EXIT', _} -> @@ -22791,7 +22667,7 @@ decode_sasl_success_cdata(__TopXMLNS, _val) -> _res -> _res end. -encode_sasl_success_cdata(undefined, _acc) -> _acc; +encode_sasl_success_cdata(<<>>, _acc) -> _acc; encode_sasl_success_cdata(_val, _acc) -> [{xmlcdata, base64:encode(_val)} | _acc]. @@ -22819,8 +22695,7 @@ encode_sasl_response({sasl_response, Text}, _attrs = _xmlns_attrs, {xmlel, <<"response">>, _attrs, _els}. -decode_sasl_response_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_sasl_response_cdata(__TopXMLNS, <<>>) -> <<>>; decode_sasl_response_cdata(__TopXMLNS, _val) -> case catch base64:decode(_val) of {'EXIT', _} -> @@ -22829,7 +22704,7 @@ decode_sasl_response_cdata(__TopXMLNS, _val) -> _res -> _res end. -encode_sasl_response_cdata(undefined, _acc) -> _acc; +encode_sasl_response_cdata(<<>>, _acc) -> _acc; encode_sasl_response_cdata(_val, _acc) -> [{xmlcdata, base64:encode(_val)} | _acc]. @@ -22857,8 +22732,7 @@ encode_sasl_challenge({sasl_challenge, Text}, _attrs = _xmlns_attrs, {xmlel, <<"challenge">>, _attrs, _els}. -decode_sasl_challenge_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_sasl_challenge_cdata(__TopXMLNS, <<>>) -> <<>>; decode_sasl_challenge_cdata(__TopXMLNS, _val) -> case catch base64:decode(_val) of {'EXIT', _} -> @@ -22867,7 +22741,7 @@ decode_sasl_challenge_cdata(__TopXMLNS, _val) -> _res -> _res end. -encode_sasl_challenge_cdata(undefined, _acc) -> _acc; +encode_sasl_challenge_cdata(<<>>, _acc) -> _acc; encode_sasl_challenge_cdata(_val, _acc) -> [{xmlcdata, base64:encode(_val)} | _acc]. @@ -22927,7 +22801,7 @@ decode_sasl_auth_attr_mechanism(__TopXMLNS, _val) -> encode_sasl_auth_attr_mechanism(_val, _acc) -> [{<<"mechanism">>, _val} | _acc]. -decode_sasl_auth_cdata(__TopXMLNS, <<>>) -> undefined; +decode_sasl_auth_cdata(__TopXMLNS, <<>>) -> <<>>; decode_sasl_auth_cdata(__TopXMLNS, _val) -> case catch base64:decode(_val) of {'EXIT', _} -> @@ -22936,7 +22810,7 @@ decode_sasl_auth_cdata(__TopXMLNS, _val) -> _res -> _res end. -encode_sasl_auth_cdata(undefined, _acc) -> _acc; +encode_sasl_auth_cdata(<<>>, _acc) -> _acc; encode_sasl_auth_cdata(_val, _acc) -> [{xmlcdata, base64:encode(_val)} | _acc]. @@ -23083,11 +22957,11 @@ encode_legacy_auth_resource(Cdata, _xmlns_attrs) -> {xmlel, <<"resource">>, _attrs, _els}. decode_legacy_auth_resource_cdata(__TopXMLNS, <<>>) -> - none; + <<>>; decode_legacy_auth_resource_cdata(__TopXMLNS, _val) -> _val. -encode_legacy_auth_resource_cdata(none, _acc) -> _acc; +encode_legacy_auth_resource_cdata(<<>>, _acc) -> _acc; encode_legacy_auth_resource_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -23115,11 +22989,11 @@ encode_legacy_auth_digest(Cdata, _xmlns_attrs) -> {xmlel, <<"digest">>, _attrs, _els}. decode_legacy_auth_digest_cdata(__TopXMLNS, <<>>) -> - none; + <<>>; decode_legacy_auth_digest_cdata(__TopXMLNS, _val) -> _val. -encode_legacy_auth_digest_cdata(none, _acc) -> _acc; +encode_legacy_auth_digest_cdata(<<>>, _acc) -> _acc; encode_legacy_auth_digest_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -23147,11 +23021,11 @@ encode_legacy_auth_password(Cdata, _xmlns_attrs) -> {xmlel, <<"password">>, _attrs, _els}. decode_legacy_auth_password_cdata(__TopXMLNS, <<>>) -> - none; + <<>>; decode_legacy_auth_password_cdata(__TopXMLNS, _val) -> _val. -encode_legacy_auth_password_cdata(none, _acc) -> _acc; +encode_legacy_auth_password_cdata(<<>>, _acc) -> _acc; encode_legacy_auth_password_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -23179,11 +23053,11 @@ encode_legacy_auth_username(Cdata, _xmlns_attrs) -> {xmlel, <<"username">>, _attrs, _els}. decode_legacy_auth_username_cdata(__TopXMLNS, <<>>) -> - none; + <<>>; decode_legacy_auth_username_cdata(__TopXMLNS, _val) -> _val. -encode_legacy_auth_username_cdata(none, _acc) -> _acc; +encode_legacy_auth_username_cdata(<<>>, _acc) -> _acc; encode_legacy_auth_username_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -23275,8 +23149,7 @@ encode_bind_resource(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"resource">>, _attrs, _els}. -decode_bind_resource_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_bind_resource_cdata(__TopXMLNS, <<>>) -> <<>>; decode_bind_resource_cdata(__TopXMLNS, _val) -> case catch resourceprep(_val) of {'EXIT', _} -> @@ -23285,7 +23158,7 @@ decode_bind_resource_cdata(__TopXMLNS, _val) -> _res -> _res end. -encode_bind_resource_cdata(undefined, _acc) -> _acc; +encode_bind_resource_cdata(<<>>, _acc) -> _acc; encode_bind_resource_cdata(_val, _acc) -> [{xmlcdata, resourceprep(_val)} | _acc]. @@ -23889,11 +23762,10 @@ encode_error_attr_code(undefined, _acc) -> _acc; encode_error_attr_code(_val, _acc) -> [{<<"code">>, enc_int(_val)} | _acc]. -decode_error_attr_by(__TopXMLNS, undefined) -> - undefined; +decode_error_attr_by(__TopXMLNS, undefined) -> <<>>; decode_error_attr_by(__TopXMLNS, _val) -> _val. -encode_error_attr_by(undefined, _acc) -> _acc; +encode_error_attr_by(<<>>, _acc) -> _acc; encode_error_attr_by(_val, _acc) -> [{<<"by">>, _val} | _acc]. @@ -23934,19 +23806,18 @@ encode_error_text({text, Lang, Data}, _xmlns_attrs) -> 'decode_error_text_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_error_text_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_error_text_attr_xml:lang'(undefined, _acc) -> - _acc; +'encode_error_text_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_error_text_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. -decode_error_text_cdata(__TopXMLNS, <<>>) -> undefined; +decode_error_text_cdata(__TopXMLNS, <<>>) -> <<>>; decode_error_text_cdata(__TopXMLNS, _val) -> _val. -encode_error_text_cdata(undefined, _acc) -> _acc; +encode_error_text_cdata(<<>>, _acc) -> _acc; encode_error_text_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -24068,11 +23939,10 @@ encode_error_redirect({redirect, Uri}, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"redirect">>, _attrs, _els}. -decode_error_redirect_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_error_redirect_cdata(__TopXMLNS, <<>>) -> <<>>; decode_error_redirect_cdata(__TopXMLNS, _val) -> _val. -encode_error_redirect_cdata(undefined, _acc) -> _acc; +encode_error_redirect_cdata(<<>>, _acc) -> _acc; encode_error_redirect_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -24192,10 +24062,10 @@ encode_error_gone({gone, Uri}, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"gone">>, _attrs, _els}. -decode_error_gone_cdata(__TopXMLNS, <<>>) -> undefined; +decode_error_gone_cdata(__TopXMLNS, <<>>) -> <<>>; decode_error_gone_cdata(__TopXMLNS, _val) -> _val. -encode_error_gone_cdata(undefined, _acc) -> _acc; +encode_error_gone_cdata(<<>>, _acc) -> _acc; encode_error_gone_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -24401,11 +24271,10 @@ encode_presence({presence, Id, Type, Lang, From, To, 'encode_presence_$priority'(Priority, _acc) -> [encode_presence_priority(Priority, []) | _acc]. -decode_presence_attr_id(__TopXMLNS, undefined) -> - undefined; +decode_presence_attr_id(__TopXMLNS, undefined) -> <<>>; decode_presence_attr_id(__TopXMLNS, _val) -> _val. -encode_presence_attr_id(undefined, _acc) -> _acc; +encode_presence_attr_id(<<>>, _acc) -> _acc; encode_presence_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. @@ -24459,12 +24328,11 @@ encode_presence_attr_to(_val, _acc) -> 'decode_presence_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_presence_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_presence_attr_xml:lang'(undefined, _acc) -> - _acc; +'encode_presence_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_presence_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. @@ -24544,22 +24412,20 @@ encode_presence_status({text, Lang, Data}, 'decode_presence_status_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_presence_status_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_presence_status_attr_xml:lang'(undefined, - _acc) -> +'encode_presence_status_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_presence_status_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. -decode_presence_status_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_presence_status_cdata(__TopXMLNS, <<>>) -> <<>>; decode_presence_status_cdata(__TopXMLNS, _val) -> _val. -encode_presence_status_cdata(undefined, _acc) -> _acc; +encode_presence_status_cdata(<<>>, _acc) -> _acc; encode_presence_status_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -24765,11 +24631,10 @@ encode_message({message, Id, Type, Lang, From, To, 'encode_message_$body'(_els, [encode_message_body(Body, []) | _acc]). -decode_message_attr_id(__TopXMLNS, undefined) -> - undefined; +decode_message_attr_id(__TopXMLNS, undefined) -> <<>>; decode_message_attr_id(__TopXMLNS, _val) -> _val. -encode_message_attr_id(undefined, _acc) -> _acc; +encode_message_attr_id(<<>>, _acc) -> _acc; encode_message_attr_id(_val, _acc) -> [{<<"id">>, _val} | _acc]. @@ -24820,11 +24685,11 @@ encode_message_attr_to(_val, _acc) -> [{<<"to">>, enc_jid(_val)} | _acc]. 'decode_message_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_message_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_message_attr_xml:lang'(undefined, _acc) -> _acc; +'encode_message_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_message_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. @@ -24851,11 +24716,10 @@ encode_message_thread(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"thread">>, _attrs, _els}. -decode_message_thread_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_message_thread_cdata(__TopXMLNS, <<>>) -> <<>>; decode_message_thread_cdata(__TopXMLNS, _val) -> _val. -encode_message_thread_cdata(undefined, _acc) -> _acc; +encode_message_thread_cdata(<<>>, _acc) -> _acc; encode_message_thread_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -24896,20 +24760,18 @@ encode_message_body({text, Lang, Data}, _xmlns_attrs) -> 'decode_message_body_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_message_body_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_message_body_attr_xml:lang'(undefined, _acc) -> - _acc; +'encode_message_body_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_message_body_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. -decode_message_body_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_message_body_cdata(__TopXMLNS, <<>>) -> <<>>; decode_message_body_cdata(__TopXMLNS, _val) -> _val. -encode_message_body_cdata(undefined, _acc) -> _acc; +encode_message_body_cdata(<<>>, _acc) -> _acc; encode_message_body_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -24952,22 +24814,20 @@ encode_message_subject({text, Lang, Data}, 'decode_message_subject_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_message_subject_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_message_subject_attr_xml:lang'(undefined, - _acc) -> +'encode_message_subject_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_message_subject_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. -decode_message_subject_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_message_subject_cdata(__TopXMLNS, <<>>) -> <<>>; decode_message_subject_cdata(__TopXMLNS, _val) -> _val. -encode_message_subject_cdata(undefined, _acc) -> _acc; +encode_message_subject_cdata(<<>>, _acc) -> _acc; encode_message_subject_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -25096,10 +24956,10 @@ encode_iq_attr_to(_val, _acc) -> [{<<"to">>, enc_jid(_val)} | _acc]. 'decode_iq_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_iq_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_iq_attr_xml:lang'(undefined, _acc) -> _acc; +'encode_iq_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_iq_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. @@ -25618,12 +25478,11 @@ encode_conference_password(Cdata, _xmlns_attrs) -> {xmlel, <<"password">>, _attrs, _els}. decode_conference_password_cdata(__TopXMLNS, <<>>) -> - undefined; + <<>>; decode_conference_password_cdata(__TopXMLNS, _val) -> _val. -encode_conference_password_cdata(undefined, _acc) -> - _acc; +encode_conference_password_cdata(<<>>, _acc) -> _acc; encode_conference_password_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -25650,11 +25509,10 @@ encode_conference_nick(Cdata, _xmlns_attrs) -> _attrs = _xmlns_attrs, {xmlel, <<"nick">>, _attrs, _els}. -decode_conference_nick_cdata(__TopXMLNS, <<>>) -> - undefined; +decode_conference_nick_cdata(__TopXMLNS, <<>>) -> <<>>; decode_conference_nick_cdata(__TopXMLNS, _val) -> _val. -encode_conference_nick_cdata(undefined, _acc) -> _acc; +encode_conference_nick_cdata(<<>>, _acc) -> _acc; encode_conference_nick_cdata(_val, _acc) -> [{xmlcdata, _val} | _acc]. @@ -25762,10 +25620,10 @@ encode_disco_items({disco_items, Node, Items, Rsm}, | _acc]. decode_disco_items_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_disco_items_attr_node(__TopXMLNS, _val) -> _val. -encode_disco_items_attr_node(undefined, _acc) -> _acc; +encode_disco_items_attr_node(<<>>, _acc) -> _acc; encode_disco_items_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -25822,18 +25680,18 @@ encode_disco_item_attr_jid(_val, _acc) -> [{<<"jid">>, enc_jid(_val)} | _acc]. decode_disco_item_attr_name(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_disco_item_attr_name(__TopXMLNS, _val) -> _val. -encode_disco_item_attr_name(undefined, _acc) -> _acc; +encode_disco_item_attr_name(<<>>, _acc) -> _acc; encode_disco_item_attr_name(_val, _acc) -> [{<<"name">>, _val} | _acc]. decode_disco_item_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_disco_item_attr_node(__TopXMLNS, _val) -> _val. -encode_disco_item_attr_node(undefined, _acc) -> _acc; +encode_disco_item_attr_node(<<>>, _acc) -> _acc; encode_disco_item_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -25957,10 +25815,10 @@ encode_disco_info({disco_info, Node, Identities, | _acc]). decode_disco_info_attr_node(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_disco_info_attr_node(__TopXMLNS, _val) -> _val. -encode_disco_info_attr_node(undefined, _acc) -> _acc; +encode_disco_info_attr_node(<<>>, _acc) -> _acc; encode_disco_info_attr_node(_val, _acc) -> [{<<"node">>, _val} | _acc]. @@ -26067,25 +25925,23 @@ encode_disco_identity_attr_type(_val, _acc) -> 'decode_disco_identity_attr_xml:lang'(__TopXMLNS, undefined) -> - undefined; + <<>>; 'decode_disco_identity_attr_xml:lang'(__TopXMLNS, _val) -> _val. -'encode_disco_identity_attr_xml:lang'(undefined, - _acc) -> +'encode_disco_identity_attr_xml:lang'(<<>>, _acc) -> _acc; 'encode_disco_identity_attr_xml:lang'(_val, _acc) -> [{<<"xml:lang">>, _val} | _acc]. decode_disco_identity_attr_name(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_disco_identity_attr_name(__TopXMLNS, _val) -> _val. -encode_disco_identity_attr_name(undefined, _acc) -> - _acc; +encode_disco_identity_attr_name(<<>>, _acc) -> _acc; encode_disco_identity_attr_name(_val, _acc) -> [{<<"name">>, _val} | _acc]. @@ -26103,20 +25959,13 @@ decode_block_list_els(__TopXMLNS, __IgnoreEls, case get_attr(<<"xmlns">>, _attrs) of <<"">> when __TopXMLNS == <<"urn:xmpp:blocking">> -> decode_block_list_els(__TopXMLNS, __IgnoreEls, _els, - case decode_block_item(__TopXMLNS, __IgnoreEls, - _el) - of - undefined -> Items; - _new_el -> [_new_el | Items] - end); + [decode_block_item(__TopXMLNS, __IgnoreEls, _el) + | Items]); <<"urn:xmpp:blocking">> -> decode_block_list_els(__TopXMLNS, __IgnoreEls, _els, - case decode_block_item(<<"urn:xmpp:blocking">>, - __IgnoreEls, _el) - of - undefined -> Items; - _new_el -> [_new_el | Items] - end); + [decode_block_item(<<"urn:xmpp:blocking">>, + __IgnoreEls, _el) + | Items]); _ -> decode_block_list_els(__TopXMLNS, __IgnoreEls, _els, Items) @@ -26151,20 +26000,13 @@ decode_unblock_els(__TopXMLNS, __IgnoreEls, case get_attr(<<"xmlns">>, _attrs) of <<"">> when __TopXMLNS == <<"urn:xmpp:blocking">> -> decode_unblock_els(__TopXMLNS, __IgnoreEls, _els, - case decode_block_item(__TopXMLNS, __IgnoreEls, - _el) - of - undefined -> Items; - _new_el -> [_new_el | Items] - end); + [decode_block_item(__TopXMLNS, __IgnoreEls, _el) + | Items]); <<"urn:xmpp:blocking">> -> decode_unblock_els(__TopXMLNS, __IgnoreEls, _els, - case decode_block_item(<<"urn:xmpp:blocking">>, - __IgnoreEls, _el) - of - undefined -> Items; - _new_el -> [_new_el | Items] - end); + [decode_block_item(<<"urn:xmpp:blocking">>, + __IgnoreEls, _el) + | Items]); _ -> decode_unblock_els(__TopXMLNS, __IgnoreEls, _els, Items) end; @@ -26197,19 +26039,13 @@ decode_block_els(__TopXMLNS, __IgnoreEls, case get_attr(<<"xmlns">>, _attrs) of <<"">> when __TopXMLNS == <<"urn:xmpp:blocking">> -> decode_block_els(__TopXMLNS, __IgnoreEls, _els, - case decode_block_item(__TopXMLNS, __IgnoreEls, _el) - of - undefined -> Items; - _new_el -> [_new_el | Items] - end); + [decode_block_item(__TopXMLNS, __IgnoreEls, _el) + | Items]); <<"urn:xmpp:blocking">> -> decode_block_els(__TopXMLNS, __IgnoreEls, _els, - case decode_block_item(<<"urn:xmpp:blocking">>, - __IgnoreEls, _el) - of - undefined -> Items; - _new_el -> [_new_el | Items] - end); + [decode_block_item(<<"urn:xmpp:blocking">>, + __IgnoreEls, _el) + | Items]); _ -> decode_block_els(__TopXMLNS, __IgnoreEls, _els, Items) end; @@ -26692,11 +26528,11 @@ encode_privacy_item_attr_type(_val, _acc) -> [{<<"type">>, enc_enum(_val)} | _acc]. decode_privacy_item_attr_value(__TopXMLNS, undefined) -> - undefined; + <<>>; decode_privacy_item_attr_value(__TopXMLNS, _val) -> _val. -encode_privacy_item_attr_value(undefined, _acc) -> _acc; +encode_privacy_item_attr_value(<<>>, _acc) -> _acc; encode_privacy_item_attr_value(_val, _acc) -> [{<<"value">>, _val} | _acc]. diff --git a/src/xmpp_util.erl b/src/xmpp_util.erl index a4f37c926..20231fffa 100644 --- a/src/xmpp_util.erl +++ b/src/xmpp_util.erl @@ -94,7 +94,7 @@ make_adhoc_response(#adhoc_command{lang = Lang, node = Node, sid = SID}, Command#adhoc_command{lang = Lang, node = Node, sid = SID}. -spec make_adhoc_response(adhoc_command()) -> adhoc_command(). -make_adhoc_response(#adhoc_command{sid = undefined} = Command) -> +make_adhoc_response(#adhoc_command{sid = <<"">>} = Command) -> SID = jlib:now_to_utc_string(p1_time_compat:timestamp()), Command#adhoc_command{sid = SID}; make_adhoc_response(Command) -> diff --git a/tools/xmpp_codec.spec b/tools/xmpp_codec.spec index a50b58b59..0b8f3b668 100644 --- a/tools/xmpp_codec.spec +++ b/tools/xmpp_codec.spec @@ -69,7 +69,7 @@ #elem{name = <<"query">>, xmlns = <<"jabber:iq:roster">>, result = {roster_query, '$items', '$ver'}, - attrs = [#attr{name = <<"ver">>}], + attrs = [#attr{name = <<"ver">>, default = undefined}], refs = [#ref{name = roster_item, label = '$items'}]}). -xml(rosterver_feature, @@ -616,22 +616,18 @@ -xml(legacy_auth_username, #elem{name = <<"username">>, xmlns = <<"jabber:iq:auth">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(legacy_auth_password, #elem{name = <<"password">>, xmlns = <<"jabber:iq:auth">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(legacy_auth_digest, #elem{name = <<"digest">>, xmlns = <<"jabber:iq:auth">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(legacy_auth_resource, #elem{name = <<"resource">>, xmlns = <<"jabber:iq:auth">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(legacy_auth, @@ -917,87 +913,70 @@ -xml(register_username, #elem{name = <<"username">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_nick, #elem{name = <<"nick">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_password, #elem{name = <<"password">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_name, #elem{name = <<"name">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_first, #elem{name = <<"first">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_last, #elem{name = <<"last">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_email, #elem{name = <<"email">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_address, #elem{name = <<"address">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_city, #elem{name = <<"city">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_state, #elem{name = <<"state">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_zip, #elem{name = <<"zip">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_phone, #elem{name = <<"phone">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_url, #elem{name = <<"url">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_date, #elem{name = <<"date">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_misc, #elem{name = <<"misc">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_text, #elem{name = <<"text">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register_key, #elem{name = <<"key">>, xmlns = <<"jabber:iq:register">>, - cdata = #cdata{default = none}, result = '$cdata'}). -xml(register, @@ -1180,7 +1159,9 @@ xmlns = <<"urn:ietf:params:xml:ns:xmpp-streams">>}). -xml(stream_error_see_other_host, #elem{name = <<"see-other-host">>, - cdata = #cdata{required = true, label = '$host'}, + cdata = #cdata{required = true, label = '$host', + dec = {dec_host_port, []}, + enc = {enc_host_port, []}}, result = {'see-other-host', '$host'}, xmlns = <<"urn:ietf:params:xml:ns:xmpp-streams">>}). -xml(stream_error_system_shutdown, @@ -1562,14 +1543,14 @@ xmlns = <<"vcard-temp:x:update">>, result = '$cdata'}). --record(vcard_xupdate, {us :: {binary(), binary()}, +-record(vcard_xupdate, {us = {<<>>, <<>>} :: {binary(), binary()}, hash :: binary()}). -type vcard_xupdate() :: #vcard_xupdate{}. -xml(vcard_xupdate, #elem{name = <<"x">>, xmlns = <<"vcard-temp:x:update">>, - result = {vcard_xupdate, undefined, '$hash'}, + result = {vcard_xupdate, '$_', '$hash'}, refs = [#ref{name = vcard_xupdate_photo, min = 0, max = 1, label = '$hash'}]}). @@ -1745,8 +1726,7 @@ #elem{name = <<"subscriptions">>, xmlns = <<"http://jabber.org/protocol/pubsub">>, result = {'$node', '$subscriptions'}, - attrs = [#attr{name = <<"node">>, - default = none}], + attrs = [#attr{name = <<"node">>}], refs = [#ref{name = pubsub_subscription, label = '$subscriptions'}]}). -xml(pubsub_affiliations, @@ -3088,6 +3068,7 @@ dec = {dec_int, [0, infinity]}, enc = {enc_int, []}}]}). +-spec dec_tzo(_) -> {integer(), integer()}. dec_tzo(Val) -> [H1, M1] = str:tokens(Val, <<":">>), H = jlib:binary_to_integer(H1), @@ -3104,12 +3085,14 @@ enc_tzo({H, M}) -> end, list_to_binary([Sign, io_lib:format("~2..0w:~2..0w", [H, M])]). +-spec dec_utc(_) -> erlang:timestamp(). dec_utc(Val) -> {_, _, _} = jlib:datetime_string_to_timestamp(Val). enc_utc(Val) -> jlib:now_to_utc_string(Val). +-spec dec_jid(_) -> jid:jid(). dec_jid(Val) -> case jid:from_string(Val) of error -> @@ -3121,6 +3104,7 @@ dec_jid(Val) -> enc_jid(J) -> jid:to_string(J). +-spec resourceprep(_) -> binary(). resourceprep(R) -> case jid:resourceprep(R) of error -> @@ -3129,6 +3113,7 @@ resourceprep(R) -> R1 end. +-spec dec_bool(_) -> boolean(). dec_bool(<<"false">>) -> false; dec_bool(<<"0">>) -> false; dec_bool(<<"true">>) -> true; @@ -3141,6 +3126,7 @@ join([], _Sep) -> <<>>; join([H | T], Sep) -> <> || X <- T >>)/binary>>. +-spec dec_ip(_) -> inet:ip_address(). dec_ip(S) -> {ok, Addr} = inet_parse:address(binary_to_list(S)), Addr. @@ -3151,6 +3137,33 @@ enc_ip({0,0,0,0,0,16#ffff,A,B}) -> enc_ip(Addr) -> list_to_binary(inet_parse:ntoa(Addr)). +-spec re:split(_, _) -> binary(). +-spec base64:decode(_) -> binary(). + +-spec dec_host_port(_) -> binary() | inet:ip_address() | + {binary() | inet:ip_address(), non_neg_integer()}. +dec_host_port(<<$[, T/binary>>) -> + [IP, <<$:, Port/binary>>] = binary:split(T, <<$]>>), + {dec_ip(IP), dec_int(Port, 0, 65535)}; +dec_host_port(S) -> + case binary:split(S, <<$:>>) of + [S] -> + try dec_ip(S) catch _:_ -> S end; + [S, P] -> + {try dec_ip(S) catch _:_ -> S end, dec_int(P, 0, 65535)} + end. + +enc_host_port(Host) when is_binary(Host) -> + Host; +enc_host_port({{_,_,_,_,_,_,_,_} = IPv6, Port}) -> + enc_host_port({<<$[, (enc_ip(IPv6))/binary, $]>>, Port}); +enc_host_port({{_,_,_,_} = IPv4, Port}) -> + enc_host_port({enc_ip(IPv4), Port}); +enc_host_port({Host, Port}) -> + <>; +enc_host_port(Addr) -> + enc_ip(Addr). + %% Local Variables: %% mode: erlang %% End: