comparison src/oct-stream.cc @ 2305:5a3f1d00a474

[project @ 1996-07-09 16:20:40 by jwe]
author jwe
date Tue, 09 Jul 1996 16:20:40 +0000
parents 59740768906f
children 8c09c04f7747
comparison
equal deleted inserted replaced
2304:532542bd9493 2305:5a3f1d00a474
112 double dnr = -1.0; 112 double dnr = -1.0;
113 double dnc = -1.0; 113 double dnc = -1.0;
114 114
115 if (size.rows () == 1 && size.cols () > 0) 115 if (size.rows () == 1 && size.cols () > 0)
116 { 116 {
117 dnr = size.elem (0, 0); 117 dnr = size (0, 0);
118 118
119 if (size.cols () == 2) 119 if (size.cols () == 2)
120 dnc = size.elem (0, 1); 120 dnc = size (0, 1);
121 else if (size.cols () > 2) 121 else if (size.cols () > 2)
122 ::error ("%s: invalid size specification", warn_for); 122 ::error ("%s: invalid size specification", warn_for);
123 } 123 }
124 else if (size.cols () == 1 && size.rows () > 0) 124 else if (size.cols () == 1 && size.rows () > 0)
125 { 125 {
126 dnr = size.elem (0, 0); 126 dnr = size (0, 0);
127 127
128 if (size.rows () == 2) 128 if (size.rows () == 2)
129 dnc = size.elem (1, 0); 129 dnc = size (1, 0);
130 else if (size.rows () > 2) 130 else if (size.rows () > 2)
131 ::error ("%s: invalid size specification", warn_for); 131 ::error ("%s: invalid size specification", warn_for);
132 } 132 }
133 else 133 else
134 ::error ("%s: invalid size specification", warn_for); 134 ::error ("%s: invalid size specification", warn_for);
199 { 199 {
200 int n = list.length (); 200 int n = list.length ();
201 201
202 for (int i = 0; i < n; i++) 202 for (int i = 0; i < n; i++)
203 { 203 {
204 scanf_format_elt *elt = list.elem (i); 204 scanf_format_elt *elt = list (i);
205 delete elt; 205 delete elt;
206 } 206 }
207 } 207 }
208 208
209 void 209 void
224 = new scanf_format_elt (text, width, discard, type, modifier); 224 = new scanf_format_elt (text, width, discard, type, modifier);
225 225
226 if (num_elts == list.length ()) 226 if (num_elts == list.length ())
227 list.resize (2 * num_elts); 227 list.resize (2 * num_elts);
228 228
229 list.elem (num_elts++) = elt; 229 list (num_elts++) = elt;
230 } 230 }
231 else 231 else
232 delete [] text; 232 delete [] text;
233 } 233 }
234 234
393 { 393 {
394 int n = list.length (); 394 int n = list.length ();
395 395
396 for (int i = 0; i < n; i++) 396 for (int i = 0; i < n; i++)
397 { 397 {
398 scanf_format_elt *elt = list.elem (i); 398 scanf_format_elt *elt = list (i);
399 399
400 cerr << elt->width << "\t" 400 cerr << elt->width << "\t"
401 << elt->discard << "\t" 401 << elt->discard << "\t"
402 << elt->type << "\t" 402 << elt->type << "\t"
403 << elt->modifier << "\t" 403 << elt->modifier << "\t"
412 412
413 if (n > 0) 413 if (n > 0)
414 { 414 {
415 for (int i = 0; i < n; i++) 415 for (int i = 0; i < n; i++)
416 { 416 {
417 scanf_format_elt *elt = list.elem (i); 417 scanf_format_elt *elt = list (i);
418 418
419 switch (elt->type) 419 switch (elt->type)
420 { 420 {
421 case 'c': case 's': case 'p': case '%': case '[': 421 case 'c': case 's': case 'p': case '%': case '[':
422 break; 422 break;
440 440
441 if (n > 0) 441 if (n > 0)
442 { 442 {
443 for (int i = 0; i < n; i++) 443 for (int i = 0; i < n; i++)
444 { 444 {
445 scanf_format_elt *elt = list.elem (i); 445 scanf_format_elt *elt = list (i);
446 446
447 switch (elt->type) 447 switch (elt->type)
448 { 448 {
449 case 'd': case 'i': case 'o': case 'u': case 'x': 449 case 'd': case 'i': case 'o': case 'u': case 'x':
450 case 'e': case 'f': case 'g': 450 case 'e': case 'f': case 'g':
520 { 520 {
521 int n = list.length (); 521 int n = list.length ();
522 522
523 for (int i = 0; i < n; i++) 523 for (int i = 0; i < n; i++)
524 { 524 {
525 printf_format_elt *elt = list.elem (i); 525 printf_format_elt *elt = list (i);
526 delete elt; 526 delete elt;
527 } 527 }
528 } 528 }
529 529
530 void 530 void
545 = new printf_format_elt (text, args, type, modifier); 545 = new printf_format_elt (text, args, type, modifier);
546 546
547 if (num_elts == list.length ()) 547 if (num_elts == list.length ())
548 list.resize (2 * num_elts); 548 list.resize (2 * num_elts);
549 549
550 list.elem (num_elts++) = elt; 550 list (num_elts++) = elt;
551 } 551 }
552 else 552 else
553 delete [] text; 553 delete [] text;
554 } 554 }
555 555
704 { 704 {
705 int n = list.length (); 705 int n = list.length ();
706 706
707 for (int i = 0; i < n; i++) 707 for (int i = 0; i < n; i++)
708 { 708 {
709 printf_format_elt *elt = list.elem (i); 709 printf_format_elt *elt = list (i);
710 710
711 cerr << elt->args<< "\t" 711 cerr << elt->args<< "\t"
712 << elt->type << "\t" 712 << elt->type << "\t"
713 << elt->modifier << "\t" 713 << elt->modifier << "\t"
714 << undo_string_escapes (elt->text) << "\n"; 714 << undo_string_escapes (elt->text) << "\n";
2667 // Insert item in first open slot, increasing size of list if 2667 // Insert item in first open slot, increasing size of list if
2668 // necessary. 2668 // necessary.
2669 2669
2670 for (int i = 0; i < curr_len; i++) 2670 for (int i = 0; i < curr_len; i++)
2671 { 2671 {
2672 octave_stream *tmp = list.elem (i); 2672 octave_stream *tmp = list (i);
2673 2673
2674 if (! tmp) 2674 if (! tmp)
2675 { 2675 {
2676 list.elem (i) = os; 2676 list (i) = os;
2677 retval = i; 2677 retval = i;
2678 break; 2678 break;
2679 } 2679 }
2680 } 2680 }
2681 2681
2684 int total_len = list.length (); 2684 int total_len = list.length ();
2685 2685
2686 if (curr_len == total_len) 2686 if (curr_len == total_len)
2687 list.resize (total_len * 2); 2687 list.resize (total_len * 2);
2688 2688
2689 list.elem (curr_len) = os; 2689 list (curr_len) = os;
2690 retval = curr_len; 2690 retval = curr_len;
2691 curr_len++; 2691 curr_len++;
2692 } 2692 }
2693 } 2693 }
2694 else 2694 else
2717 octave_stream_list::do_lookup (int fid) const 2717 octave_stream_list::do_lookup (int fid) const
2718 { 2718 {
2719 octave_stream *retval = 0; 2719 octave_stream *retval = 0;
2720 2720
2721 if (fid >= 0 && fid < curr_len) 2721 if (fid >= 0 && fid < curr_len)
2722 retval = list.elem (fid); 2722 retval = list (fid);
2723 2723
2724 return retval; 2724 return retval;
2725 } 2725 }
2726 2726
2727 octave_stream * 2727 octave_stream *
2766 2766
2767 // Can't remove stdin (cin), stdout (cout), or stderr (cerr). 2767 // Can't remove stdin (cin), stdout (cout), or stderr (cerr).
2768 2768
2769 if (fid > 2 && fid < curr_len) 2769 if (fid > 2 && fid < curr_len)
2770 { 2770 {
2771 octave_stream *os = list.elem (fid); 2771 octave_stream *os = list (fid);
2772 2772
2773 if (os) 2773 if (os)
2774 { 2774 {
2775 delete os; 2775 delete os;
2776 list.elem (fid) = 0; 2776 list (fid) = 0;
2777 retval = 0; 2777 retval = 0;
2778 } 2778 }
2779 } 2779 }
2780 2780
2781 return retval; 2781 return retval;
2819 void 2819 void
2820 octave_stream_list::do_clear (void) 2820 octave_stream_list::do_clear (void)
2821 { 2821 {
2822 // Do flush stdout and stderr. 2822 // Do flush stdout and stderr.
2823 2823
2824 list.elem (0) -> flush (); 2824 list (0) -> flush ();
2825 list.elem (1) -> flush (); 2825 list (1) -> flush ();
2826 2826
2827 // But don't delete them or stdin. 2827 // But don't delete them or stdin.
2828 2828
2829 for (int i = 3; i < curr_len; i++) 2829 for (int i = 3; i < curr_len; i++)
2830 { 2830 {
2831 octave_stream *os = list.elem (i); 2831 octave_stream *os = list (i);
2832 2832
2833 delete os; 2833 delete os;
2834 2834
2835 list.elem (i) = 0; 2835 list (i) = 0;
2836 } 2836 }
2837 } 2837 }
2838 2838
2839 void 2839 void
2840 octave_stream_list::clear (void) 2840 octave_stream_list::clear (void)
2916 << " number mode arch name\n" 2916 << " number mode arch name\n"
2917 << " ------ ---- ---- ----\n"; 2917 << " ------ ---- ---- ----\n";
2918 2918
2919 for (int i = 0; i < curr_len; i++) 2919 for (int i = 0; i < curr_len; i++)
2920 { 2920 {
2921 octave_stream *os = list.elem (i); 2921 octave_stream *os = list (i);
2922 2922
2923 if (os) 2923 if (os)
2924 { 2924 {
2925 string mode = octave_stream::mode_as_string (os->mode ()); 2925 string mode = octave_stream::mode_as_string (os->mode ());
2926 string arch = octave_stream::arch_as_string (os->architecture ()); 2926 string arch = octave_stream::arch_as_string (os->architecture ());
2962 2962
2963 // Skip stdin, stdout, and stderr. 2963 // Skip stdin, stdout, and stderr.
2964 2964
2965 for (int i = 3; i < curr_len; i++) 2965 for (int i = 3; i < curr_len; i++)
2966 { 2966 {
2967 if (list.elem (i)) 2967 if (list (i))
2968 retval (0, num_open++) = i; 2968 retval (0, num_open++) = i;
2969 } 2969 }
2970 2970
2971 retval.resize ((num_open > 0), num_open); 2971 retval.resize ((num_open > 0), num_open);
2972 2972
2995 2995
2996 // stdin (cin), stdout (cout), and stderr (cerr) are unnamed. 2996 // stdin (cin), stdout (cout), and stderr (cerr) are unnamed.
2997 2997
2998 for (int i = 3; i < curr_len; i++) 2998 for (int i = 3; i < curr_len; i++)
2999 { 2999 {
3000 octave_stream *os = list.elem (i); 3000 octave_stream *os = list (i);
3001 3001
3002 if (os && os->name () == nm) 3002 if (os && os->name () == nm)
3003 { 3003 {
3004 retval = i; 3004 retval = i;
3005 break; 3005 break;