82 Commits

Author SHA1 Message Date
brain
703ca18c66 More comments, and remove some unused craq. Someone (that being me) once wrote a craqy imitation of std::bitset called dynamicbitmask which took up a large amount of hashcomp.{h,cpp} before i actually knew that std::bitset existed. NOTHING has ever used this class, so whack it as tidyup, knowing it wont
break anything :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10567 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20 21:14:25 +00:00
w00t
0a3159121e Rename lowermap to rfc_case_insensitive_map, add case_sensitive_map.. adjust files to not pass lowermap directly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10337 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-28 19:45:21 +00:00
pippijn
de347ae8fa MAXBUF messes these up
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9902 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12 21:40:17 +00:00
pippijn
3f331656b2 fixed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9901 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12 21:34:02 +00:00
pippijn
63ee682557 optimise string comparison.. this time I've done it right.. sheesh shitty C++ name lookup :-(
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9900 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12 21:25:46 +00:00
pippijn
8a51d8969c revert for now..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9899 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12 21:09:04 +00:00
brain
b3e3b1f14e Now builds ok on gcc 4.3, not tested fully. Also UGLY, oh we hate you GCC, why couldnt you just use TR1 from the start???
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9894 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12 19:29:42 +00:00
brain
06a25cab68 Fix to allow namespace std { namespace tr1 {
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9893 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12 18:17:28 +00:00
brain
7d7250484c First phase of conversion to dynamic limits on all the lengths, configured via the <limits> tag
(the tag isnt there yet, these all just run on defaults in the class constructor)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25 17:30:43 +00:00
brain
4f946291b7 A load of classes dont inherit from classbase, and they should. fix.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:53:34 +00:00
brain
dd36852a52 Wheee, mass commit! this adds const stafety, throwing a compile error if anyone does: "parameters[n] = blahvar;" in a command handler etc. where they REALLY SHOULD NOT fuck with the value and should
copy the pointer.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8971 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-20 19:07:07 +00:00
w00t
f127161467 Clear up header insanity
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
brain
18b1ec5080 -pedantic tidyups, lets see if it finds anything worthy of a fix
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8313 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 19:28:41 +00:00
w00t
b57c7f4e46 In the grand tradition of huge fucking commits:
- chanrec -> Channel
 - userrec -> User
Enjoy.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
brain
deb8574079 Add some stuff to change how we process a token sepeperated stream
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7800 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 18:06:26 +00:00
peavey
694e3ba4c7 operators for std::string != irc::string and vice versa.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7604 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-28 18:13:35 +00:00
peavey
f2acdbc382 OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
603acdf77e Comments (lots of)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7377 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 18:45:22 +00:00
brain
17d91b065e Fixes for tokenization oddness with metadata, and weird behaviour of std::istringstream where the .str() method returns the whole string from the start to end, even AFTER youve read elements from it!
Use irc::tokenstream instead and add some overridden methods to it. This is smarter as it reuses code and allows us to format metadata the same way we format irc data.
NOTE: If you run any old servers alongside new servers (this revision) you might see spurious colons on the start of reasons for svsholds, cbans and filters. These can safely be ignored)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7283 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-13 18:12:04 +00:00
brain
18ff73f52b Bloody 'safe stl' warnings.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7120 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-22 20:55:43 +00:00
brain
3f3743c9d3 Crappy warnings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7119 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-22 20:53:07 +00:00
w00t
9cf56d917d Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
peavey
326b2d07b7 Add trim() to hashcomp to trail leading and traling spaces from std::strings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6809 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-18 20:57:25 +00:00
brain
5870145ac2 This needs some general QA-ing. Add support to new parser (introduced in 1.1) for empty final params (just the colon)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6731 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-02 22:11:14 +00:00
brain
07ca4f5789 Fix the operator== for irc::string -> std::string to be const&, the lack of const was stopping them being used in certain situations, this saves us a bunch of assign()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6643 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-10 15:29:47 +00:00
brain
ad8705d3f0 Add max line length value to modestacker, so that it can clamp the max length of a composed line to a given size. Defaults to 350 which should be safe with fmode and mode with a server name
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6609 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-25 00:11:46 +00:00
special
3797671382 Added sepstream::GetRemaining()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6608 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-22 11:50:19 +00:00
brain
0b460e6f32 Ident fixes,
removal of some old craq we dont use.
cgiirc optimizations and tidyups


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6541 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-07 19:56:35 +00:00
special
a16d415ee4 Fixed (rewrote) m_http_client's URL parsing, it is now more flexible and.. actually works.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6416 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-20 23:34:42 +00:00
peavey
d7d188e1c5 Make irc::spacify take 'const char*' instead of 'char*'
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6006 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 02:54:16 +00:00
w00t
696ee9ff66 And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
6bd9e67851 Change m_watch to use hash_map rather than map, because of the large number of entries we deal with it will usually be faster
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5979 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-13 20:07:08 +00:00
brain
33530c338c irc::string assign(std::string&)
std::string assign(irc::string&)
soooo:
irc::string foo = assign(my_std_string);
:p


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5956 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-11 23:56:22 +00:00
brain
e315b86451 bits_size must be protected, not private
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5764 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-18 01:14:05 +00:00
brain
023350a03f Add \code and \endcode tags for doxygen
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5763 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-18 01:05:36 +00:00
brain
96495c2009 Fix a major whoopsie in that class i just added. It must be derived using virtual methods, because each TYPE of bitmask must have its own static allocation of flags. See the (long winded) comments.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5762 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-18 01:03:47 +00:00
brain
77300844a4 Reduce size of max number of bytes in a bitfield from a 4 or 8 byte field to a 1 byte field (unsigned char).
This still allows storage of 8*255 bits, which is MORE than enough (for the interested, its 2040 bits)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5761 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-18 00:32:35 +00:00
brain
8827eca1da Properly document irc::dynamicbitmask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5760 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-18 00:08:46 +00:00
brain
bc8ba059b9 Fix this so it works, passes test case. Provide a method to query for a bit and to return the total size in bytes of the bitset
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5758 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-17 23:51:35 +00:00
brain
11f7397023 Add irc::dynamicbitmask class. Feel free to take a look and offer suggestions, as far as i can tell its about as efficient as im going to make it.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5757 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-17 23:23:32 +00:00
brain
a9b538041a Allow checking of overlapped ports. A bit of sensible thought prevents this from being O(n^2)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5694 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11 15:46:00 +00:00
brain
c9029f8db2 Document irc::portparser with comments :-)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5693 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11 15:28:18 +00:00
brain
69c3a32784 Add irc::portparser, a class to parse port ranges in the form "6660,6661,6662-6669,7000".
Needs testing, watch next few commits.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5690 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11 15:17:40 +00:00
brain
364735e18b Document a ton of classes (e.g. give them a short description for http://svn.inspircd.org/docs/annotated.html)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5434 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-06 14:23:37 +00:00
brain
e25e200024 Document
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5404 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-03 13:57:53 +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
cf72e0d472 Remove testcases
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5398 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 13:48:00 +00:00
brain
f0e0cb4da6 mmmm dinner break, oh and document and make use of modestacker.
Someone test this, i cant as im at work.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5395 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 12:59:55 +00:00