Message ID | 85f43472-5341-b979-3c7b-7e49a6ba0ce4@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | xfs_quota: drop pointless qsort cmp casting | expand |
On Tue, Feb 02, 2021 at 01:08:31PM -0600, Eric Sandeen wrote: > The function cast in this call to qsort is odd - we don't do it > anywhere else, and it doesn't gain us anything or help in any > way. > > So remove it; since we are now passing void *p pointers in, locally > use du_t *d pointers to refer to the du_t's in the compare function. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> Looks simple enough, Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > > diff --git a/quota/quot.c b/quota/quot.c > index 8544aef6..9e8086c4 100644 > --- a/quota/quot.c > +++ b/quota/quot.c > @@ -173,16 +173,19 @@ quot_bulkstat_mount( > > static int > qcompare( > - du_t *p1, > - du_t *p2) > + const void *p1, > + const void *p2) > { > - if (p1->blocks > p2->blocks) > + du_t *d1 = (struct du *)p1; > + du_t *d2 = (struct du *)p2; > + > + if (d1->blocks > d2->blocks) > return -1; > - if (p1->blocks < p2->blocks) > + if (d1->blocks < d2->blocks) > return 1; > - if (p1->id > p2->id) > + if (d1->id > d2->id) > return 1; > - else if (p1->id < p2->id) > + else if (d1->id < d2->id) > return -1; > return 0; > } > @@ -204,8 +207,7 @@ quot_report_mount_any_type( > > fprintf(fp, _("%s (%s) %s:\n"), > mount->fs_name, mount->fs_dir, type_to_string(type)); > - qsort(dp, count, sizeof(dp[0]), > - (int (*)(const void *, const void *))qcompare); > + qsort(dp, count, sizeof(dp[0]), qcompare); > for (; dp < &dp[count]; dp++) { > if (dp->blocks == 0) > return; >
On Tue, Feb 02, 2021 at 01:08:31PM -0600, Eric Sandeen wrote: > - du_t *p2) > + const void *p1, > + const void *p2) > { > - if (p1->blocks > p2->blocks) > + du_t *d1 = (struct du *)p1; > + du_t *d2 = (struct du *)p2; Do we even need the casts here? Shouldn't this be something like: const struct du *d1 = p1; const struct du *d2 = p2;
diff --git a/quota/quot.c b/quota/quot.c index 8544aef6..9e8086c4 100644 --- a/quota/quot.c +++ b/quota/quot.c @@ -173,16 +173,19 @@ quot_bulkstat_mount( static int qcompare( - du_t *p1, - du_t *p2) + const void *p1, + const void *p2) { - if (p1->blocks > p2->blocks) + du_t *d1 = (struct du *)p1; + du_t *d2 = (struct du *)p2; + + if (d1->blocks > d2->blocks) return -1; - if (p1->blocks < p2->blocks) + if (d1->blocks < d2->blocks) return 1; - if (p1->id > p2->id) + if (d1->id > d2->id) return 1; - else if (p1->id < p2->id) + else if (d1->id < d2->id) return -1; return 0; } @@ -204,8 +207,7 @@ quot_report_mount_any_type( fprintf(fp, _("%s (%s) %s:\n"), mount->fs_name, mount->fs_dir, type_to_string(type)); - qsort(dp, count, sizeof(dp[0]), - (int (*)(const void *, const void *))qcompare); + qsort(dp, count, sizeof(dp[0]), qcompare); for (; dp < &dp[count]; dp++) { if (dp->blocks == 0) return;
The function cast in this call to qsort is odd - we don't do it anywhere else, and it doesn't gain us anything or help in any way. So remove it; since we are now passing void *p pointers in, locally use du_t *d pointers to refer to the du_t's in the compare function. Signed-off-by: Eric Sandeen <sandeen@redhat.com> ---