summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoraquanight <aquanight@e03df62e-2008-0410-955e-edbf42e46eb7>2008-05-18 23:15:53 +0000
committeraquanight <aquanight@e03df62e-2008-0410-955e-edbf42e46eb7>2008-05-18 23:15:53 +0000
commit4b856bda135a08e800b96c970a10b0b6a34d433a (patch)
tree3a0b4e7e263cb84223ace2c9eef15ce46f9f5907 /include
parent9d58c0986bfc4801a8d6388947f100317470bb5f (diff)
Make User:: nick/ident/dhost/fullname and some other things std::string instead of char*/char[] (MODULES DO NOT COMPILE)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r--include/modules.h4
-rw-r--r--include/u_listmode.h8
-rw-r--r--include/users.h50
3 files changed, 31 insertions, 31 deletions
diff --git a/include/modules.h b/include/modules.h
index 722bf4e3c..79c12a9cd 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -238,9 +238,9 @@ do { \
/** Is a module created user */
#define IS_MODULE_CREATED(x) (x->GetFd() == FD_MAGIC_NUMBER)
/** Is an oper */
-#define IS_OPER(x) (*x->oper)
+#define IS_OPER(x) (x->oper.empty())
/** Is away */
-#define IS_AWAY(x) (*x->awaymsg)
+#define IS_AWAY(x) (x->awaymsg.empty())
/** Holds a module's Version information.
* The four members (set by the constructor only) indicate details as to the version number
diff --git a/include/u_listmode.h b/include/u_listmode.h
index 19e9bf834..a7df014ed 100644
--- a/include/u_listmode.h
+++ b/include/u_listmode.h
@@ -153,15 +153,15 @@ class ListModeBase : public ModeHandler
{
for (modelist::reverse_iterator it = el->rbegin(); it != el->rend(); ++it)
{
- user->WriteNumeric(listnumeric, "%s %s %s %s %s", user->nick, channel->name, it->mask.c_str(), it->nick.c_str(), it->time.c_str());
+ user->WriteNumeric(listnumeric, "%s %s %s %s %s", user->nick.c_str(), channel->name, it->mask.c_str(), it->nick.c_str(), it->time.c_str());
}
}
- user->WriteNumeric(endoflistnumeric, "%s %s :%s", user->nick, channel->name, endofliststring.c_str());
+ user->WriteNumeric(endoflistnumeric, "%s %s :%s", user->nick.c_str(), channel->name, endofliststring.c_str());
}
virtual void DisplayEmptyList(User* user, Channel* channel)
{
- user->WriteNumeric(endoflistnumeric, "%s %s :%s", user->nick, channel->name, endofliststring.c_str());
+ user->WriteNumeric(endoflistnumeric, "%s %s :%s", user->nick.c_str(), channel->name, endofliststring.c_str());
}
/** Remove all instances of the mode from a channel.
@@ -323,7 +323,7 @@ class ListModeBase : public ModeHandler
/* List is full, give subclass a chance to send a custom message */
if (!TellListTooLong(source, channel, parameter))
{
- source->WriteNumeric(478, "%s %s %s :Channel ban/ignore list is full", source->nick, channel->name, parameter.c_str());
+ source->WriteNumeric(478, "%s %s %s :Channel ban/ignore list is full", source->nick.c_str(), channel->name, parameter.c_str());
}
parameter = "";
diff --git a/include/users.h b/include/users.h
index 9a7b9a6e7..c07e157ab 100644
--- a/include/users.h
+++ b/include/users.h
@@ -437,19 +437,19 @@ class CoreExport User : public connection
/** Cached nick!ident@host value using the real hostname
*/
- char* cached_fullhost;
+ std::string cached_fullhost;
/** Cached nick!ident@ip value using the real IP address
*/
- char* cached_hostip;
+ std::string cached_hostip;
/** Cached nick!ident@host value using the masked hostname
*/
- char* cached_makehost;
+ std::string cached_makehost;
/** Cached nick!ident@realhost value using the real hostname
*/
- char* cached_fullrealhost;
+ std::string cached_fullrealhost;
/** When we erase the user (in the destructor),
* we call this method to subtract one from all
@@ -512,27 +512,27 @@ class CoreExport User : public connection
* An invalid nickname indicates an unregistered connection prior to the NICK command.
* Use InspIRCd::IsNick() to validate nicknames.
*/
- char nick[NICKMAX];
-
+ std::string nick;
+
/** The user's unique identifier.
* This is the unique identifier which the user has across the network.
*/
- char uuid[UUID_LENGTH];
-
+ std::string uuid;
+
/** The users ident reply.
* Two characters are added to the user-defined limit to compensate for the tilde etc.
*/
- char ident[IDENTMAX+2];
-
+ std::string ident;
+
/** The host displayed to non-opers (used for cloaking etc).
* This usually matches the value of User::host.
*/
- char dhost[65];
-
+ std::string dhost;
+
/** The users full name (GECOS).
*/
- char fullname[MAXGECOS+1];
-
+ std::string fullname;
+
/** The user's mode list.
* This is NOT a null terminated string! In the 1.1 version of InspIRCd
* this is an array of values in a similar way to channel modes.
@@ -560,8 +560,8 @@ class CoreExport User : public connection
/** The user's away message.
* If this string is empty, the user is not marked as away.
*/
- char awaymsg[MAXAWAY+1];
-
+ std::string awaymsg;
+
/** Time the user last went away.
* This is ONLY RELIABLE if user IS_AWAY()!
*/
@@ -578,8 +578,8 @@ class CoreExport User : public connection
* we can say 'yay' or 'nay' to any commands they issue.
* The value of this is the value of a valid 'type name=' tag.
*/
- char oper[NICKMAX];
-
+ std::string oper;
+
/** True when DNS lookups are completed.
* The UserResolver classes res_forward and res_reverse will
* set this value once they complete.
@@ -590,8 +590,8 @@ class CoreExport User : public connection
* This is stored even if the <connect> block doesnt need a password, so that
* modules may check it.
*/
- char password[64];
-
+ std::string password;
+
/** User's receive queue.
* Lines from the IRCd awaiting processing are stored here.
* Upgraded april 2005, old system a bit hairy.
@@ -698,7 +698,7 @@ class CoreExport User : public connection
* on the server, in nick!ident&at;host form.
* @return The full masked host of the user
*/
- virtual char* GetFullHost();
+ virtual const std::string& GetFullHost();
/** Returns the full real host of the user
* This member function returns the hostname of the user as seen by other users
@@ -706,7 +706,7 @@ class CoreExport User : public connection
* e.g. through a module, then this method will ignore it and return the true hostname.
* @return The full real host of the user
*/
- virtual char* GetFullRealHost();
+ virtual const std::string& GetFullRealHost();
/** This clears any cached results that are used for GetFullRealHost() etc.
* The results of these calls are cached as generating them can be generally expensive.
@@ -874,13 +874,13 @@ class CoreExport User : public connection
* Takes a buffer to use and fills the given buffer with the hostmask in the format user@host
* @return the usermask in the format user@host
*/
- char* MakeHost();
+ const std::string& MakeHost();
/** Creates a usermask with real ip.
* Takes a buffer to use and fills the given buffer with the ipmask in the format user@ip
* @return the usermask in the format user@ip
*/
- char* MakeHostIP();
+ const std::string& MakeHostIP();
/** Shuts down and closes the user's socket
* This will not cause the user to be deleted. Use InspIRCd::QuitUser for this,
@@ -1113,7 +1113,7 @@ class CoreExport User : public connection
/** Get oper-specific quit message shown only to opers when the user quits.
* (overrides any sent by QuitUser)
*/
- const char* GetOperQuit();
+ const std::string& GetOperQuit();
/** Increases a user's command penalty by a set amount.
*/