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

Handle hex escapes and other variable length escape sequences #4

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

levinalex
Copy link

@levinalex levinalex commented Oct 11, 2018

HL7v2 messages can contain variable-length hex escapes, which are encoded as \....\ like for example in the form of Hex-Escapes (\Xabdce12\) This extends message parsing so these escape sequences are forwarded into the parsed message unchanged.

In current master, the code assumes that all escape sequences are fixed-length, which e.g. parses things like Foo\X1234\ as Foo\X1234 (eating the trailing escape character in the process)

This MR silently fixes cases where escape sequences are unterminated by inserting a trailing escape character at the end when required. Not sure this is better than returning an error in that case.

Fixes parsing of HL7 Hex-Escape sequences (\X....\) and other variable-length escape sequences that are not handled by the parser code.

This will break with an array overflow in case escape sequences are not paired correctly.
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.

2 participants