X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fpor-file-writer.c;h=ea0f9dc88bfe98bebbbd2422881c664d2b76fbaa;hb=9ade26c8349b4434008c46cf09bc7473ec743972;hp=7b1b25512a89358b966d44416467dfd5e4bf2b10;hpb=04d2c99833753252b724dd9d4f15cc3a80b6bec8;p=pspp-builds.git diff --git a/src/data/por-file-writer.c b/src/data/por-file-writer.c index 7b1b2551..ea0f9dc8 100644 --- a/src/data/por-file-writer.c +++ b/src/data/por-file-writer.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2006, 2009 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,7 +15,8 @@ along with this program. If not, see . */ #include -#include "por-file-writer.h" + +#include "data/por-file-writer.h" #include #include @@ -26,27 +27,25 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "minmax.h" -#include "xalloc.h" +#include "data/case.h" +#include "data/casewriter-provider.h" +#include "data/casewriter.h" +#include "data/dictionary.h" +#include "data/file-handle-def.h" +#include "data/file-name.h" +#include "data/format.h" +#include "data/make-file.h" +#include "data/missing-values.h" +#include "data/short-names.h" +#include "data/value-labels.h" +#include "data/variable.h" +#include "libpspp/message.h" +#include "libpspp/misc.h" +#include "libpspp/str.h" +#include "libpspp/version.h" + +#include "gl/minmax.h" +#include "gl/xalloc.h" #include "gettext.h" #define _(msgid) gettext (msgid) @@ -151,14 +150,14 @@ pfm_open_writer (struct file_handle *fh, struct dictionary *dict, goto error; /* Create file. */ - mode = S_IRUSR | S_IRGRP | S_IROTH; + mode = 0444; if (opts.create_writeable) - mode |= S_IWUSR | S_IWGRP | S_IWOTH; + mode |= 0222; w->rf = replace_file_start (fh_get_file_name (fh), "w", mode, &w->file, NULL); if (w->rf == NULL) { - msg (ME, _("Error opening \"%s\" for writing as a portable file: %s."), + msg (ME, _("Error opening `%s' for writing as a portable file: %s."), fh_get_file_name (fh), strerror (errno)); goto error; } @@ -437,10 +436,7 @@ write_documents (struct pfm_writer *w, const struct dictionary *dict) buf_write (w, "E", 1); write_int (w, line_cnt); for (i = 0; i < line_cnt; i++) - { - dict_get_document_line (dict, i, &line); - write_string (w, ds_cstr (&line)); - } + write_string (w, dict_get_document_line (dict, i)); ds_destroy (&line); } @@ -503,7 +499,7 @@ close_writer (struct pfm_writer *w) ok = false; if (!ok) - msg (ME, _("An I/O error occurred writing portable file \"%s\"."), + msg (ME, _("An I/O error occurred writing portable file `%s'."), fh_get_file_name (w->fh)); if (ok ? !replace_file_commit (w->rf) : !replace_file_abort (w->rf))