Mercurial > hg > octave-lyh
comparison src/syscalls.cc @ 3523:b80bbb43a1a9
[project @ 2000-02-02 10:25:52 by jwe]
author | jwe |
---|---|
date | Wed, 02 Feb 2000 10:26:25 +0000 |
parents | d25bc039237b |
children | 97cf542676e1 |
comparison
equal
deleted
inserted
replaced
3522:bd422cf62f0c | 3523:b80bbb43a1a9 |
---|---|
99 system-dependent error message.\n\ | 99 system-dependent error message.\n\ |
100 @end deftypefn") | 100 @end deftypefn") |
101 { | 101 { |
102 octave_value_list retval; | 102 octave_value_list retval; |
103 | 103 |
104 retval(1) = string (); | 104 retval(1) = std::string (); |
105 retval(0) = -1.0; | 105 retval(0) = -1.0; |
106 | 106 |
107 int nargin = args.length (); | 107 int nargin = args.length (); |
108 | 108 |
109 if (nargin == 2) | 109 if (nargin == 2) |
121 int i_old = old_stream.file_number (); | 121 int i_old = old_stream.file_number (); |
122 int i_new = new_stream.file_number (); | 122 int i_new = new_stream.file_number (); |
123 | 123 |
124 if (i_old >= 0 && i_new >= 0) | 124 if (i_old >= 0 && i_new >= 0) |
125 { | 125 { |
126 string msg; | 126 std::string msg; |
127 | 127 |
128 int status = octave_syscalls::dup2 (i_old, i_new, msg); | 128 int status = octave_syscalls::dup2 (i_old, i_new, msg); |
129 | 129 |
130 retval(0) = static_cast<double> (status); | 130 retval(0) = static_cast<double> (status); |
131 retval(1) = msg; | 131 retval(1) = msg; |
160 error message.\n\ | 160 error message.\n\ |
161 @end deftypefn") | 161 @end deftypefn") |
162 { | 162 { |
163 octave_value_list retval; | 163 octave_value_list retval; |
164 | 164 |
165 retval(1) = string (); | 165 retval(1) = std::string (); |
166 retval(0) = -1.0; | 166 retval(0) = -1.0; |
167 | 167 |
168 int nargin = args.length (); | 168 int nargin = args.length (); |
169 | 169 |
170 if (nargin == 1 || nargin == 2) | 170 if (nargin == 1 || nargin == 2) |
171 { | 171 { |
172 string exec_file = args(0).string_value (); | 172 std::string exec_file = args(0).string_value (); |
173 | 173 |
174 if (! error_state) | 174 if (! error_state) |
175 { | 175 { |
176 string_vector exec_args; | 176 string_vector exec_args; |
177 | 177 |
200 exec_args[0] = exec_file; | 200 exec_args[0] = exec_file; |
201 } | 201 } |
202 | 202 |
203 if (! error_state) | 203 if (! error_state) |
204 { | 204 { |
205 string msg; | 205 std::string msg; |
206 | 206 |
207 int status = octave_syscalls::execvp (exec_file, exec_args, msg); | 207 int status = octave_syscalls::execvp (exec_file, exec_args, msg); |
208 | 208 |
209 retval(0) = static_cast<double> (status); | 209 retval(0) = static_cast<double> (status); |
210 retval(1) = msg; | 210 retval(1) = msg; |
273 system-dependent error message.\n\ | 273 system-dependent error message.\n\ |
274 @end deftypefn") | 274 @end deftypefn") |
275 { | 275 { |
276 octave_value_list retval; | 276 octave_value_list retval; |
277 | 277 |
278 retval(1) = string (); | 278 retval(1) = std::string (); |
279 retval(0) = -1.0; | 279 retval(0) = -1.0; |
280 | 280 |
281 int nargin = args.length (); | 281 int nargin = args.length (); |
282 | 282 |
283 if (nargin == 3) | 283 if (nargin == 3) |
291 // XXX FIXME XXX -- Need better checking here? | 291 // XXX FIXME XXX -- Need better checking here? |
292 if (fid < 0) | 292 if (fid < 0) |
293 error ("fcntl: invalid file id"); | 293 error ("fcntl: invalid file id"); |
294 else | 294 else |
295 { | 295 { |
296 string msg; | 296 std::string msg; |
297 | 297 |
298 int status = octave_syscalls::fcntl (fid, req, arg, msg); | 298 int status = octave_syscalls::fcntl (fid, req, arg, msg); |
299 | 299 |
300 retval(0) = static_cast<double> (status); | 300 retval(0) = static_cast<double> (status); |
301 retval(1) = msg; | 301 retval(1) = msg; |
333 @end table\n\ | 333 @end table\n\ |
334 @end deftypefn") | 334 @end deftypefn") |
335 { | 335 { |
336 octave_value_list retval; | 336 octave_value_list retval; |
337 | 337 |
338 retval(1) = string (); | 338 retval(1) = std::string (); |
339 retval(0) = -1.0; | 339 retval(0) = -1.0; |
340 | 340 |
341 int nargin = args.length (); | 341 int nargin = args.length (); |
342 | 342 |
343 if (nargin == 0) | 343 if (nargin == 0) |
344 { | 344 { |
345 string msg; | 345 std::string msg; |
346 | 346 |
347 pid_t pid = octave_syscalls::fork (msg); | 347 pid_t pid = octave_syscalls::fork (msg); |
348 | 348 |
349 retval(0) = static_cast<double> (pid); | 349 retval(0) = static_cast<double> (pid); |
350 retval(1) = msg; | 350 retval(1) = msg; |
361 Return the process group id of the current process.\n\ | 361 Return the process group id of the current process.\n\ |
362 @end deftypefn") | 362 @end deftypefn") |
363 { | 363 { |
364 octave_value_list retval; | 364 octave_value_list retval; |
365 | 365 |
366 retval(1) = string (); | 366 retval(1) = std::string (); |
367 retval(0) = -1.0; | 367 retval(0) = -1.0; |
368 | 368 |
369 int nargin = args.length (); | 369 int nargin = args.length (); |
370 | 370 |
371 if (nargin == 0) | 371 if (nargin == 0) |
372 { | 372 { |
373 string msg; | 373 std::string msg; |
374 | 374 |
375 retval(0) = static_cast<double> (octave_syscalls::getpgrp (msg)); | 375 retval(0) = static_cast<double> (octave_syscalls::getpgrp (msg)); |
376 retval(1) = msg; | 376 retval(1) = msg; |
377 } | 377 } |
378 else | 378 else |
497 { | 497 { |
498 octave_value_list retval; | 498 octave_value_list retval; |
499 | 499 |
500 if (args.length () == 1) | 500 if (args.length () == 1) |
501 { | 501 { |
502 string fname = file_ops::tilde_expand (args(0).string_value ()); | 502 std::string fname = file_ops::tilde_expand (args(0).string_value ()); |
503 | 503 |
504 if (! error_state) | 504 if (! error_state) |
505 { | 505 { |
506 file_stat fs (fname, false); | 506 file_stat fs (fname, false); |
507 | 507 |
508 if (fs) | 508 if (fs) |
509 { | 509 { |
510 retval(2) = string (); | 510 retval(2) = std::string (); |
511 retval(1) = 0.0; | 511 retval(1) = 0.0; |
512 retval(0) = octave_value (mk_stat_map (fs)); | 512 retval(0) = octave_value (mk_stat_map (fs)); |
513 } | 513 } |
514 else | 514 else |
515 { | 515 { |
537 system-dependent error message.\n\ | 537 system-dependent error message.\n\ |
538 @end deftypefn") | 538 @end deftypefn") |
539 { | 539 { |
540 octave_value_list retval; | 540 octave_value_list retval; |
541 | 541 |
542 retval(1) = string (); | 542 retval(1) = std::string (); |
543 retval(0) = -1.0; | 543 retval(0) = -1.0; |
544 | 544 |
545 int nargin = args.length (); | 545 int nargin = args.length (); |
546 | 546 |
547 if (nargin == 2) | 547 if (nargin == 2) |
548 { | 548 { |
549 if (args(0).is_string ()) | 549 if (args(0).is_string ()) |
550 { | 550 { |
551 string name = args(0).string_value (); | 551 std::string name = args(0).string_value (); |
552 | 552 |
553 if (args(1).is_scalar_type ()) | 553 if (args(1).is_scalar_type ()) |
554 { | 554 { |
555 long mode = static_cast<long> (args(1).double_value ()); | 555 long mode = static_cast<long> (args(1).double_value ()); |
556 | 556 |
557 string msg; | 557 std::string msg; |
558 | 558 |
559 int status = file_ops::mkfifo (name, mode, msg); | 559 int status = file_ops::mkfifo (name, mode, msg); |
560 | 560 |
561 retval(0) = static_cast<double> (status); | 561 retval(0) = static_cast<double> (status); |
562 | 562 |
586 system-dependent error message.\n\ | 586 system-dependent error message.\n\ |
587 @end deftypefn") | 587 @end deftypefn") |
588 { | 588 { |
589 octave_value_list retval; | 589 octave_value_list retval; |
590 | 590 |
591 retval(2) = string (); | 591 retval(2) = std::string (); |
592 retval(1) = -1.0; | 592 retval(1) = -1.0; |
593 retval(0) = Matrix (); | 593 retval(0) = Matrix (); |
594 | 594 |
595 int nargin = args.length (); | 595 int nargin = args.length (); |
596 | 596 |
597 if (nargin == 0) | 597 if (nargin == 0) |
598 { | 598 { |
599 int fid[2]; | 599 int fid[2]; |
600 | 600 |
601 string msg; | 601 std::string msg; |
602 | 602 |
603 int status = octave_syscalls::pipe (fid, msg); | 603 int status = octave_syscalls::pipe (fid, msg); |
604 | 604 |
605 if (status < 0) | 605 if (status < 0) |
606 retval(2) = msg; | 606 retval(2) = msg; |
607 else | 607 else |
608 { | 608 { |
609 FILE *ifile = fdopen (fid[0], "r"); | 609 FILE *ifile = fdopen (fid[0], "r"); |
610 FILE *ofile = fdopen (fid[1], "w"); | 610 FILE *ofile = fdopen (fid[1], "w"); |
611 | 611 |
612 octave_stream is = octave_istdiostream::create (string (), ifile); | 612 octave_stream is = octave_istdiostream::create (std::string (), ifile); |
613 octave_stream os = octave_ostdiostream::create (string (), ofile); | 613 octave_stream os = octave_ostdiostream::create (std::string (), ofile); |
614 | 614 |
615 octave_value_list file_ids; | 615 octave_value_list file_ids; |
616 | 616 |
617 file_ids(1) = octave_stream_list::insert (os); | 617 file_ids(1) = octave_stream_list::insert (os); |
618 file_ids(0) = octave_stream_list::insert (is); | 618 file_ids(0) = octave_stream_list::insert (is); |
717 { | 717 { |
718 octave_value_list retval; | 718 octave_value_list retval; |
719 | 719 |
720 if (args.length () == 1) | 720 if (args.length () == 1) |
721 { | 721 { |
722 string fname = file_ops::tilde_expand (args(0).string_value ()); | 722 std::string fname = file_ops::tilde_expand (args(0).string_value ()); |
723 | 723 |
724 if (! error_state) | 724 if (! error_state) |
725 { | 725 { |
726 file_stat fs (fname); | 726 file_stat fs (fname); |
727 | 727 |
728 if (fs) | 728 if (fs) |
729 { | 729 { |
730 retval(2) = string (); | 730 retval(2) = std::string (); |
731 retval(1) = 0.0; | 731 retval(1) = 0.0; |
732 retval(0) = octave_value (mk_stat_map (fs)); | 732 retval(0) = octave_value (mk_stat_map (fs)); |
733 } | 733 } |
734 else | 734 else |
735 { | 735 { |
755 system-dependent error message.\n\ | 755 system-dependent error message.\n\ |
756 @end deftypefn") | 756 @end deftypefn") |
757 { | 757 { |
758 octave_value_list retval; | 758 octave_value_list retval; |
759 | 759 |
760 retval(1) = string (); | 760 retval(1) = std::string (); |
761 retval(0) = -1.0; | 761 retval(0) = -1.0; |
762 | 762 |
763 int nargin = args.length (); | 763 int nargin = args.length (); |
764 | 764 |
765 if (nargin == 1) | 765 if (nargin == 1) |
766 { | 766 { |
767 if (args(0).is_string ()) | 767 if (args(0).is_string ()) |
768 { | 768 { |
769 string name = args(0).string_value (); | 769 std::string name = args(0).string_value (); |
770 | 770 |
771 string msg; | 771 std::string msg; |
772 | 772 |
773 int status = file_ops::unlink (name, msg); | 773 int status = file_ops::unlink (name, msg); |
774 | 774 |
775 retval(0) = static_cast<double> (status); | 775 retval(0) = static_cast<double> (status); |
776 retval(1) = msg; | 776 retval(1) = msg; |
825 message.\n\ | 825 message.\n\ |
826 @end deftypefn") | 826 @end deftypefn") |
827 { | 827 { |
828 octave_value_list retval; | 828 octave_value_list retval; |
829 | 829 |
830 retval(1) = string (); | 830 retval(1) = std::string (); |
831 retval(0) = -1.0; | 831 retval(0) = -1.0; |
832 | 832 |
833 int nargin = args.length (); | 833 int nargin = args.length (); |
834 | 834 |
835 if (nargin == 1 || nargin == 2) | 835 if (nargin == 1 || nargin == 2) |
853 error ("waitpid: OPTIONS must be in integer"); | 853 error ("waitpid: OPTIONS must be in integer"); |
854 } | 854 } |
855 | 855 |
856 if (! error_state) | 856 if (! error_state) |
857 { | 857 { |
858 string msg; | 858 std::string msg; |
859 | 859 |
860 pid_t status = octave_syscalls::waitpid (pid, options, msg); | 860 pid_t status = octave_syscalls::waitpid (pid, options, msg); |
861 | 861 |
862 retval(0) = static_cast<double> (status); | 862 retval(0) = static_cast<double> (status); |
863 retval(1) = msg; | 863 retval(1) = msg; |