Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wc: inconsistent byte counts #918

Merged
merged 1 commit into from
Jan 17, 2025
Merged

wc: inconsistent byte counts #918

merged 1 commit into from
Jan 17, 2025

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Jan 16, 2025

  • The byte count reported by wc was different depending on whether the -w option is set (-w is set by default)
  • The the code for $opt_w was modifying the line string to calculate a word count before the code for the other options is able to inspect the line
  • This patch makes the code $opt_w modify its own copy of the line
%stat aaa.c # stat shows the correct size too
  File: aaa.c
  Size: 470       	Blocks: 8          IO Block: 4096   regular file
Device: b302h/45826d	Inode: 1034312     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      pi)   Gid: ( 1000/      pi)
Access: 2024-11-18 12:56:23.329998345 +0800
Modify: 2024-11-18 12:56:23.329998345 +0800
Change: 2024-11-18 12:56:23.329998345 +0800
 Birth: 2024-11-18 12:56:23.329998345 +0800
%perl wc  aaa.c # -w enabled by default
        30        66       454 aaa.c
%perl wc -c  aaa.c # -w disabled
       470 aaa.c

* The byte count reported by wc was different depending on whether the -w option is set (-w is set by default)
* The the code for $opt_w was modifying the line string to calculate a word count before the code for the other options is able to inspect the line
* This patch makes the code $opt_w modify its own copy of the line

%stat aaa.c
  File: aaa.c
  Size: 470       	Blocks: 8          IO Block: 4096   regular file
Device: b302h/45826d	Inode: 1034312     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/      pi)   Gid: ( 1000/      pi)
Access: 2024-11-18 12:56:23.329998345 +0800
Modify: 2024-11-18 12:56:23.329998345 +0800
Change: 2024-11-18 12:56:23.329998345 +0800
 Birth: 2024-11-18 12:56:23.329998345 +0800
%perl wc  aaa.c
        30        66       454 aaa.c
%perl wc -c  aaa.c
       470 aaa.c
@github-actions github-actions bot added Type: enhancement improve a feature that already exists Priority: low get to this whenever Program: wc The wc command labels Jan 16, 2025
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:18 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing January 16, 2025 11:19 — with GitHub Actions Inactive
@coveralls
Copy link

Pull Request Test Coverage Report for Build 12807755627

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.7%) to 73.389%

Totals Coverage Status
Change from base Build 12683001290: -0.7%
Covered Lines: 353
Relevant Lines: 481

💛 - Coveralls

1 similar comment
@coveralls
Copy link

coveralls commented Jan 16, 2025

Pull Request Test Coverage Report for Build 12807755627

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.7%) to 73.389%

Totals Coverage Status
Change from base Build 12683001290: -0.7%
Covered Lines: 353
Relevant Lines: 481

💛 - Coveralls

@briandfoy briandfoy added Type: bug an existing feature does not work and removed Type: enhancement improve a feature that already exists labels Jan 17, 2025
@briandfoy briandfoy self-assigned this Jan 17, 2025
@briandfoy briandfoy merged commit a67d122 into briandfoy:master Jan 17, 2025
21 of 23 checks passed
@briandfoy briandfoy added Status: accepted The fix is accepted and removed Priority: low get to this whenever labels Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Program: wc The wc command Status: accepted The fix is accepted Type: bug an existing feature does not work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants