Skip to content

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
@briandfoy briandfoy added Status: released there is a new release with this fix and removed Status: accepted The fix is accepted labels Feb 6, 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: released there is a new release with this fix Type: bug an existing feature does not work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants