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" <[email protected]>
> > > > > 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;
> > > > >
> > > >
> > >
> >
>