I have applied the newest version of this patch.  I did find one warning
reported by my compiler:
        
        inet_net_ntop.c:273: warning: too many arguments for format
        inet_net_ntop.c:275: warning: too many arguments for format

I have applied the attached patch to prevent the warnings.  Please check
that the patch matches your intentions.

Thanks. I have been waiting for this patch for a long time.

FYI, I also changed the 631 oid because that was already used, probably
by a recent patch.

---------------------------------------------------------------------------

Michael Graff wrote:
> This includes several revisions from others.
> 
> Major changes:
> 
>         Add ipv6 address parsing support to 'inet' and 'cidr' data types.
> 
>         Regression tests for IPv6 operations added.
> 
>         Documentation updated to document IPv6 bits.
> 
>         Stop treating IPv4 as an "unsigned int" and IPv6 as an array of
>         characters.  Instead, always use the array of characters so we
>         can have one function fits all.  This makes bitncmp(), addressOK(),
>         and several other functions "just work" on both address families.
> 
>         add family() function which returns integer 4 or 6 for IPv4 or
>         IPv6.  (See examples below)  Note that to add this new function
>         you will need to dump/initdb/reload or find the correct magic
>         to add the function to the postgresql function catalogs.
> 
>         IPv4 addresses always sort before IPv6.
> 
>         On disk we use AF_INET for IPv4, and AF_INET+1 for IPv6 addresses.
>         This prevents the need for a dump and reload, but lets IPv6 parsing
>         work on machines without AF_INET6.
> 
>         To select all IPv4 addresses from a table:
> 
>                 select * from foo where family(addr) = 4 ...
> 
>         Order by and other bits should all work.
> 
> Regression tests pass, at least on my NetBSD machine.
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/backend/utils/adt/inet_net_ntop.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/inet_net_ntop.c,v
retrieving revision 1.13
diff -c -c -r1.13 inet_net_ntop.c
*** src/backend/utils/adt/inet_net_ntop.c       24 Jun 2003 22:21:22 -0000      1.13
--- src/backend/utils/adt/inet_net_ntop.c       24 Jun 2003 22:22:44 -0000
***************
*** 270,278 ****
  
        if (!double_colon) {
                if (bits < 128 - 32)
!                       cp += SPRINTF((cp, "::", bits));
                else if (bits < 128 - 16)
!                       cp += SPRINTF((cp, ":0", bits));
        }
  
        /* Format CIDR /width. */
--- 270,278 ----
  
        if (!double_colon) {
                if (bits < 128 - 32)
!                       cp += SPRINTF((cp, "::%d", bits));
                else if (bits < 128 - 16)
!                       cp += SPRINTF((cp, ":0%d", bits));
        }
  
        /* Format CIDR /width. */
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to