+/**
+ * Return ID of a client with cloaked hostname: "client!user@server-name"
+ * This client ID is used for IRC prefixes, for example.
+ * Please note that this function uses a global static buffer, so you can't
+ * nest invocations without overwriting erlier results!
+ * If the client has not enabled cloaking, the real hostname is used.
+ * @param Client Pointer to client structure
+ * @return Pointer to global buffer containing the client ID
+ */
+GLOBAL char *
+Client_MaskCloaked(CLIENT *Client)
+{
+ static char Mask_Buffer[GETID_LEN];
+
+ assert (Client != NULL);
+
+ /* Is the client using cloaking at all? */
+ if (!Client_HasMode(Client, 'x'))
+ return Client_Mask(Client);
+
+ snprintf(Mask_Buffer, GETID_LEN, "%s!%s@%s",
+ Client->id, Client->user, Client_ID(Client->introducer));
+ return Mask_Buffer;
+} /* Client_MaskCloaked */
+
+