Barney Wolff wrote:
This is an example of what I was pointing out:

On Sun, Mar 02, 2003 at 01:53:33AM +0100, Jens Rehsack wrote:
 ...

@@ -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] );

...


Here's a case where it matters whether something is u_char or char.
write(2) takes a size_t as its third arg, and extension of a char to
that may not be the same as for u_char, for example on Sparc.  If the
response is ever >127 bytes, this will fail.  You're going to have to
look carefully at how things are used to see when char is appropriate
and when u_char is necessary.


That is really right, but for those check I have to know more 'bout ATM, right? I just have detected some compiler errors using -finline-functions (yes, I'm playing with optimization options :-)). If you know a real good online-reference, one fine day I'll check it and check the entire ilmid.c code for valid signment.


Jens


To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message

Reply via email to