We are using a single member in struct file_handle, the "name"
[pspp] / src / language / data-io / file-handle.q
index 31039a3541328911191c3b56c437fc97fee6b5fe..6ace912896cbf65f6be66a0676b197ff2988d2f8 100644 (file)
@@ -1,6 +1,5 @@
 /* PSPP - computes sample statistics.
    Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
-   Written by Ben Pfaff <blp@gnu.org>.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -26,7 +25,6 @@
 #include <data/file-name.h>
 #include <language/command.h>
 #include <language/lexer/lexer.h>
-#include <language/line-buffer.h>
 #include <libpspp/assertion.h>
 #include <libpspp/message.h>
 #include <libpspp/magic.h>
@@ -63,7 +61,7 @@ cmd_file_handle (struct lexer *lexer, struct dataset *ds)
     return CMD_CASCADING_FAILURE;
   str_copy_trunc (handle_name, sizeof handle_name, lex_tokid (lexer));
 
-  handle = fh_from_name (handle_name);
+  handle = fh_from_id (handle_name);
   if (handle != NULL)
     {
       msg (SE, _("File handle %s is already defined.  "
@@ -133,7 +131,7 @@ cmd_close_file_handle (struct lexer *lexer, struct dataset *ds UNUSED)
 
   if (!lex_force_id (lexer))
     return CMD_CASCADING_FAILURE;
-  handle = fh_from_name (lex_tokid (lexer));
+  handle = fh_from_id (lex_tokid (lexer));
   if (handle == NULL)
     return CMD_CASCADING_FAILURE;
 
@@ -180,19 +178,14 @@ fh_parse (struct lexer *lexer, enum fh_referent referent_mask)
 
       handle = NULL;
       if (lex_token (lexer) == T_ID) 
-        handle = fh_from_name (lex_tokid (lexer));
+        handle = fh_from_id (lex_tokid (lexer));
       if (handle == NULL) 
         handle = fh_from_file_name (ds_cstr (lex_tokstr (lexer))); 
       if (handle == NULL)
         {
           if (lex_token (lexer) != T_ID || lex_tokid (lexer)[0] != '#' || get_syntax () != ENHANCED) 
-            {
-              char *file_name = ds_cstr (lex_tokstr (lexer));
-              char *handle_name = xasprintf ("\"%s\"", file_name);
-              handle = fh_create_file (handle_name, file_name,
-                                       fh_default_properties ());
-              free (handle_name);
-            }
+            handle = fh_create_file (NULL, ds_cstr (lex_tokstr (lexer)),
+                                     fh_default_properties ());
           else
             handle = fh_create_scratch (lex_tokid (lexer));
         }