Skip to content

Functions printf() and strformat() fail when printing "%%" #641

Open
@Daniel-Cortez

Description

@Daniel-Cortez

Issue description:

(The bug described in this issue belongs to the interpreter from this repository (pawnruns), not SA-MP; also, if I understand it correctly, open.mp is also going to use the implementations of format() and printf() from this repo, so I believe this bug report belongs here.)

Printing the percent sign through format specifier %% causes a runtime error.

Minimal complete verifiable example (MCVE):

#include <console>
main()
{
    printf("100%%\n");
}

Output:

100%
Run time error 10: "Native function failed"

Printing % through the %c specifier doesn't cause any errors though:

printf("100%c\n", '%');
100%

Discovered this bug while doing one of the tests for #640.

Workspace Information:

  • Compiler version:
  • Command line arguments provided (or sampctl version):
  • Operating System:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions