Skip to content

Conversation

@mauke
Copy link
Contributor

@mauke mauke commented Mar 18, 2025

As a follow-up to commit 71d1d45, turn more trivial format strings (i.e. "%s" followed by a string literal) into just that string literal.

  • dump.c: String literals are more efficiently appended using sv_catpvs; C strings using sv_patv. No need to invoke the entire sv_catpvf machinery to parse a static "format string" of length 1.
  • malloc.c: Disentangle some warning messages and make them properly match their (previously orphaned) perldiag entries again.
  • os2/perlrexx.c: Turn sprintf(x, "...") into strcpy(x, "...").

  • This set of changes does not require a perldelta entry.

mauke added 2 commits March 18, 2025 11:10
As a follow-up to commit 71d1d45, turn more trivial format strings
(i.e. "%s" followed by a string literal) into just that string literal.

- dump.c: String literals are more efficiently appended using sv_catpvs;
  C strings using sv_patv. No need to invoke the entire sv_catpvf
  machinery to parse a static "format string" of length 1.
- malloc.c: Disentangle some warning messages and make them properly
  match their (previously orphaned) perldiag entries again.
- os2/perlrexx.c: Turn sprintf(x, "...") into strcpy(x, "...").
Before:

    malloc.c: In function ‘getpages’:
    malloc.c:273:34: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      273 | #    define fatalcroak(mess)    (write(2, (mess), strlen(mess)), exit(2))
          |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    malloc.c:1546:21: note: in expansion of macro ‘fatalcroak’
     1546 |                     fatalcroak("panic: Off-page sbrk\n");
          |                     ^~~~~~~~~~
    malloc.c:273:34: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      273 | #    define fatalcroak(mess)    (write(2, (mess), strlen(mess)), exit(2))
          |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    malloc.c:1585:13: note: in expansion of macro ‘fatalcroak’
     1585 |             fatalcroak("Misalignment of sbrk()\n");
          |             ^~~~~~~~~~
    gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c99 -O2 -Wall -Werror=pointer-arith -Werror=vla -Wextra -Wno-long-long -Wno-declaration-after-statement -Wc++-compat -Wwrite-strings -Wno-use-after-free universal.c

(The "make depend" comment was overlooked in commit b9e5552.)
@mauke mauke merged commit 648bc88 into Perl:blead Mar 18, 2025
34 checks passed
@mauke mauke deleted the eliminate-more-dummy-fmt-strings branch March 18, 2025 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants