Hi David,

> The main svn is at savannah (http://savannah.gnu.org/projects/commoncpp)

Thanks.

> I would be happy to take in a patch for this as I was looking to do a new
> release very soon.

Please find attached. (Generated with 'svn diff', I hope that's right.)

Note:

1. unless I am missing something, code in IPV4Cidr::set() &
   IPV6Cidr::set() is redundant - it doesn't DO anything. It was easier
   to remove the offending code than to fix the const-correctness.
2. Trivial modification to demo/SampleSocketPort.cpp is so I can do:
   make SampleSocketPort.o CPPFLAGS=-DNO_EXAMPLE
   and link against the resultant object code with my own program.
   (Previously I had to hand-edit & remove '#define WITH_EXAMPLE'.)

Scott. :)
Index: demo/SampleSocketPort.cpp
===================================================================
--- demo/SampleSocketPort.cpp   (revision 937)
+++ demo/SampleSocketPort.cpp   (working copy)
@@ -242,11 +242,9 @@
 
 
 
-#define WITH_EXAMPLE
+#ifndef NO_EXAMPLE
 
-#ifdef WITH_EXAMPLE
 
-
 /************ THE FOLLOWING CODE DEMONSTRATES THE USE OF THE ABOVE CLASS 
********************
  ****
  ****  To test it, compile with:
Index: src/string.cpp
===================================================================
--- src/string.cpp      (revision 937)
+++ src/string.cpp      (working copy)
@@ -719,7 +719,7 @@
        return def;
 }
 
-const size_t String::getSize(void) const
+size_t String::getSize(void) const
 {
        if(isBig())
                return content.bigstring.size;
@@ -749,7 +749,7 @@
        return chars;
 }
 
-const size_t String::getLength(void) const
+size_t String::getLength(void) const
 {
        if(isBig())
                return content.bigstring.length;
Index: src/cidr.cpp
===================================================================
--- src/cidr.cpp        (revision 937)
+++ src/cidr.cpp        (working copy)
@@ -189,7 +189,6 @@
 void IPV4Cidr::set(const char *cp)
 {
        char cbuf[INET_IPV4_ADDRESS_SIZE];
-       char *ep;
        unsigned dots = 0;
 #ifdef WIN32
        DWORD addr;
@@ -198,16 +197,7 @@
        memset(&netmask, 0, sizeof(netmask));
        bitset((bit_t *)&netmask, getMask(cp));
        setString(cbuf, sizeof(cbuf), cp);
-       
-#if defined(_MSC_VER) && _MSC_VER >= 1500
-       ep = (char *)strchr(cp, '/');
-#else
-       ep = strchr(cp, '/');
-#endif
 
-       if(ep)
-               *ep = 0;
-
        cp = cbuf;
        while(NULL != (cp = strchr(cp, '.'))) {
                ++dots;
@@ -327,15 +317,10 @@
 void IPV6Cidr::set(const char *cp)
 {
        char cbuf[INET_IPV6_ADDRESS_SIZE];
-       char *ep;
 
        memset(&netmask, 0, sizeof(netmask));
        bitset((bit_t *)&netmask, getMask(cp));
        setString(cbuf, sizeof(cbuf), cp);
-       ep = strchr(cp, '/');
-       if(ep)
-               *ep = 0;
-
        inet_pton(AF_INET6, cbuf, &network);
        bitmask((bit_t *)&network, (bit_t *)&netmask, sizeof(network));
 }
Index: inc/cc++/string.h
===================================================================
--- inc/cc++/string.h   (revision 937)
+++ inc/cc++/string.h   (working copy)
@@ -319,14 +319,14 @@
         *
         * @return string length.
         */
-       const size_t getLength(void) const;
+       size_t getLength(void) const;
 
        /**
         * Get the allocation size of the string variable.
         *
         * @return allocation size.
         */
-       const size_t getSize(void) const;
+       size_t getSize(void) const;
 
        /**
         * Return true if string is empty.
@@ -675,7 +675,7 @@
         *
         * @return character code.
         */
-       inline const char operator[](unsigned ind) const
+       inline char operator[](unsigned ind) const
                {return at(ind);};
 
        /**
_______________________________________________
Bayonne-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bayonne-devel

Reply via email to