Juli Mallett wrote:
* De: Jens Rehsack <[EMAIL PROTECTED]> [ Data: 2003-03-01 ]
        [ Subjecte: Re: PATCH: type errors in src-tree ]

Barney Wolff wrote:

On Sat, Mar 01, 2003 at 11:09:03PM +0100, Jens Rehsack wrote:

Shouldn't we care about u_char vs char?  On some machines it matters,
and on all machines compilers tend to notice and generate warnings.


Just another question: I turned on '-ansi' and got some warning about a function declaration is not a prototype (all functions are declared in K&R style). Is it preferred by the FreeBSD-Team having functions in K&R styles or is the Ansi-Style on, too?


ANSI is preferred, but mixing style with functional changes is discouraged.
I get the impression your change to width-specified values has a real
correlation to what things need to use, and thus it might fix brokenness
with systems not ILP32.

Ok, patch which complete ansi declarations appended. This fixes enumerous errors with 'declaration is not a prototype' messages.


Thanx,
juli.



-- L i W W W i Jens Rehsack L W W W L i W W W W i nnn gggg LiWing IT-Services L i W W W W i n n g g LLLL i W W i n n g g Friesenstraße 2 gggg 06112 Halle g g g Tel.: +49 - 3 45 - 5 17 05 91 ggg e-Mail: <[EMAIL PROTECTED]> Fax: +49 - 3 45 - 5 17 05 92 http://www.liwing.de/

--- sbin/atm/ilmid/ilmid.c.orig Sun Mar  2 00:30:57 2003
+++ sbin/atm/ilmid/ilmid.c      Sun Mar  2 00:50:40 2003
@@ -92,7 +92,8 @@
 #define        ASN_IPADDR      0x40
 #define        ASN_TIMESTAMP   0x43
 
-static char *Var_Types[] = { "", "", "ASN_INTEGER", "", "ASN_OCTET", "ASN_NULL", 
"ASN_OBJID" };
+static const char * const Var_Types[] = { "", "", "ASN_INTEGER", "", "ASN_OCTET",
+               "ASN_NULL", "ASN_OBJID" };
 
 /*
  * Define SNMP PDU types
@@ -103,8 +104,8 @@
 #define        PDU_TYPE_SET            0xA3
 #define        PDU_TYPE_TRAP           0xA4
 
-static char *PDU_Types[] = { "GET REQUEST", "GETNEXT REQUEST", "GET RESPONSE", "SET 
REQUEST",
-       "TRAP" };
+static const char * const PDU_Types[] = { "GET REQUEST", "GETNEXT REQUEST",
+               "GET RESPONSE", "SET REQUEST", "TRAP" };
 
 /*
  * Define TRAP codes
@@ -162,7 +163,7 @@
        union {
                int             ival;           /* INTEGER/TIMESTAMP */
                Objid           oval;           /* OBJID */
-               long            aval;           /* IPADDR */
+               uint32_t        aval;           /* IPADDR */
                char            sval[STRLEN];   /* OCTET */
        } var;
        Variable        *next;
@@ -173,10 +174,10 @@
  * which doesn't have the last three fields is the TRAP type.
  */
 struct snmp_header {
-       int             pdulen;
-       int             version;
+       uint32_t        pdulen;
+       uint32_t        version;
        char            community[64];
-       int             pdutype;
+       uint32_t        pdutype;
 
        /* GET/GETNEXT/GETRESP/SET */
        int             reqid;
@@ -185,11 +186,11 @@
 
        /* TRAP */
        Objid           enterprise;
-       int             ipaddr;
+       uint32_t        ipaddr;
        int             generic_trap;
        int             specific_trap;
 
-       int             varlen;
+       uint32_t        varlen;
        Variable        *head,
                        *tail;
 };
@@ -210,7 +211,7 @@
  * foresiggrp: FORE specific Objid we see alot of (being connected to FORE
  *                     switches...)
  */
