Allow output files to overwrite input files (bug #21280). Thanks to
[pspp-builds.git] / src / language / dictionary / apply-dictionary.c
index 0b724044ae077a4a73ed58374355c59dd80f3b14..ff4d7853c3a5e8b6487fafb40e111e8dd624d17e 100644 (file)
@@ -50,13 +50,15 @@ cmd_apply_dictionary (struct lexer *lexer, struct dataset *ds)
 
   lex_match_id (lexer, "FROM");
   lex_match (lexer, '=');
+
   handle = fh_parse (lexer, FH_REF_FILE | FH_REF_SCRATCH);
   if (!handle)
     return CMD_FAILURE;
-
   reader = any_reader_open (handle, &dict);
+  fh_unref (handle);
   if (dict == NULL)
     return CMD_FAILURE;
+
   casereader_destroy (reader);
 
   for (i = 0; i < dict_get_var_cnt (dict); i++)