Reform string library.
[pspp-builds.git] / src / language / expressions / generate.pl
index 9d753867cc1f72865e8d251d289748fa21e0926b..8216521a23384fd48d2281a4a4639c468763debf 100644 (file)
@@ -68,7 +68,7 @@ sub init_all_types {
     init_type ('number', 'any', C_TYPE => 'double',
               ATOM => 'number', MANGLE => 'n', HUMAN_NAME => 'num',
               STACK => 'ns', MISSING_VALUE => 'SYSMIS');
-    init_type ('string', 'any', C_TYPE => 'struct fixed_string',
+    init_type ('string', 'any', C_TYPE => 'struct substring',
               ATOM => 'string', MANGLE => 's', HUMAN_NAME => 'string',
               STACK => 'ss', MISSING_VALUE => 'empty_string');
     init_type ('boolean', 'any', C_TYPE => 'double',
@@ -233,6 +233,7 @@ sub parse_input {
        $op{OPTIMIZABLE} = 1;
        $op{UNIMPLEMENTED} = 0;
        $op{EXTENSION} = 0;
+       $op{PERM_ONLY} = 0;
        for (;;) {
            if (match ('extension')) {
                $op{EXTENSION} = 1;
@@ -240,6 +241,8 @@ sub parse_input {
                $op{OPTIMIZABLE} = 0;
            } elsif (match ('absorb_miss')) {
                $op{ABSORB_MISS} = 1;
+           } elsif (match ('perm_only')) {
+               $op{PERM_ONLY} = 1;
            } else {
                last;
            }