notepad-plus-plus / notepad-plus-plus/notepad-plus-plus

Certain combinations can't be found using extended HEX find (\x...)

Open
#4,659 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
29.4k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Description of the Issue

Using extended find (\x...)
Can't find SI following a NUL (\x00\x0F).
Can't find NUL following a NUL (\x00\x00).
Can't find \x84, but can find \x81.
Certain to be many others too.

Steps to Reproduce the Issue
  1. Encoding ANSI
  2. Convert the string "00000F8481" to ASCII
  3. Find using extended:
    \x00 Found both occurrences
    \x0F Found
    \x84 Not Found
    \x81 Found
    \x00\x0F Not Found
    \x00\x00 Not Found
Expected Behavior

Found

Actual Behavior

Not found

Debug Information

Notepad++ v7.5.7 (64-bit)
Build time : Jun 29 2018 - 00:53:58
Path : C:\Program Files\Notepad++\notepad++.exe
Admin mode : OFF
Local Conf mode : OFF
OS : Windows 8.1 (64-bit)
Plugins : DSpellCheck.dll mimeTools.dll NppConverter.dll

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported cases in Notepad++ v7.5.7 using ANSI encoding, ASCII conversion, and extended find with the supplied byte sequences. No source file or test is named; done means the previously failing sequences, including \x84, \x00\x0F, and \x00\x00, are found as expected and covered by verification.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop-dev, search
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.