allow user to provide regex object storage#58
Open
marler8997 wants to merge 2 commits intokokke:masterfrom
Open
allow user to provide regex object storage#58marler8997 wants to merge 2 commits intokokke:masterfrom
marler8997 wants to merge 2 commits intokokke:masterfrom
Conversation
I've added a new function re_compile_to that takes a pointer to an array of objects and characters. This allows a user to specify their own storage for their regex objects. This way a user can compile multiple regex objects and keep them around if they so choose. At the same time this also means that the user will need to know the value of MAX_REGEXP_OBJECTS and MAX_CHAR_CLASSLEN, so I made those configurable by putting them inside their own "#ifdef"s. This way a user can customize them with -DMAX_REGEXP_OBJECTS=XXX and -DMAX_CHAR_CLASS_LEN=YYY.
This was referenced Mar 5, 2021
Author
|
shoot I just realized this won't work because the user doesn't have access to the definition of EDIT: I added a 2nd commit to make this work by moving the definition of |
If the user is to provide their own storage for regex_t, they need to know it's size.
Author
|
I've added a 2nd commit that moves the definition of |
Author
|
If this is accepted, one more addition I would suggest is a way to query the size of a compiled regex. This way, one could compile a regex, then afterward check how many objects and characters is is using, then allocate the exact storage required and re-compile them into the new storage location. |
|
good |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I've added a new function
re_compile_tothat takes a pointer to an array of objects and characters. This allows a user to specify their own storage for their regex objects. This way a user can compile multiple regex objects and keep them around if they so choose. At the same time this also means that the user will need to know the value ofMAX_REGEXP_OBJECTSandMAX_CHAR_CLASSLEN, so I made those configurable by putting them inside their own#ifdefs. This way a user can customize them with-DMAX_REGEXP_OBJECTS=XXXand-DMAX_CHAR_CLASS_LEN=YYY.Note that if #62 is accepted, this we won't need to expose the
regex_tstruct inre.h. So maybe we should decide on #62 first?