-Objid  Objids[] = {
+const Objid    Objids[] = {
 #define        SYS_OBJID       0
        {{  8, 43, 6, 1, 2, 1, 1, 2, 0 }},
 #define        UPTIME_OBJID    1
@@ -279,7 +280,7 @@
  * Temporary buffer for building response packets. Should help ensure
  * that we aren't accidently overwriting some other memory.
  */
-u_char Resp_Buf[1024];
+char   Resp_Buf[1024];
 
 /*
  * Copy the reponse into a buffer we can modify without
@@ -291,8 +292,8 @@
 /*
  * TRAP generic trap types
  */
-char   *Traps[] = { "coldStart", "warmStart", "linkDown", "linkUp",
-               "authenticationFailure", "egpNeighborLoss",
+const char     *Traps[] = { "coldStart", "warmStart", "linkDown", "linkUp",
+                       "authenticationFailure", "egpNeighborLoss",
                        "enterpriseSpecific" };
 
 
@@ -320,6 +321,9 @@
  */
 Objid                  addressEntry[MAX_UNITS + 1];
 
+static const char      ilmi_ident_str[] = "ILMI";
+static const size_t    ilmi_ident_str_len = strlen("ILMI");
+
 /*
  * When this daemon started
  */
@@ -335,11 +339,11 @@
 #define        LOG_FILE        "/var/log/ilmid"
 FILE   *Log;                   /* File descriptor for log messages */
 
-void   set_reqid( u_char *, int );
-void   Increment_DL( int );
-void   Decrement_DL( int );
+static void    set_reqid( char *, uint32_t );
+static void    Increment_DL( int );
+static void    Decrement_DL( int );
 
-static char    *Months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+static const char      *Months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
                             "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
 
 /*
@@ -355,14 +359,14 @@
  *     none
  *
  */
-void
-write_timestamp()
+static void
+write_timestamp(void)
 {
-       time_t          clock;
+       time_t          cur_clock;
        struct tm       *tm;
 
-       clock = time ( (time_t)NULL );
-       tm = localtime ( &clock );
+       cur_clock = time ( (time_t)NULL );
+       tm = localtime ( &cur_clock );
 
        if ( Log && Debug_Level > 1 )
            if ( Log != stderr )
@@ -385,12 +389,10 @@
  *     none
  *
  */
-void
-hexdump ( bp, len )
-       u_char  *bp;
-       int     len;
+static void
+hexdump ( const char *bp, const uint32_t len )
 {
-       int     i, j;
+       uint32_t        i, j;
 
        /*
         * Print as 4 groups of four bytes. Each byte is separated
@@ -449,23 +451,21 @@
  *     <len>   - decoded length
  *
  */
-int
-asn_get_pdu_len ( bufp, plen )
-       u_char  **bufp;
-       int     *plen;
-{
-       u_char  *bp = *bufp;
-       int     len = 0;
-       int     i, b;
+static int
+asn_get_pdu_len ( const char ** const bufp, uint32_t * const plen )
+{
+       const char *bp =        *bufp;
+       uint32_t        len = 0;
+       uint32_t        i, b;
 
        b = *bp++;
        if ( plen )
-               (*plen)--;
-        if ( b & 0x80 ) {
-               for ( i = 0; i < (b & ~0x80); i++ ) {
+               --(*plen);
+       if ( b & 0x80 ) {
+               for ( i = 0; i < (b & ~0x80); ++i ) {
                        len = len * 256 + *bp++;
                        if ( plen )
-                               (*plen)--;
+                               --(*plen);
                }
        } else
                len = b;
@@ -490,14 +490,12 @@
  *     <val>   - value encoding represented
  *
  */
-int
-asn_get_encoded ( bufp, len )
-       u_char  **bufp;
-       int     *len;
-{
-       u_char  *bp = *bufp;
-       int     val = 0;
-       int     l = *len;
+static int
+asn_get_encoded ( const char ** const bufp, uint32_t * const len )
+{
+       const char      *bp = *bufp;
+       int             val = 0; /* FIXME: signed? sure? */
+       uint32_t        l = *len;
 
        /*
         * Keep going while high bit is set
@@ -507,7 +505,7 @@
                 * Each byte can represent 7 bits
                 */
                val = ( val << 7 ) + ( *bp & ~0x80 );
-               l--;
+               --l;
        } while ( *bp++ & 0x80 );
 
        *bufp = bp;             /* update buffer pointer */
@@ -531,23 +529,21 @@
  *     <val>   - value of encoded integer
  *
  */
-int
-asn_get_int ( bufp, plen )
-       u_char  **bufp;
-       int     *plen;
+static int
+asn_get_int ( const char ** const bufp, uint32_t * const plen )
 {
-       int     i;
-       int     len;
-       int     v = 0;
-       u_char  *bp = *bufp;
+       uint32_t        i;
+       uint32_t        len;
+       int             v = 0;
+       const char      *bp = *bufp;
 
        len = *bp++;
        if ( plen )
-               (*plen)--;
-       for ( i = 0; i < len; i++ ) {
+               --(*plen);
+       for ( i = 0; i < len; ++i ) {
                v = (v * 256) + *bp++;
                if ( plen )
-                       (*plen)--;
+                       --(*plen);
        }
        *bufp = bp;
        return ( v );
@@ -565,18 +561,16 @@
  *     <bufp>  - updated buffer pointer
  *
  */
-void
-asn_set_int ( bufp, val )
-       u_char  **bufp;
-       int     val;
+static void
+asn_set_int ( char **bufp, const uint32_t val )
 {
        union {
-               int     i;
-               u_char  c[4];
+               uint32_t        i;
+               u_char  c[sizeof(uint32_t)];
        } u;
-       int     len = sizeof(int);
-       int     i = 0;
-       u_char  *bp = *bufp;
+       uint32_t        len = sizeof(uint32_t);
+       uint32_t        i = 0;
+       char *bp = *bufp;
 
        /* Check for special case where val == 0 */
        if ( val == 0 ) {
@@ -588,16 +582,16 @@
 
        u.i = htonl ( val );
 
-       while ( u.c[i] == 0  && i++ < sizeof(int) )
-               len--;
+       while ( u.c[i] == 0 && ++i < sizeof(u.i) ) /* 'i++ < x' increases x even if 
increase break bounds */
+               --len;
 
        if ( u.c[i] > 0x7f ) {
-               i--;
-               len++;
+               --i;
+               ++len;
        }
 
-       *bp++ = len;
-       bcopy ( (caddr_t)&u.c[sizeof(int)-len], bp, len );
+       *bp++ = (char)len;
+       bcopy ( &u.c[sizeof(u.i)-len], bp, len );
        bp += len;
        *bufp = bp;
 
@@ -614,11 +608,10 @@
  *     none
  *
  */
-void
-print_objid ( objid )
-       Objid   *objid;
+static void
+print_objid ( const Objid * const objid )
 {
-       int     i;
+       uint32_t        i, cmp = objid->oid[0];
 
        /*
         * First oid coded as 40 * X + Y
@@ -628,7 +621,7 @@
            fprintf ( Log, ".%d.%d", objid->oid[1] / 40,
                objid->oid[1] % 40 );
        }
-       for ( i = 2; i <= objid->oid[0]; i++ )
+       for ( i = 2; i <= cmp; ++i )
            if ( Log )
                fprintf ( Log, ".%d", objid->oid[i] );
        if ( Log )
@@ -651,25 +644,22 @@
  *     plen    - (possibly) adjusted PDU length
  *
  */
-void
-asn_get_objid ( bufp, objid, plen )
-       u_char  **bufp;
-       Objid   *objid;
-       int     *plen;
-{
-       int     len;
-       u_char  *bp = *bufp;
-       int     *ip = (int *)objid + 1; /* First byte will contain length */
-       int     oidlen = 0;
+static void
+asn_get_objid ( const char **bufp, Objid * const objid, uint32_t * const plen )
+{
+       uint32_t        len;
+       const char      *bp = *bufp;
+       int             *ip = (int *)objid + 1; /* First byte will contain length */ 
/* FIXME: first byte or first word? */
+       uint32_t        oidlen = 0;
 
        len = *bp++;
        if ( plen )
-               (*plen)--;
+               --(*plen);
        while ( len ) {
                *ip++ = asn_get_encoded ( &bp, &len );
                if ( plen )
-                       (*plen)--;
-               oidlen++;
+                       --(*plen);
+               ++oidlen;
        }
        objid->oid[0] = oidlen;
        *bufp = bp;
@@ -681,30 +671,29 @@
  * Put OBJID - assumes elements <= 16383 for two byte coding
  *
  */
-int
-asn_put_objid ( bufp, objid )
-       u_char  **bufp;
-       Objid   *objid;
-{
-       int     len = 0;
-       u_char  *bp = *bufp;
-       u_char  *cpp;
-       int     i;
+static int
+asn_put_objid ( char **bufp, const Objid * const objid )
+{
+       uint32_t        len = 0;
+       char            *bp = *bufp;
+       char            *cpp;
+       uint32_t        i;
+       const uint32_t  oidlen = objid->oid[0];
 
        cpp = bp;
        *bp++ = objid->oid[0];
-       len++;
-       for ( i = 1; i <= objid->oid[0]; i++ ) {
-               u_int   c = objid->oid[i];
+       ++len;
+       for ( i = 1; i <= oidlen; ++i ) { /* FIXME: objid->oid[0] can be greater than 
128 which is sizeof(objid->oid) */
+               unsigned char   c = objid->oid[i];
 
                while ( c > 127 ) {
                        *bp++ = ( ( c >> 7 ) & 0x7f ) | 0x80;
-                       len++;
+                       ++len;
                        c &= 0x7f;              /* XXX - assumption of two bytes */
-                       (*cpp)++;
+                       ++(*cpp);
                }
                *bp++ = c;
-               len++;
+               ++len;
        }
 
        *bufp = bp;
@@ -729,26 +718,23 @@
  *     plen    - (possibly) adjusted PDU length
  *
  */
-void
-asn_get_octet ( bufp, octet, plen )
-       u_char  **bufp;
-       char    *octet;
-       int     *plen;
-{
-       u_char  *bp = *bufp;
-       int     i = 0;
-       int     len = 0;
+static void
+asn_get_octet ( const char ** const bufp, char *octet, uint32_t        * const plen )
+{
+       const char      *bp = *bufp;
+       uint32_t        i = 0;
+       uint32_t        len = 0;
 
        /*
         * &i is really a dummy value here as we don't keep track
         * of the ongoing buffer length
         */
-       len = asn_get_encoded ( &bp, &i, plen );
+       len = (uint32_t)asn_get_encoded ( &bp, &i /* FIXME: what's that? , plen */ );
 
-       for ( i = 0; i < len; i++ ) {
+       for ( i = 0; i < len; ++i ) {
                *octet++ = *bp++;
                if ( plen )
-                       (*plen)--;
+                       --(*plen);
        }
 
        *bufp = bp;
@@ -767,11 +753,10 @@
  *     none
  *
  */
-void
-print_header ( Hdr )
-       Snmp_Header *Hdr;
+static void
+print_header ( const Snmp_Header * const Hdr )
 {
-       Variable        *var;
+       const Variable  *var;
 
        if ( Log ) {
            write_timestamp();
@@ -826,27 +811,25 @@
  *     none
  *
  */
-void
-parse_oids ( h, bp )
-       Snmp_Header     *h;
-       caddr_t         *bp;
+static void
+parse_oids ( Snmp_Header * const h, const char ** const bp )
 {
-       int             len = h->varlen;
-       int             sublen;
+       uint32_t        len = h->varlen;
+       uint32_t        sublen;
        Variable        *var;
-       caddr_t         bufp = *bp;
+       const char      *bufp = *bp;
 
        while ( len > 0 ) {
            if ( *bufp++ == ASN_SEQUENCE ) {
-               len--;
+               --len;
 
                /* Create new Variable instance */
-               if ( ( var = (Variable *)malloc(sizeof(Variable)) ) == NULL )
+               if ( ( var = malloc(sizeof(*var)) ) == NULL )
                {
                        *bp = bufp;
                        return;
                }
-               bzero(var, sizeof(Variable));
+               bzero(var, sizeof(*var));
                /* Link to tail */
                if ( h->tail )
                        h->tail->next = var;
@@ -872,8 +855,8 @@
                        var->var.ival = asn_get_int ( &bufp, &len );
                        break;
                case ASN_NULL:
-                       bufp++;
-                       len--;
+                       ++bufp;
+                       --len;
                        break;
                case ASN_OBJID:
                        asn_get_objid ( &bufp, &var->var.oval, &len );
@@ -913,25 +896,26 @@
  *             - generated SNMP header
  *
  */
-Snmp_Header *
-asn_get_header ( bufp )
-       u_char **bufp;
+static Snmp_Header *
+asn_get_header ( const char **bufp )
 {
        Snmp_Header     *h;
-       u_char          *bp = *bufp;
-       int             len = 0;
-       int             dummy = 0;
+       const char      *bp = *bufp;
+       uint32_t        len = 0;
+       /*
+       uint32_t        dummy = 0;
+       */
 
        /*
         * Allocate memory to hold the SNMP header
         */
-       if ( ( h = (Snmp_Header *)malloc(sizeof(Snmp_Header)) ) == NULL )
+       if ( ( h = malloc(sizeof(*h)) ) == NULL ) /* void * matches any pointer type */
                return ( (Snmp_Header *)NULL );
 
        /*
         * Ensure that we wipe the slate clean
         */
-       bzero(h, sizeof(Snmp_Header));
+       bzero(h, sizeof(*h));
 
        /*
         * PDU has to start as SEQUENCE OF
@@ -970,7 +954,7 @@
         */
        if ( h->pdutype != PDU_TYPE_TRAP ) {    /* TRAP uses different format */
 
-               (void) asn_get_pdu_len ( &bp, &dummy );
+               (void) asn_get_pdu_len ( &bp, NULL ); /* &dummy -> NULL */
 
                /* Request ID */
                if ( *bp++ != ASN_INTEGER ) {
@@ -1025,17 +1009,16 @@
  *     1       - Objid's don't match
  *
  */
-int
-oid_cmp ( oid1, oid2 )
-       Objid *oid1, *oid2;
+static int
+oid_cmp ( const Objid * const oid1, const Objid * const oid2 )
 {
-       int     i;
-       int     len;
+       uint32_t        i;
+       uint32_t        len;
 
        /*
         * Compare lengths
         */
-       if ( !(oid1->oid[0] == oid2->oid[0] ) )
+       if ( !(oid1->oid[0] == oid2->oid[0] ) ) /* FIXME: how about if( oid1->oid[0] 
!= oid2->oid[0] ) */
                /* Different lengths */
                return ( 1 );
 
@@ -1067,12 +1050,10 @@
  *     1       - Objid's don't match
  *
  */
-int
-oid_ncmp ( oid1, oid2, len )
-       Objid *oid1, *oid2;
-       int     len;
+static int
+oid_ncmp ( const Objid * const oid1, const Objid * const oid2, const uint32_t len )
 {
-       int     i;
+       uint32_t        i;
 
        /*
         * value by value compare
@@ -1098,11 +1079,10 @@
  *     -1      - no matching Variable found
  *
  */
-int
-find_var ( var )
-       Variable        *var;
+static int
+find_var ( const Variable * const var )
 {
-       int     i;
+       size_t          i;
 
        for ( i = 0; i < NUM_OIDS; i++ )
                if ( oid_cmp ( &var->oid, &Objids[i] ) == 0 ) {
@@ -1167,19 +1147,17 @@
  *     none
  *
  */
-void
-build_pdu ( hdr, type )
-       Snmp_Header     *hdr;
-       int             type;
+static void
+build_pdu ( Snmp_Header * const hdr, const int type )
 {
-       u_char          *bp = Resp_Buf;
-       u_char          *vpp;
-       u_char          *ppp;
+       char            *bp = Resp_Buf;
+       char            *vpp;
+       char            *ppp;
        int             erridx = 0;
        int             varidx = 1;
-       int             varlen = 0;
-       int             pdulen = 0;
-       int             traplen = 0;
+       uint32_t        varlen = 0;
+       uint32_t        pdulen = 0;
+       uint32_t        traplen = 0;
        Variable        *var;
 
        /*
@@ -1188,14 +1166,14 @@
        bzero ( Resp_Buf, sizeof(Resp_Buf) );
 
        /* [0] is reserved for overall length */
-       bp++;
+       ++bp;
 
        /* Start with SEQUENCE OF */
        *bp++ = ASN_SEQUENCE;
        /* - assume we can code length in two octets */
-       *bp++ = 0x82;
-       bp++;
-       bp++;
+       *bp++ = (unsigned char)0x82;
+       ++bp;
+       ++bp;
        /* Version */
        *bp++ = ASN_INTEGER;
        asn_set_int ( &bp, hdr->version );
@@ -1208,7 +1186,7 @@
        *bp++ = type;
        ppp = bp;
        /* Length of OID data - assume it'll fit in one octet */
-       bp++;
+       ++bp;
 
        if ( type != PDU_TYPE_TRAP ) {
            /* Sequence ID */
@@ -1250,7 +1228,7 @@
                /* Fill in IP address */
                *bp++ = ASN_IPADDR;
                *bp++ = sizeof ( hdr->ipaddr );
-               bcopy ( (caddr_t)&hdr->ipaddr, bp, sizeof(hdr->ipaddr) );
+               bcopy ( &hdr->ipaddr, bp, sizeof(hdr->ipaddr) );
                bp += sizeof(hdr->ipaddr);
 
                /* Fill in generic and specific trap types */
@@ -1271,44 +1249,44 @@
 
        /* SEQUENCE OF */
        *bp++ = ASN_SEQUENCE;
-       *bp++ = 0x82;
+       *bp++ = (unsigned char)0x82;
        /* - assume we can code length in two octets */
        vpp = bp;
        varlen = 0;
-       bp++;
-       bp++;
+       ++bp;
+       ++bp;
 
        /* Install Variables */
        var = hdr->head;
        varidx = 1;
        while ( var ) {
-               u_char *bpp;
-               int     len = 0;
+               char            *bpp;
+               uint32_t        len = 0;
 
                /* SEQUENCE OF */
                *bp++ = ASN_SEQUENCE;
-               *bp++ = 0x82;
+               *bp++ = (unsigned char)0x82;
                /* - assume we can code length in two octets */
                bpp = bp;
-               bp++;
-               bp++;
+               ++bp;
+               ++bp;
                /* OBJID */
                *bp++ = ASN_OBJID;
-               len++;
+               ++len;
 
                len += asn_put_objid ( &bp, &var->oid );
 
                if ( erridx && varidx >= erridx ) {
                        /* Code this variable as NULL */
                        *bp++ = ASN_NULL;
-                       len++;
-                       bp++;
-                       len++;
+                       ++len;
+                       ++bp;
+                       ++len;
                } else {
-                       u_char *lpp;
+                       char    *lpp;
                        /* Variable type */
                        *bp++ = var->type;
-                       len++;
+                       ++len;
                        lpp = bp;
                        switch ( var->type ) {
                        case ASN_INTEGER:
@@ -1317,15 +1295,15 @@
                                break;
                        case ASN_OCTET:
                                *bp++ = var->var.sval[0];
-                               len++;
-                               bcopy ( (caddr_t)&var->var.sval[1],
+                               ++len;
+                               bcopy ( &var->var.sval[1],
                                        bp, var->var.sval[0] );
                                len += var->var.sval[0];
                                bp += var->var.sval[0];
                                break;
                        case ASN_NULL:
                                *bp++ = 0x00;
-                               len++;
+                               ++len;
                                break;
                        case ASN_OBJID:
                                len += asn_put_objid ( &bp, &var->var.oval );
@@ -1333,11 +1311,11 @@
                        case ASN_SEQUENCE:
                                break;
                        case ASN_IPADDR:
-                               *bp++ = 4;
-                               len++;
-                               bcopy ( (caddr_t)&var->var.aval, bp, 4 );
-                               len += 4;
-                               bp += 4;
+                               *bp++ = sizeof(var->var.aval);
+                               ++len;
+                               bcopy ( &var->var.aval, bp, sizeof(var->var.aval) );
+                               len += sizeof(var->var.aval);
+                               bp += sizeof(var->var.aval);
                                break;
                        case ASN_TIMESTAMP:
                                asn_set_int ( &bp, var->var.ival );
@@ -1349,7 +1327,7 @@
                }
 
                /* Accumulate total Variable sequence length */
-               varlen += (len + 4);
+               varlen += (len + 4); /* FIXME: why 4? is it sizeof(var->var.aval) */
 
                /* Fill in length of this sequence */
                bpp[1] = len & 0xff;
@@ -1385,18 +1363,18 @@
        return;
 }
 
-void
-free_pdu ( hdr )
-Snmp_Header *hdr;
+static void
+free_pdu ( Snmp_Header *hdr )
 {
-       Variable        *var;
+       Variable        *var = hdr->head, *var_next;
 
-       while ( hdr->head ) {
-               var = hdr->head->next;          /* Save next link */
-               free ( hdr->head );             /* Free current var */
-               hdr->head = var;                /* Set head to next link */
+       while ( var ) {
+               var_next = var->next;           /* Save next link */
+               free ( var );                   /* Free current var */
+               var_next = var;                 /* Set head to saved next link */
        }
 
+       hdr->head = NULL;
        free ( hdr );                           /* Free fixed portion */
 }
 
@@ -1411,29 +1389,27 @@
  *     none    - request id may/may not be set
  *
  */
-void
-set_reqid ( resp, reqid )
-       u_char  *resp;
-       int     reqid;
+static void
+set_reqid ( char *resp, uint32_t reqid )
 {
-       u_char          *bp = (u_char *)&resp[18];
+       char    *bp = resp+18;
        union {
-               int     i;
-               u_char  c[4];
+               uint32_t        i;
+               char            c[sizeof(uint32_t)];
        } u;
 
-       u.i = htonl(reqid);
+       u.i = htonl( reqid );
 
        /*
         * Replace the current Request ID with the supplied value
         */
-       bcopy ( (caddr_t)&u.c[4-resp[17]], bp, resp[17] );
+       bcopy ( &u.c[4-resp[17]], bp, resp[17] );
 
        return;
 }
 
 /*
- * Send a generic response packet
+ * Send a generic response packet - FIXME: documentation doesn't match declaration
  *
  * Arguments:
  *     sd      - socket to send the reply on
@@ -1444,22 +1420,19 @@
  *     none    - response sent
  *
  */
-void
-send_resp ( intf, Hdr, resp )
-       int             intf;
-       Snmp_Header     *Hdr;
-       u_char          *resp;
+static void
+send_resp ( const int intf, Snmp_Header *Hdr, char *resp )
 {
        int     n;
 
-       if ( ilmi_fd[intf] > 0 ) {
-           n = write ( ilmi_fd[intf], (caddr_t)&resp[1], resp[0] );
+       if ( ilmi_fd[intf] > 0 ) { /* FIXME: does ilmi_fd[intf] exists? out of range? 
*/
+           n = write ( ilmi_fd[intf], resp+1, resp[0] );
            if ( Log && Debug_Level > 1 ) {
                write_timestamp();
                fprintf ( Log, "===== Sent %d of %d bytes (%d) =====\n", n, resp[0], 
ilmi_fd[intf] );
                print_header ( Hdr );
                if ( Debug_Level > 2 )
-                       hexdump ( (u_char *)&resp[1], resp[0] );
+                       hexdump ( &resp[1], resp[0] );
            }
        }
 
@@ -1471,39 +1444,40 @@
  * Build a COLD_START TRAP PDU
  *
  */
-Snmp_Header *
-build_cold_start()
+static Snmp_Header *
+build_cold_start(void)
 {
        Snmp_Header     *hdr;
        Variable        *var;
 
-       hdr = (Snmp_Header *)malloc(sizeof(Snmp_Header));
+       hdr = malloc(sizeof(*hdr));
        if (hdr == NULL) {
-               fprintf(stderr, "malloc() failed in %s()\n", __func__);
+               fprintf(stderr, "malloc() failed in %s() line %d\n", __func__, 
__LINE__);
                exit(1);
        }
-       bzero(hdr, sizeof(Snmp_Header));
+       bzero(hdr, sizeof(*hdr));
 
+       /* FIXME: bzero has done that
        hdr->pdulen = 0;
+       */
        hdr->version = SNMP_VERSION_1 - 1;
-       snprintf ( hdr->community, sizeof(hdr->community), "ILMI" );
+       snprintf ( hdr->community, ilmi_ident_str_len, ilmi_ident_str );
 
-       hdr->ipaddr = 0x0;      /* 0.0.0.0 */
+       /* FIXME: bzero: hdr->ipaddr = 0x0;     */ /* 0.0.0.0 */
        hdr->generic_trap = TRAP_COLDSTART;
-       hdr->specific_trap = 0;
-       bcopy ( (caddr_t)&Objids[ENTERPRISE_OBJID], (caddr_t)&hdr->enterprise,
+       /* FIXME: bzero: hdr->specific_trap = 0; */
+       bcopy ( &Objids[ENTERPRISE_OBJID], &hdr->enterprise,
                sizeof(Objid) );
 
-       hdr->head = (Variable *)malloc(sizeof(Variable));
-       if (hdr == NULL) {
-               fprintf(stderr, "malloc() failed in %s()\n", __func__);
+       hdr->head = malloc(sizeof(*hdr->head));
+       if (hdr->head == NULL) {
+               fprintf(stderr, "malloc() failed in %s() line %d\n", __func__, 
__LINE__);
                exit(1);
        }
-       bzero(hdr->head, sizeof(Variable));
+       bzero(hdr->head, sizeof(*hdr->head));
 
        var = hdr->head;
-       bcopy ( (caddr_t)&Objids[UPTIME_OBJID], (caddr_t)&var->oid,
-               sizeof(Objid) );
+       bcopy ( &Objids[UPTIME_OBJID], &var->oid, sizeof(var->oid) );
        var->type = ASN_NULL;
 
        return ( hdr );
@@ -1513,21 +1487,21 @@
  * Build a Generic PDU Header
  *
  */
-Snmp_Header *
-build_generic_header()
+static Snmp_Header *
+build_generic_header( void )
 {
        Snmp_Header     *hdr;
 
-       hdr = (Snmp_Header *)malloc(sizeof(Snmp_Header));
+       hdr = malloc(sizeof(*hdr));
        if (hdr == NULL) {
                fprintf(stderr, "malloc() failed in %s()\n", __func__);
                exit(1);
        }
-       bzero(hdr, sizeof(Snmp_Header));
+       bzero(hdr, sizeof(*hdr));
 
-       hdr->pdulen = 0;
+       /* FIXME: bzero: hdr->pdulen = 0; */
        hdr->version = SNMP_VERSION_1 - 1;
-       snprintf ( hdr->community, sizeof(hdr->community), "ILMI" );
+       snprintf ( hdr->community, ilmi_ident_str_len, ilmi_ident_str );
 
        return ( hdr );
 }
@@ -1546,12 +1520,12 @@
  *      none            Information from HARP available
  *
  */
-void
-init_ilmi()
+static void
+init_ilmi(void)
 {
-        struct  air_cfg_rsp     *cfg_info = NULL;
-        struct  air_int_rsp    *intf_info = NULL;
-        int                     buf_len;
+        struct  air_cfg_rsp    *cfg_info = NULL;
+        struct  air_int_rsp    *intf_info = NULL;
+        int                    buf_len;
 
        /*
         * Get configuration info - what's available with 'atm sh config'
@@ -1562,7 +1536,7 @@
         */
        if ( buf_len <= 0 ) {
                bzero ( Cfg, sizeof(Cfg) );
-               bzero( Intf, sizeof(Intf) );
+               bzero ( Intf, sizeof(Intf) );
                NUnits = 0;
                return;
        }
@@ -1570,11 +1544,11 @@
        /*
         * Move to local storage
         */
-        bcopy ( cfg_info, (caddr_t)Cfg, buf_len );
+        bcopy ( cfg_info, Cfg, buf_len );
        /*
         * Compute how many units information was returned for
         */
-        NUnits = buf_len / sizeof(struct air_cfg_rsp);
+        NUnits = buf_len / sizeof(*cfg_info);
        /* Housecleaning */
         free ( cfg_info );
         cfg_info = NULL;
@@ -1593,7 +1567,7 @@
        /*
         * Move to local storage
         */
-        bcopy ( intf_info, (caddr_t)Intf, buf_len );
+        bcopy ( intf_info, Intf, buf_len );
        /* Housecleaning */
         free ( intf_info );
         intf_info = NULL;
@@ -1617,31 +1591,31 @@
  *      none
  *
  */
-void
-ilmi_open ()
+static void
+ilmi_open (void)
 {
-        struct sockaddr_atm     satm;
-        struct t_atm_aal5       aal5;
-        struct t_atm_traffic    traffic;
-        struct t_atm_bearer     bearer;
-        struct t_atm_qos        qos;
+        struct sockaddr_atm    satm;
+        struct t_atm_aal5      aal5;
+        struct t_atm_traffic   traffic;
+        struct t_atm_bearer    bearer;
+        struct t_atm_qos       qos;
        struct t_atm_app_name   appname;
-        Atm_addr                subaddr;
-        char                    nifname[IFNAMSIZ];
-        int                     optlen;
-        int                     unit = 0;
+        Atm_addr               subaddr;
+        char                   nifname[IFNAMSIZ];
+        socklen_t              optlen;
+        int                    unit = 0;
        u_char                  sig_proto;
 
         init_ilmi();
 
-       for ( unit = 0; unit < NUnits; unit++ ) {
+       for ( unit = 0; unit < NUnits; ++unit ) {
 
            /*
             * ILMI only makes sense for UNI signalling protocols
             */
            sig_proto = Intf[unit].anp_sig_proto;
            if ( sig_proto != ATM_SIG_UNI30 && sig_proto != ATM_SIG_UNI31 &&
-               sig_proto != ATM_SIG_UNI40 )
+                sig_proto != ATM_SIG_UNI40 )
                    continue;
 
                    if ( ilmi_fd[unit] == -1 ) {
@@ -1668,7 +1642,7 @@
                 sprintf ( nifname, "%s0", Intf[unit].anp_nif_pref );
                 optlen = sizeof ( nifname );
                 if ( setsockopt ( ilmi_fd[unit], T_ATM_SIGNALING,
-                   T_ATM_NET_INTF, (caddr_t)nifname, optlen ) < 0 ) {
+                   T_ATM_NET_INTF, (char *)nifname, optlen ) < 0 ) {
                                perror ( "setsockopt" );
                        if ( Log ) {
                            write_timestamp();
@@ -1688,7 +1662,7 @@
                 /*
                  * Set up destination SAP
                  */
-                bzero ( (caddr_t) &satm, sizeof(satm) );
+                bzero ( &satm, sizeof(satm) );
                 satm.satm_family = AF_ATM;
 #if (defined(BSD) && (BSD >= 199103))
                 satm.satm_len = sizeof(satm);
@@ -1719,7 +1693,7 @@
                 aal5.SSCS_type = T_ATM_NULL;
                 optlen = sizeof(aal5);
                 if ( setsockopt ( ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_AAL5,
-                (caddr_t) &aal5, optlen ) < 0 ) {
+                (char *) &aal5, optlen ) < 0 ) {
                     perror ( "setsockopt(aal5)" );
                    if ( Debug_Level > 1 && Log ) {
                        write_timestamp();
@@ -1747,7 +1721,7 @@
                 traffic.best_effort = T_YES;
                 optlen = sizeof(traffic);
                 if (setsockopt(ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_TRAFFIC,
-                        (caddr_t)&traffic, optlen) < 0) {
+                        &traffic, optlen) < 0) {
                     perror("setsockopt(traffic)");
                 }
                 bearer.bearer_class = T_ATM_CLASS_X;
@@ -1757,7 +1731,7 @@
                 bearer.connection_configuration = T_ATM_1_TO_1;
                 optlen = sizeof(bearer);
                 if (setsockopt(ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_BEARER_CAP,
-                        (caddr_t)&bearer, optlen) < 0) {
+                        &bearer, optlen) < 0) {
                     perror("setsockopt(bearer)");
                 }
 
@@ -1765,7 +1739,7 @@
                 qos.forward.qos_class = T_ATM_QOS_CLASS_0;
                 qos.backward.qos_class = T_ATM_QOS_CLASS_0;
                 optlen = sizeof(qos);
-                if (setsockopt(ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_QOS, 
(caddr_t)&qos,
+                if (setsockopt(ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_QOS, &qos,
                         optlen) < 0) {
                     perror("setsockopt(qos)");
                 }
@@ -1774,14 +1748,14 @@
                 subaddr.address_length = 0;
                 optlen = sizeof(subaddr);
                 if (setsockopt(ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_DEST_SUB,
-                        (caddr_t)&subaddr, optlen) < 0) {
+                        &subaddr, optlen) < 0) {
                     perror("setsockopt(dest_sub)");
                 }
 
                strncpy(appname.app_name, "ILMI", T_ATM_APP_NAME_LEN);
                optlen = sizeof(appname);
                if (setsockopt(ilmi_fd[unit], T_ATM_SIGNALING, T_ATM_APP_NAME,
-                       (caddr_t)&appname, optlen) < 0) {
+                       &appname, optlen) < 0) {
                    perror("setsockopt(appname)");
                }
 
@@ -1826,21 +1800,19 @@
  *     none
  *
  */
-void
-get_local_ip ( s, aval )
-       int     s;
-       long    *aval;
+static void
+get_local_ip ( int s, uint32_t *aval )
 {
        char                    intf_name[IFNAMSIZ];
-       int                     namelen = IFNAMSIZ;
+       socklen_t               namelen = IFNAMSIZ;
        struct air_netif_rsp    *net_info = NULL;
-       struct sockaddr_in      *sin;
+       struct sockaddr_in      *s_in;
 
        /*
         * Get physical interface name
         */
        if ( getsockopt ( s, T_ATM_SIGNALING, T_ATM_NET_INTF,
-           (caddr_t) intf_name, &namelen ) )
+                         intf_name, &namelen ) )
                return;
 
        /*
@@ -1850,12 +1822,12 @@
        if ( net_info == NULL )
                return;
 
-       sin = (struct sockaddr_in *)&net_info->anp_proto_addr;
+       s_in = (struct sockaddr_in *)&net_info->anp_proto_addr;
 
        /*
         * Fill in answer
         */
-       bcopy ( (caddr_t)&sin->sin_addr.s_addr, aval, 4 );
+       bcopy ( &s_in->sin_addr.s_addr, aval, sizeof(*aval) );
 
        free ( net_info );
 
@@ -1872,7 +1844,7 @@
  *
  * Arguments:
  *     oid     - objid from SET message
- *     hdr     - pointer to internal SNMP header
+ *     hdr     - pointer to internal SNMP header - unused
  *     buf     - pointer to SET buffer
  *     s       - socket to send messages on
  *
@@ -1880,17 +1852,16 @@
  *     none
  *
  */
-void
-set_prefix ( oid, hdr, intf )
-       Objid           *oid;
-       Snmp_Header     *hdr;
-       int             intf;
+static void
+set_prefix ( const Objid * const oid, const Snmp_Header * const hdr, const int intf )
 {
        struct atmsetreq        asr;
        Atm_addr                *aa;
        int                     fd;
        int                     i;
 
+       (void)hdr; /* to make the ansi compiler happy */
+
        /*
         * Build IOCTL request to set prefix
         */
@@ -1901,7 +1872,7 @@
         * Pull prefix out of received Objid
         *      save in set_prefix IOCTL and addressEntry table
         */
-       for ( i = 0; i < oid->oid[13]; i++ ) {
+       for ( i = 0; i < oid->oid[13]; ++i ) {
                asr.asr_prf_pref[i] = oid->oid[i + 14];
        }
 
@@ -1911,7 +1882,7 @@
        fd = socket ( AF_ATM, SOCK_DGRAM, 0 );
        if ( fd < 0 )
                return;
-       if ( ioctl ( fd, AIOCSET, (caddr_t)&asr ) < 0 ) {
+       if ( ioctl ( fd, AIOCSET, (char *)&asr ) < 0 ) {
                if ( errno != EALREADY ) {
                    syslog ( LOG_ERR, "ilmid: error setting prefix: %m" );
                    if ( Log ) {
@@ -1947,27 +1918,27 @@
 
 }
 
-void
-set_address ( hdr, intf )
-       Snmp_Header     *hdr;
-       int             intf;
+static void
+set_address ( const Snmp_Header * const hdr, const int intf )
 {
        Variable        *var;
        int             i, j;
 
+       (void)hdr; /* to make ansi compiler happy */
+
        PDU_Header = build_generic_header();
 
-       PDU_Header->head = (Variable *)malloc(sizeof(Variable));
+       PDU_Header->head = malloc(sizeof(*PDU_Header->head));
        if (PDU_Header->head == NULL) {
-               fprintf(stderr, "malloc() failed in %s()\n", __func__);
+               fprintf(stderr, "malloc() failed in %s() line %d\n", __func__, 
__LINE__);
                exit(1);
        }
-       bzero(PDU_Header->head, sizeof(Variable));
+       bzero(PDU_Header->head, sizeof(*PDU_Header->head));
 
        var = PDU_Header->head;
        /* Copy generic addressEntry OBJID */
-       bcopy ( (caddr_t)&Objids[ADDRESS_OBJID], (caddr_t)&var->oid,
-               sizeof(Objid) );
+       bcopy ( &Objids[ADDRESS_OBJID], &var->oid,
+               sizeof(var->oid) );
        /* Set specific instance */
        i = var->oid.oid[0] + 1;                /* Get length */
        var->oid.oid[i++] = 1;
@@ -2001,16 +1972,15 @@
  *      fname           striped filename
  *
  */
-char *
-basename ( path )
-        char *path;
+static char *
+basename ( const char *path )
 {
         char *fname;
 
-        if ( ( fname = (char *)strrchr ( path, '/' ) ) != NULL )
-                fname++;
+        if ( ( fname = strrchr ( path, '/' ) ) != NULL )
+                ++fname;
         else
-                fname = path;
+                fname = (char *)path;
 
         return ( fname );
 }
@@ -2027,10 +1997,10 @@
  *     none    - Debug_Level incremented
  *
  */
-void
-Increment_DL ( sig )
-       int     sig;
+static void
+Increment_DL ( int sig )
 {
+       (void)sig; /* make the ansi compiler happy */
        Debug_Level++;
        if ( Debug_Level && Log == (FILE *)NULL ) {
            if ( foregnd ) {
@@ -2061,10 +2031,10 @@
  *     none    - Debug_Level decremented
  *
  */
-void
-Decrement_DL ( sig )
-       int     sig;
+static void
+Decrement_DL ( int sig )
 {
+       (void)sig; /* make the ansi compiler happy */
        Debug_Level--;
        if ( Debug_Level <= 0 ) {
            Debug_Level = 0;
@@ -2084,10 +2054,8 @@
  * Loop through GET variable list looking for matches
  *
  */
-void
-process_get ( hdr, intf )
-       Snmp_Header     *hdr;
-       int             intf;
+static void
+process_get ( Snmp_Header * const hdr, const int intf )
 {
        Variable        *var;
        int             idx;
@@ -2098,9 +2066,9 @@
                switch ( idx ) {
                case SYS_OBJID:
                        var->type = ASN_OBJID;
-                       bcopy ( (caddr_t)&Objids[MY_OBJID],
-                           (caddr_t)&var->var.oval,
-                               sizeof(Objid) );
+                       bcopy ( &Objids[MY_OBJID],
+                               &var->var.oval,
+                               sizeof(var->var.oval) );
                        break;
                case UPTIME_OBJID:
                        var->type = ASN_TIMESTAMP;
@@ -2142,7 +2110,7 @@
                case IPNM_OBJID:
                        var->type = ASN_IPADDR;
                        get_local_ip ( ilmi_fd[intf],
-                           &var->var.ival );
+                           &var->var.aval );
                        break;
                case ADDRESS_OBJID:
                        break;
@@ -2152,9 +2120,9 @@
                        break;
                case ATMF_SYSID:
                        var->type = ASN_OCTET;
-                       var->var.sval[0] = 6;
-                       bcopy ( (caddr_t)&Cfg[intf].acp_macaddr,
-                           (caddr_t)&var->var.sval[1], 6 );
+                       var->var.sval[0] = sizeof(Cfg[intf].acp_macaddr);
+                       bcopy ( &Cfg[intf].acp_macaddr,
+                               &var->var.sval[1], sizeof(Cfg[intf].acp_macaddr) );
                        break;
                default:
                        /* NO_SUCH */
@@ -2172,12 +2140,12 @@
  *
  *
  */
-void
-ilmi_do_state ()
+static void
+ilmi_do_state (void)
 {
        struct timeval  tvp;
        fd_set          rfd;
-       u_char          buf[1024];
+       char            buf[1024];
        Variable        *var;
        int             intf;
        int             maxfd = 0;
@@ -2188,7 +2156,7 @@
        for ( ; ; ) {
            int         count;
            int         n;
-           caddr_t     bpp;
+           char        *bpp;
            Snmp_Header *Hdr;
 
            /*
@@ -2222,7 +2190,7 @@
                        /*
                         * Clear addressTable
                         */
-                       bzero ( (caddr_t)&addressEntry[intf], sizeof(Objid) );
+                       bzero ( &addressEntry[intf], sizeof(Objid) );
 
                        /*
                         * Start by sending a COLD_START trap. This should cause the
@@ -2252,16 +2220,16 @@
                         */
                        PDU_Header = build_generic_header();
 
-                       PDU_Header->head = (Variable *)malloc(sizeof(Variable));
+                       PDU_Header->head = malloc(sizeof(*PDU_Header->head));
                        if (PDU_Header->head == NULL) {
-                               fprintf(stderr, "malloc() failed in %s()\n", __func__);
+                               fprintf(stderr, "malloc() failed in %s() line %d\n", 
__func__, __LINE__);
                                exit(1);
                        }
-                       bzero(PDU_Header->head, sizeof(Variable));
+                       bzero(PDU_Header->head, sizeof(*PDU_Header->head));
 
                        var = PDU_Header->head;
-                       bcopy ( (caddr_t)&Objids[ADDRESS_OBJID], (caddr_t)&var->oid,
-                           sizeof(Objid) );
+                       bcopy ( &Objids[ADDRESS_OBJID], &var->oid,
+                           sizeof(var->oid) );
                        var->type = ASN_NULL;
                        var->next = NULL;
 
@@ -2296,7 +2264,7 @@
                 */
                if ( ilmi_fd[intf] > 0 && FD_ISSET ( ilmi_fd[intf], & rfd ) ) {
 
-                   n = read ( ilmi_fd[intf], (caddr_t)&buf[1], sizeof(buf) - 1 );
+                   n = read ( ilmi_fd[intf], &buf[1], sizeof(buf) - 1 );
                    if ( n == -1 && ( errno == ECONNRESET || errno == EBADF ) ) {
                        ilmi_state[intf] = ILMI_COLDSTART;
                        close ( ilmi_fd[intf] );
@@ -2305,9 +2273,9 @@
                        if ( Log && Debug_Level > 1 ) fprintf ( Log, "***** state %d 
***** read %d bytes from %d (%d) ***** %s *****\n",
                            ilmi_state[intf], n, intf, ilmi_fd[intf], 
PDU_Types[buf[14] - 0xA0] ); {
                                if ( Debug_Level > 2 )
-                                   hexdump ( (caddr_t)&buf[1], n );
+                                   hexdump ( &buf[1], n );
                        }
-                       bpp = (caddr_t)&buf[1];
+                       bpp = &buf[1];
                        if ( ( Hdr = asn_get_header ( &bpp ) ) == NULL )
                            continue;
 
@@ -2325,9 +2293,9 @@
                                 * Should be because the remote side is attempting
                                 * to verify that our table is empty
                                 */
-                               if ( oid_ncmp ( (caddr_t)&Hdr->head->oid,
-                                   (caddr_t)&Objids[ADDRESS_OBJID],
-                                       Objids[ADDRESS_OBJID].oid[0] ) == 0 ) {
+                               if ( oid_ncmp ( &Hdr->head->oid,
+                                               &Objids[ADDRESS_OBJID],
+                                               Objids[ADDRESS_OBJID].oid[0] ) == 0 ) {
                                        if ( addressEntry[intf].oid[0] ) {
                                            /* XXX - FIXME */
                                            /* Our table is not empty - return address 
*/
@@ -2381,12 +2349,12 @@
                                break;
                            case PDU_TYPE_SET:
                                /* Look for SET_PREFIX Objid */
-                               if ( oid_ncmp ( (caddr_t)&Hdr->head->oid,
-                                   (caddr_t)&Objids[SETPFX_OBJID],
-                                       Objids[SETPFX_OBJID].oid[0] ) == 0 ) {
+                               if ( oid_ncmp ( &Hdr->head->oid,
+                                               &Objids[SETPFX_OBJID],
+                                               Objids[SETPFX_OBJID].oid[0] ) == 0 ) {
                                            set_prefix ( &Hdr->head->oid, Hdr, intf );
                                            /* Reply to SET before sending our ADDRESS 
*/
-                                           build_pdu(Hdr, PDU_TYPE_GETRESP);
+                                           build_pdu( Hdr, PDU_TYPE_GETRESP );
                                            send_resp( intf, Hdr, Resp_Buf );
                                            set_address ( Hdr, intf );
                                } else {
@@ -2422,9 +2390,9 @@
                                break;
                            case PDU_TYPE_SET:
                                /* Look for SET_PREFIX Objid */
-                               if ( oid_ncmp ( (caddr_t)&Hdr->head->oid,
-                                   (caddr_t)&Objids[SETPFX_OBJID],
-                                       Objids[SETPFX_OBJID].oid[0] ) == 0 ) {
+                               if ( oid_ncmp ( &Hdr->head->oid,
+                                               &Objids[SETPFX_OBJID],
+                                               Objids[SETPFX_OBJID].oid[0] ) == 0 ) {
                                            set_prefix ( &Hdr->head->oid, Hdr, intf );
                                            /* Reply to SET before sending our ADDRESS 
*/
                                            build_pdu(Hdr, PDU_TYPE_GETRESP);
@@ -2453,9 +2421,7 @@
 }
 
 int
-main ( argc, argv )
-       int     argc;
-       char    *argv[];
+main ( int argc, char *argv[] )
 {
        int     c;
        int     i;
@@ -2507,7 +2473,7 @@
                if ( daemon ( 0, 0 ) )
                        err ( 1, "Can't fork" );
        } else
-               ; /* setbuf ( stdout, NULL ); */
+               (void)0; /* setbuf ( stdout, NULL ); */
 
        signal ( SIGUSR1, Increment_DL );
        signal ( SIGUSR2, Decrement_DL );

Reply via email to