lexer: Reimplement for better testability and internationalization.
[pspp-builds.git] / src / language / utilities / cd.c
index 90a1bcf8db6a8ca71ac63167a8d898207ec4cb70..cae84eb3c46b43e6f06bf2b3bb43e941a517bdd4 100644 (file)
 
 #include <config.h>
 
+#include "language/command.h"
+
 #include <errno.h>
 #include <unistd.h>
 
-#include "language/command.h"
-#include "libpspp/message.h"
 #include "language/lexer/lexer.h"
+#include "libpspp/i18n.h"
+#include "libpspp/message.h"
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -35,7 +37,7 @@ cmd_cd (struct lexer *lexer, struct dataset *ds UNUSED)
   if ( ! lex_force_string (lexer))
     goto error;
 
-  path = ss_xstrdup (lex_tokss (lexer));
+  path = utf8_to_filename (lex_tokcstr (lexer));
 
   if ( -1 == chdir (path) )
     {