Mercurial > hg > octave-lyh
diff src/file-io.cc @ 1728:42b4f904f1af
[project @ 1996-01-09 11:36:01 by jwe]
author | jwe |
---|---|
date | Tue, 09 Jan 1996 11:41:43 +0000 |
parents | a38bd8df9d33 |
children | a02f140ed897 |
line wrap: on
line diff
--- a/src/file-io.cc +++ b/src/file-io.cc @@ -39,6 +39,8 @@ #include <cstdlib> #include <cctype> +#include <string> + #include <strstream.h> #ifdef HAVE_UNISTD_H @@ -115,7 +117,8 @@ int file_count = file_list.length (); for (int i = 0; i < file_count; i++) { - const char *file_name = arg.string_value (); + string tstr = arg.string_value (); + const char *file_name = tstr.c_str (); file = file_list (p); if (file.name () == file_name) return p; @@ -191,7 +194,8 @@ { if (arg.is_string ()) { - const char *name = arg.string_value (); + string tstr = arg.string_value (); + const char *name = tstr.c_str (); struct stat buffer; int status = stat (name, &buffer); @@ -481,8 +485,10 @@ return retval; } - const char *name = args(0).string_value (); - const char *mode = args(1).string_value (); + string tstr1 = args(0).string_value (); + const char *name = tstr1.c_str (); + string tstr2 = args(1).string_value (); + const char *mode = tstr2.c_str (); if (! valid_mode (mode)) { @@ -935,7 +941,8 @@ case 's': { - const char *val = args(fmt_arg_count++).string_value (); + string tstr = args(fmt_arg_count++).string_value (); + const char *val = tstr.c_str (); if (error_state) goto invalid_conversion; @@ -952,7 +959,8 @@ case 'c': { - const char *val = args(fmt_arg_count++).string_value (); + string tstr = args(fmt_arg_count++).string_value (); + const char *val = tstr.c_str (); if (error_state || strlen (val) != 1) goto invalid_conversion; @@ -988,6 +996,7 @@ Octave_object retval; fmt_arg_count = 0; const char *fmt; + string fmt_str; file_info file; if (strcmp (type, "fprintf") == 0) @@ -1005,7 +1014,8 @@ return retval; } - fmt = args(1).string_value (); + fmt_str = args(1).string_value (); + fmt = fmt_str.c_str (); if (error_state) { @@ -1017,7 +1027,8 @@ } else { - fmt = args(0).string_value (); + fmt_str = args(0).string_value (); + fmt = fmt_str.c_str (); if (error_state) { @@ -1308,6 +1319,7 @@ { Octave_object retval; const char *scanf_fmt = 0; + string scanf_fmt_str; char *tmp_file = 0; int tmp_file_open = 0; FILE *fptr = 0; @@ -1317,7 +1329,8 @@ if (strcmp (type, "scanf") != 0) { - scanf_fmt = args(1).string_value (); + scanf_fmt_str = args(1).string_value (); + scanf_fmt = scanf_fmt_str.c_str (); if (error_state) { @@ -1349,10 +1362,14 @@ if ((! fptr && args(0).is_string ()) || (doing_fscanf && file.number () == 0)) { - const char *string; + string xstring_str; + const char *xstring; if (strcmp (type, "scanf") == 0) - scanf_fmt = args(0).string_value (); + { + scanf_fmt_str = args(0).string_value (); + scanf_fmt = scanf_fmt_str.c_str (); + } if (strcmp (type, "scanf") == 0 || (doing_fscanf && file.number () == 0)) @@ -1364,13 +1381,16 @@ flush_output_to_pager (); - string = gnu_readline (""); - - if (string && *string) - maybe_save_history (string); + xstring = gnu_readline (""); + + if (xstring && *xstring) + maybe_save_history (xstring); } else - string = args(0).string_value (); + { + xstring_str = args(0).string_value (); + xstring = xstring_str.c_str (); + } tmp_file = octave_tmp_file_name (); @@ -1383,13 +1403,13 @@ tmp_file_open = 1; unlink (tmp_file); - if (! string) + if (! xstring) { error ("%s: no string to scan", type); return retval; } - int success = fputs (string, fptr); + int success = fputs (xstring, fptr); fflush (fptr); rewind (fptr); @@ -1579,9 +1599,11 @@ // Get type and number of bytes per element to read. const char *prec = "uchar"; + string tstr; if (nargin > 2) { - prec = args(2).string_value (); + tstr = args(2).string_value (); + prec = tstr.c_str (); if (error_state) { @@ -1766,9 +1788,11 @@ // Get type and number of bytes per element to read. const char *prec = "uchar"; + string tstr; if (nargin > 2) { - prec = args(2).string_value (); + tstr = args(2).string_value (); + prec = tstr.c_str (); if (error_state) { @@ -1935,8 +1959,10 @@ return retval; } - const char *name = args(0).string_value (); - const char *mode = args(1).string_value (); + string tstr1 = args(0).string_value (); + const char *name = tstr1.c_str (); + string tstr2 = args(1).string_value (); + const char *mode = tstr2.c_str (); if (mode[1] || (mode[0] != 'w' && mode[0] != 'r')) { @@ -2058,7 +2084,8 @@ return retval; } - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); if (pipe (stdin_pipe) || pipe (stdout_pipe)) { @@ -2150,7 +2177,8 @@ return retval; } - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); retval (0) = (double) system (name); return retval; @@ -2185,7 +2213,8 @@ return retval; } - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); pid = fork (); @@ -2318,7 +2347,8 @@ return retval; } - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); if (! args(1).is_scalar_type ()) { @@ -2367,7 +2397,8 @@ return retval; } - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); retval (0) = (double) unlink (name); @@ -2454,7 +2485,8 @@ if (args.length () == 1) { - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); static char *fname = 0; @@ -2489,7 +2521,8 @@ if (args.length () == 1) { - const char *name = args(0).string_value (); + string tstr = args(0).string_value (); + const char *name = tstr.c_str (); static char *fname = 0;