di_size is u_int64_t in both struct ufs1_dinode and ufs2_dinode, and
strlen returns size_t.  Adjust link_len and len declarations to match
and drop now-redundant unsigned cost from bcopy.

Index: sys/lib/libsa/ufs.c
===================================================================
RCS file: /work/cvsroot/src/sys/lib/libsa/ufs.c,v
retrieving revision 1.24
diff -p -u -r1.24 ufs.c
--- sys/lib/libsa/ufs.c 22 Jul 2014 18:03:03 -0000      1.24
+++ sys/lib/libsa/ufs.c 22 Jul 2014 19:22:47 -0000
@@ -465,8 +465,8 @@ ufs_open(char *path, struct open_file *f
                 * Check for symbolic link.
                 */
                if ((fp->f_di.di_mode & IFMT) == IFLNK) {
-                       int link_len = fp->f_di.di_size;
-                       int len;
+                       u_int64_t link_len = fp->f_di.di_size;
+                       size_t len;
 
                        len = strlen(cp);
 
@@ -479,8 +479,7 @@ ufs_open(char *path, struct open_file *f
                        bcopy(cp, &namebuf[link_len], len + 1);
 
                        if (link_len < fs->fs_maxsymlinklen) {
-                               bcopy(fp->f_di.di_shortlink, namebuf,
-                                   (unsigned) link_len);
+                               bcopy(fp->f_di.di_shortlink, namebuf, link_len);
                        } else {
                                /*
                                 * Read file for symbolic link
@@ -502,7 +501,7 @@ ufs_open(char *path, struct open_file *f
                                if (rc)
                                        goto out;
 
-                               bcopy(buf, namebuf, (unsigned)link_len);
+                               bcopy(buf, namebuf, link_len);
                        }
 
                        /*
Index: sys/lib/libsa/ufs2.c
===================================================================
RCS file: /work/cvsroot/src/sys/lib/libsa/ufs2.c,v
retrieving revision 1.4
diff -p -u -r1.4 ufs2.c
--- sys/lib/libsa/ufs2.c        22 Jul 2014 18:03:03 -0000      1.4
+++ sys/lib/libsa/ufs2.c        22 Jul 2014 19:24:21 -0000
@@ -461,8 +461,8 @@ ufs2_open(char *path, struct open_file *
                 * Check for symbolic link.
                 */
                if ((fp->f_di.di_mode & IFMT) == IFLNK) {
-                       int link_len = fp->f_di.di_size;
-                       int len;
+                       u_int64_t link_len = fp->f_di.di_size;
+                       size_t len;
 
                        len = strlen(cp);
 
@@ -475,8 +475,7 @@ ufs2_open(char *path, struct open_file *
                        bcopy(cp, &namebuf[link_len], len + 1);
 
                        if (link_len < fs->fs_maxsymlinklen) {
-                               bcopy(fp->f_di.di_shortlink, namebuf,
-                                   (unsigned) link_len);
+                               bcopy(fp->f_di.di_shortlink, namebuf, link_len);
                        } else {
                                /*
                                 * Read file for symbolic link
@@ -498,7 +497,7 @@ ufs2_open(char *path, struct open_file *
                                if (rc)
                                        goto out;
 
-                               bcopy(buf, namebuf, (unsigned)link_len);
+                               bcopy(buf, namebuf, link_len);
                        }
 
                        /*


On Tue, Jul 22, 2014 at 02:16:26PM -0500, Kent R. Spillner wrote:
> Simplify if-conditions by removing explicit != 0.
> 
> Index: sys/lib/libsa/ufs.c
> ===================================================================
> RCS file: /work/cvsroot/src/sys/lib/libsa/ufs.c,v
> retrieving revision 1.24
> diff -p -u -r1.24 ufs.c
> --- sys/lib/libsa/ufs.c       22 Jul 2014 18:03:03 -0000      1.24
> +++ sys/lib/libsa/ufs.c       22 Jul 2014 19:12:22 -0000
> @@ -405,7 +405,7 @@ ufs_open(char *path, struct open_file *f
>       }
>  
>       inumber = ROOTINO;
> -     if ((rc = read_inode(inumber, f)) != 0)
> +     if ((rc = read_inode(inumber, f)))
>               goto out;
>  
>       cp = path;
> @@ -458,7 +458,7 @@ ufs_open(char *path, struct open_file *f
>               /*
>                * Open next component.
>                */
> -             if ((rc = read_inode(inumber, f)) != 0)
> +             if ((rc = read_inode(inumber, f)))
>                       goto out;
>  
>               /*
> @@ -515,7 +515,7 @@ ufs_open(char *path, struct open_file *f
>                       else
>                               inumber = ROOTINO;
>  
> -                     if ((rc = read_inode(inumber, f)) != 0)
> +                     if ((rc = read_inode(inumber, f)))
>                               goto out;
>               }
>       }
> @@ -660,7 +660,7 @@ ufs_readdir(struct open_file *f, char *n
>               }
>  
>               do {
> -                     if ((rc = buf_read_file(f, &buf, &buf_size)) != 0)
> +                     if ((rc = buf_read_file(f, &buf, &buf_size)))
>                               return rc;
>  
>                       dp = (struct direct *)buf;
> Index: sys/lib/libsa/ufs2.c
> ===================================================================
> RCS file: /work/cvsroot/src/sys/lib/libsa/ufs2.c,v
> retrieving revision 1.4
> diff -p -u -r1.4 ufs2.c
> --- sys/lib/libsa/ufs2.c      22 Jul 2014 18:03:03 -0000      1.4
> +++ sys/lib/libsa/ufs2.c      22 Jul 2014 19:12:45 -0000
> @@ -401,7 +401,7 @@ ufs2_open(char *path, struct open_file *
>       }
>  
>       inumber = ROOTINO;
> -     if ((rc = read_inode(inumber, f)) != 0)
> +     if ((rc = read_inode(inumber, f)))
>               goto out;
>  
>       cp = path;
> @@ -454,7 +454,7 @@ ufs2_open(char *path, struct open_file *
>               /*
>                * Open next component.
>                */
> -             if ((rc = read_inode(inumber, f)) != 0)
> +             if ((rc = read_inode(inumber, f)))
>                       goto out;
>  
>               /*
> @@ -511,7 +511,7 @@ ufs2_open(char *path, struct open_file *
>                       else
>                               inumber = ROOTINO;
>  
> -                     if ((rc = read_inode(inumber, f)) != 0)
> +                     if ((rc = read_inode(inumber, f)))
>                               goto out;
>               }
>       }
> @@ -656,7 +656,7 @@ ufs2_readdir(struct open_file *f, char *
>               }
>  
>               do {
> -                     if ((rc = buf_read_file(f, &buf, &buf_size)) != 0)
> +                     if ((rc = buf_read_file(f, &buf, &buf_size)))
>                               return rc;
>  
>                       dp = (struct direct *)buf;
> 
> 
> On Tue, Jul 22, 2014 at 01:01:05PM -0500, Kent R. Spillner wrote:
> > Next, use NULL instead of casting 0 to pointer types.
> > 
> > Index: sys/lib/libsa/ufs.c
> > ===================================================================
> > RCS file: /work/cvsroot/src/sys/lib/libsa/ufs.c,v
> > retrieving revision 1.22
> > diff -p -u -r1.22 ufs.c
> > --- sys/lib/libsa/ufs.c     30 May 2013 19:19:09 -0000      1.22
> > +++ sys/lib/libsa/ufs.c     22 Jul 2014 17:43:12 -0000
> > @@ -221,7 +221,7 @@ block_map(struct open_file *f, daddr32_t
> >             }
> >  
> >             if (fp->f_blkno[level] != ind_block_num) {
> > -                   if (fp->f_blk[level] == (char *)0)
> > +                   if (fp->f_blk[level] == NULL)
> >                             fp->f_blk[level] =
> >                                 alloc(fs->fs_bsize);
> >                     twiddle();
> > @@ -273,7 +273,7 @@ buf_read_file(struct open_file *f, char 
> >             if (rc)
> >                     return (rc);
> >  
> > -           if (fp->f_buf == (char *)0)
> > +           if (fp->f_buf == NULL)
> >                     fp->f_buf = alloc(fs->fs_bsize);
> >  
> >             if (disk_block == 0) {
> > @@ -538,8 +538,8 @@ ufs_close(struct open_file *f)
> >  {
> >     struct file *fp = (struct file *)f->f_fsdata;
> >  
> > -   f->f_fsdata = (void *)0;
> > -   if (fp == (struct file *)0)
> > +   f->f_fsdata = NULL;
> > +   if (fp == NULL)
> >             return (0);
> >  
> >     return (ufs_close_internal(fp));
> > Index: sys/lib/libsa/ufs2.c
> > ===================================================================
> > RCS file: /work/cvsroot/src/sys/lib/libsa/ufs2.c,v
> > retrieving revision 1.2
> > diff -p -u -r1.2 ufs2.c
> > --- sys/lib/libsa/ufs2.c    29 Apr 2014 07:52:06 -0000      1.2
> > +++ sys/lib/libsa/ufs2.c    22 Jul 2014 17:45:58 -0000
> > @@ -217,7 +217,7 @@ block_map(struct open_file *f, daddr_t f
> >             }
> >  
> >             if (fp->f_blkno[level] != ind_block_num) {
> > -                   if (fp->f_blk[level] == (char *)0)
> > +                   if (fp->f_blk[level] == NULL)
> >                             fp->f_blk[level] =
> >                                 alloc(fs->fs_bsize);
> >                     twiddle();
> > @@ -269,7 +269,7 @@ buf_read_file(struct open_file *f, char 
> >             if (rc)
> >                     return (rc);
> >  
> > -           if (fp->f_buf == (char *)0)
> > +           if (fp->f_buf == NULL)
> >                     fp->f_buf = alloc(fs->fs_bsize);
> >  
> >             if (disk_block == 0) {
> > @@ -534,8 +534,8 @@ ufs2_close(struct open_file *f)
> >  {
> >     struct file *fp = (struct file *)f->f_fsdata;
> >  
> > -   f->f_fsdata = (void *)0;
> > -   if (fp == (struct file *)0)
> > +   f->f_fsdata = NULL;
> > +   if (fp == NULL)
> >             return (0);
> >  
> >     return (ufs2_close_internal(fp));
> > 
> > 
> > On Tue, Jul 22, 2014 at 09:54:03AM -0500, Kent R. Spillner wrote:
> > > Sorry, let me split this into smaller diffs to ease review.
> > > 
> > > First up, the diff below removes a redundant cast: buf is declared a
> > > char * so there's no need to cast it to a char *.  I noticed the same
> > > issue in ufs.c, too, so fix it in both places.
> > > 
> > > Index: ufs.c
> > > ===================================================================
> > > RCS file: /work/cvsroot/src/sys/lib/libsa/ufs.c,v
> > > retrieving revision 1.22
> > > diff -p -u -r1.22 ufs.c
> > > --- ufs.c 30 May 2013 19:19:09 -0000      1.22
> > > +++ ufs.c 21 Jul 2014 22:30:32 -0000
> > > @@ -502,7 +502,7 @@ ufs_open(char *path, struct open_file *f
> > >                           if (rc)
> > >                                   goto out;
> > >  
> > > -                         bcopy((char *)buf, namebuf, (unsigned)link_len);
> > > +                         bcopy(buf, namebuf, (unsigned)link_len);
> > >                   }
> > >  
> > >                   /*
> > > Index: ufs2.c
> > > ===================================================================
> > > RCS file: /work/cvsroot/src/sys/lib/libsa/ufs2.c,v
> > > retrieving revision 1.2
> > > diff -p -u -r1.2 ufs2.c
> > > --- ufs2.c        29 Apr 2014 07:52:06 -0000      1.2
> > > +++ ufs2.c        21 Jul 2014 22:30:48 -0000
> > > @@ -498,7 +498,7 @@ ufs2_open(char *path, struct open_file *
> > >                           if (rc)
> > >                                   goto out;
> > >  
> > > -                         bcopy((char *)buf, namebuf, (unsigned)link_len);
> > > +                         bcopy(buf, namebuf, (unsigned)link_len);
> > >                   }
> > >  
> > >                   /*
> > > 
> > > 
> > > 
> > > On Wed, Jul 16, 2014 at 05:55:55PM -0500, Kent R. Spillner wrote:
> > > > *Bump*
> > > > 
> > > > > On Jul 10, 2014, at 12:33, "Kent R. Spillner" <kspill...@acm.org> 
> > > > > wrote:
> > > > > 
> > > > > Ping.
> > > > > 
> > > > >> On Thu, May 01, 2014 at 01:22:56PM -0500, Kent R. Spillner wrote:
> > > > >> After sending my previous reply I noticed that you already committed
> > > > >> your diff, so here are my comments again in the form of a proper 
> > > > >> diff:
> > > > >> 
> > > > >> * Use NULL instead of casting 0 to pointer types
> > > > >> 
> > > > >> * Remove unnecessary (char *) cast on buf because buf was already
> > > > >>  declared as char *
> > > > >> 
> > > > >> * Simplify "if ((rc = ...) != 0)" idiom to equivalent "if ((rc = 
> > > > >> ...))"
> > > > >> 
> > > > >> 
> > > > >> Index: sys/lib/libsa/ufs2.c
> > > > >> ===================================================================
> > > > >> RCS file: /work/cvsroot/src/sys/lib/libsa/ufs2.c,v
> > > > >> retrieving revision 1.2
> > > > >> diff -p -u -r1.2 ufs2.c
> > > > >> --- sys/lib/libsa/ufs2.c    29 Apr 2014 07:52:06 -0000    1.2
> > > > >> +++ sys/lib/libsa/ufs2.c    1 May 2014 16:54:25 -0000
> > > > >> @@ -217,7 +217,7 @@ block_map(struct open_file *f, daddr_t f
> > > > >>        }
> > > > >> 
> > > > >>        if (fp->f_blkno[level] != ind_block_num) {
> > > > >> -            if (fp->f_blk[level] == (char *)0)
> > > > >> +            if (fp->f_blk[level] == NULL)
> > > > >>                fp->f_blk[level] =
> > > > >>                    alloc(fs->fs_bsize);
> > > > >>            twiddle();
> > > > >> @@ -269,7 +269,7 @@ buf_read_file(struct open_file *f, char 
> > > > >>        if (rc)
> > > > >>            return (rc);
> > > > >> 
> > > > >> -        if (fp->f_buf == (char *)0)
> > > > >> +        if (fp->f_buf == NULL)
> > > > >>            fp->f_buf = alloc(fs->fs_bsize);
> > > > >> 
> > > > >>        if (disk_block == 0) {
> > > > >> @@ -401,7 +401,7 @@ ufs2_open(char *path, struct open_file *
> > > > >>    }
> > > > >> 
> > > > >>    inumber = ROOTINO;
> > > > >> -    if ((rc = read_inode(inumber, f)) != 0)
> > > > >> +    if ((rc = read_inode(inumber, f)))
> > > > >>        goto out;
> > > > >> 
> > > > >>    cp = path;
> > > > >> @@ -454,7 +454,7 @@ ufs2_open(char *path, struct open_file *
> > > > >>        /*
> > > > >>         * Open next component.
> > > > >>         */
> > > > >> -        if ((rc = read_inode(inumber, f)) != 0)
> > > > >> +        if ((rc = read_inode(inumber, f)))
> > > > >>            goto out;
> > > > >> 
> > > > >>        /*
> > > > >> @@ -498,7 +498,7 @@ ufs2_open(char *path, struct open_file *
> > > > >>                if (rc)
> > > > >>                    goto out;
> > > > >> 
> > > > >> -                bcopy((char *)buf, namebuf, (unsigned)link_len);
> > > > >> +                bcopy(buf, namebuf, (unsigned)link_len);
> > > > >>            }
> > > > >> 
> > > > >>            /*
> > > > >> @@ -511,7 +511,7 @@ ufs2_open(char *path, struct open_file *
> > > > >>            else
> > > > >>                inumber = ROOTINO;
> > > > >> 
> > > > >> -            if ((rc = read_inode(inumber, f)) != 0)
> > > > >> +            if ((rc = read_inode(inumber, f)))
> > > > >>                goto out;
> > > > >>        }
> > > > >>    }
> > > > >> @@ -534,8 +534,8 @@ ufs2_close(struct open_file *f)
> > > > >> {
> > > > >>    struct file *fp = (struct file *)f->f_fsdata;
> > > > >> 
> > > > >> -    f->f_fsdata = (void *)0;
> > > > >> -    if (fp == (struct file *)0)
> > > > >> +    f->f_fsdata = NULL;
> > > > >> +    if (fp == NULL)
> > > > >>        return (0);
> > > > >> 
> > > > >>    return (ufs2_close_internal(fp));
> > > > >> @@ -656,7 +656,7 @@ ufs2_readdir(struct open_file *f, char *
> > > > >>        }
> > > > >> 
> > > > >>        do {
> > > > >> -            if ((rc = buf_read_file(f, &buf, &buf_size)) != 0)
> > > > >> +            if ((rc = buf_read_file(f, &buf, &buf_size)))
> > > > >>                return rc;
> > > > >> 
> > > > >>            dp = (struct direct *)buf;
> > > > > 
> > > > 
> > > 
> > 
> 

Reply via email to