+ hdata.msgtype = msgtype;
+ hdata.source_p = source_p;
+ hdata.target_p = target_p;
+ hdata.text = text;
+ hdata.approved = 0;
+
+ call_hook(h_privmsg_user, &hdata);
+
+ /* buffer location may have changed. */
+ text = hdata.text;
+
+ if (hdata.approved != 0)
+ return;
+
+ if (EmptyString(text))
+ {
+ /* could be empty after colour stripping and
+ * that would cause problems later */
+ if(msgtype != MESSAGE_TYPE_NOTICE)
+ sendto_one(source_p, form_str(ERR_NOTEXTTOSEND), me.name, source_p->name);
+ return;
+ }
+