brain
02e8724bbd
Tweak hash generation to make it faster
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5545 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-26 23:26:52 +00:00
brain
e2b89c9054
More stringently fit the RFC1459 BNF diagrams
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5528 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-22 20:26:20 +00:00
brain
9716d24be9
New helper class irc::stringjoiner - it pwns you.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5403 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-03 13:46:28 +00:00
brain
89adf12852
Seems to work now
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5400 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 17:14:41 +00:00
brain
4ae42b33e6
Add more features to modestacker so that we can stack +, -, and parameterless modes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5391 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 09:24:49 +00:00
brain
bd0413a193
More efficient modestacker
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5390 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 08:51:45 +00:00
brain
02fe4a3085
modestacker class, stacks modes and returns a string list of up to MAXMODES modes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5389 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 08:47:14 +00:00
brain
c212eb49df
Change type to size_t so that 64 bit platforms dont whine about data loss when casting
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5303 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19 17:56:14 +00:00
brain
833cf31a65
Adapt to use std::string::const_iterator
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5302 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19 17:55:13 +00:00
brain
136b8e0f8c
Use ++x not x++, to more closely match what stl does
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5299 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19 13:16:04 +00:00
brain
68af3d9221
ULTRA FAST HASH FUNCTION :p
...
I went and looked how hash_fun.h in STL did it, to save a string copy :p
(it's deceptively simple too)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5298 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19 12:50:40 +00:00
brain
0e21e5b642
Turn irc::commasepstream into a base class, irc::sepstream, inherit two classes from it: irc::commasepstream and irc::spacesepstream, to be used for the most common token seperators "," and " "
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5266 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-17 14:08:03 +00:00
brain
ba5a5b345c
Move Spacify() into irc:: namespace as multiple modules use it now
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5200 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10 17:03:50 +00:00
brain
19b34cde73
I'll give you ##TOAST, :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5189 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-09 17:42:56 +00:00
brain
d4af574074
We now have a test module that can dump someones certificate information: /sslinfo <nick>
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5125 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 18:57:16 +00:00
brain
d54fd9b1e6
Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30 09:03:03 +00:00
brain
ec9bd01f58
Move trailing space stripping to only strip from non-last-item values (dont ask)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5049 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28 16:45:05 +00:00
brain
d546725cb6
Move lowermap[] into a pre-initialised const array in hashcomp.h,
...
get rid of InspIRCd::MakeLowertab()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4951 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 15:59:23 +00:00
brain
6050df73f4
Just to mess with om's head, remove helperfuncs.h from everywhere
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 23:31:13 +00:00
brain
a5833e654d
Move whowas into InspIRCd
...
Tidy up lowermap extern (for now, we cant do much but have this as extern)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4876 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 09:50:16 +00:00
brain
51924df0a8
Make it more readable
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4853 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 19:17:04 +00:00
brain
782bbf7622
Much faster hash<string> for case-insensitive hashing, combined copy and lowercase operation
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4852 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 19:15:42 +00:00
brain
318552487d
Move strlower into nspace namespace where hash<std::string> lives
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4850 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 18:54:29 +00:00
brain
d7336f351d
Move the socket functions like insp_ntoa into their own namespace. They arent really sensible to put into a class, but namespacing them out discourages developers from directly using them without explicitly saing 'using irc::sockets::BindPorts' or whatever first. Some functions such as insp_ntoa are already 'exposed' by headers that use them so 'using irc::sockets::inet_ntoa' isnt required.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4828 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 00:36:07 +00:00
brain
db1ab20263
Remove trailing spaces from input in irc::ircsepstream
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4759 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06 23:38:58 +00:00
brain
4488e47713
The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if this works yet.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 11:46:19 +00:00
brain
c80508b28b
Move to entirely using insp_sockaddr and insp_inaddr for socket stuff, first step on the road to ipv6 support
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4609 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 10:37:16 +00:00
brain
085cd4278f
Created new class irc::commasepstream.
...
Will read comma seperated lists and works identically to irc::tokenstream
It's re-entrant so we can run two of them together for JOIN
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4412 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:08:59 +00:00
om
c195e03e61
const the std::string reference in tokenstream's constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4400 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 07:23:03 +00:00
brain
654482dc4f
Improved this a lot
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4398 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 02:15:45 +00:00
brain
ef10f984fa
This should be faster, we read it like a stream now with GetToken until GetToken returns "".
...
The optimizations done by gcc means theres only one std::string constructor call per token, which is mmm yum.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4397 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 02:09:58 +00:00
brain
6ab0b94dce
irc::tokenstream is a token parser which using std::string and std::vector builds a list of tokens using irc parsing rules.
...
e.g.:
:arse PRIVMSG #chan :foo bar baz
becomes
a[0] = ":arse", a[1] = "PRIVMSG", a[2] = "#chan", a[3] = "foo bar baz".
*** SOMEONE *** needs to optimize this or at least verify its neatness (without making it total craq and unreadable). Feel free to mess with my code.
Any optimizations you make, run them against the COMMENTED OUT TEST SUITE at the top of main() in src/inspircd.cpp and ensure ALL output is the same
with no crashes. (note: if you comment out and build with the test suite, all inspircd will do is output test data and exit!)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4396 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 01:40:58 +00:00
brain
5454b47bd5
Removed GCC2 checks as we havent supported gcc2 for years
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4394 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-15 17:35:31 +00:00
w00t
a7b0c26a4c
Holy christ that was a LOT OF SPACES. TABS, USE THEM, LOVE THEM, APPRECIATE THEM - we now have no stupid spaces. This was mostly a mass find/replace, so some indentation may be stuffed. Minor issue, though.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3838 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-06 02:25:20 +00:00
brain
bc6a985761
Tidyup: (unsigned) cast to more explicit (unsigned char)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3746 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-21 18:38:40 +00:00
brain
2b8c7fada7
Changed to unsigned char to get rid of warnings
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3598 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 15:43:10 +00:00
brain
b15212c646
lowertab -> lowermap
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3597 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 15:42:31 +00:00
brain
bb81e1a5f3
Improved strhashcomp with no allocations
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3596 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 15:41:25 +00:00
brain
bb7ff3b7b6
AIEEE fucking overloaded operators
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3263 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:21:41 +00:00
brain
5e42198671
More tweaks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3262 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:19:25 +00:00
brain
8942c3cd32
Tweaks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3261 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:17:17 +00:00
brain
f0610a1fa2
Added + and == operators between std::string and irc::string.
...
Its too late at night to wrestle with the = operator, this can wait for another time.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3260 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-19 23:14:37 +00:00
om
ca549070d9
Add operators >> and << for irc::string and i/ostreams. m_cban utilises this
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3066 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-03 22:40:10 +00:00
brain
6ee0904855
Improved inaddr_hashcomp
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3040 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-03 14:21:35 +00:00
brain
1383dba43e
Updated copyrights in headers etc using perl inplace edit
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15 15:59:11 +00:00
brain
f96ddd3974
Started on -Wall - safe compile
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1570 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-30 22:36:08 +00:00
brain
36e5e3ff42
Fixed lengths
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1547 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-29 04:32:31 +00:00
brain
bf6ec00f3d
Fixed fd_Setsize in cygwin
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1541 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-28 20:30:06 +00:00
brain
ab01aaeeee
Changed to use __single_client_alloc, faster on most systems in a single thread
...
Specified namespace std in *all* files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1404 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 22:58:24 +00:00
brain
d5fed3976b
Updated to keep lowermap const within hashcomp.cpp
...
Updated docs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1401 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15 19:33:39 +00:00