Allow VMS features to differ from Perl's defaults.
authorCraig A. Berry <craigberry@mac.com>
Sat, 16 Feb 2013 21:25:55 +0000 (15:25 -0600)
committerCraig A. Berry <craigberry@mac.com>
Sat, 16 Feb 2013 21:34:35 +0000 (15:34 -0600)
Since we now enable some features that are not the CRTL's defaults,
we should allow them to be explicitly disabled in the environment
if someone wants the old behavior.

vms/vms.c

index 44d72ff..95c6309 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -13898,6 +13898,19 @@ set_feature_default(const char *name, int value)
 {
     int status;
     int index;
+    char val_str[10];
+
+    /* If the feature has been explicitly disabled in the environment,
+     * then don't enable it here.
+     */
+    if (value > 0) {
+        status = simple_trnlnm(name, val_str, sizeof(val_str));
+        if ($VMS_STATUS_SUCCESS(status)) {
+            val_str[0] = _toupper(val_str[0]);
+            if (val_str[0] == 'D' || val_str[0] == '0' || val_str[0] == 'F')
+               return 0;
+        }
+    }
 
     index = decc$feature_get_index(name);