]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_opermd5.cpp
Now with added ANGRY MONKEYS.
[user/henk/code/inspircd.git] / src / modules / m_opermd5.cpp
index 42683ac19a6c7b55eca7ee9254a247982cbc4b76..1adf0906f34994468a8fc2df3b7aaa3550a8e746 100644 (file)
 using namespace std;
 
 #include <stdio.h>
+#include "inspircd_config.h"
+#ifdef HAS_STDINT
+#include <stdint.h>
+#endif
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
 #include "helperfuncs.h"
 
-
 /* The four core functions - F1 is optimized somewhat */
 #define F1(x, y, z) (z ^ (x & (y ^ z)))
 #define F2(x, y, z) F1(z, x, y)
@@ -35,10 +38,16 @@ using namespace std;
 #define MD5STEP(f,w,x,y,z,in,s) \
          (w += f(x,y,z) + in, w = (w<<s | w>>(32-s)) + x)
 
-typedef unsigned long word32;
+#ifndef HAS_STDINT
+typedef unsigned int uint32_t;
+#endif
+
+typedef uint32_t word32; /* NOT unsigned long. We don't support 16 bit platforms, anyway. */
 typedef unsigned char byte;
 
-struct MD5Context {
+class MD5Context : public classbase
+{
+ public:
        word32 buf[4];
        word32 bytes[2];
        word32 in[16];
@@ -265,9 +274,10 @@ class cmd_mkpasswd : public command_t
        cmd_mkpasswd () : command_t("MKPASSWD", 'o', 1)
        {
                this->source = "m_opermd5.so";
+               syntax = "<any-text>";
        }
 
-       void Handle (char **parameters, int pcnt, userrec *user)
+       void Handle (const char** parameters, int pcnt, userrec *user)
        {
                char buffer[MAXBUF];
                GenHash(parameters[0],buffer);