summaryrefslogtreecommitdiff
path: root/prism/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'prism/options.c')
-rw-r--r--prism/options.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/prism/options.c b/prism/options.c
index 4d0d6dbc49..2ab2f260fd 100644
--- a/prism/options.c
+++ b/prism/options.c
@@ -17,6 +17,14 @@ pm_options_encoding_set(pm_options_t *options, const char *encoding) {
}
/**
+ * Set the encoding_locked option on the given options struct.
+ */
+PRISM_EXPORTED_FUNCTION void
+pm_options_encoding_locked_set(pm_options_t *options, bool encoding_locked) {
+ options->encoding_locked = encoding_locked;
+}
+
+/**
* Set the line option on the given options struct.
*/
PRISM_EXPORTED_FUNCTION void
@@ -58,8 +66,8 @@ pm_options_version_set(pm_options_t *options, const char *version, size_t length
case 5:
assert(version != NULL);
- if (strncmp(version, "3.3.0", length) == 0) {
- options->version = PM_OPTIONS_VERSION_CRUBY_3_3_0;
+ if ((strncmp(version, "3.3.0", length) == 0) || (strncmp(version, "3.3.1", length) == 0)) {
+ options->version = PM_OPTIONS_VERSION_CRUBY_3_3;
return true;
}
@@ -215,6 +223,7 @@ pm_options_read(pm_options_t *options, const char *data) {
options->frozen_string_literal = (int8_t) *data++;
options->command_line = (uint8_t) *data++;
options->version = (pm_options_version_t) *data++;
+ options->encoding_locked = ((uint8_t) *data++) > 0;
uint32_t scopes_count = pm_options_read_u32(data);
data += 4;