diff options
Diffstat (limited to 'sci-mathematics/octave-forge-parallel/files/octave-forge-parallel-2.0.0-octave-3.2.patch')
-rw-r--r-- | sci-mathematics/octave-forge-parallel/files/octave-forge-parallel-2.0.0-octave-3.2.patch | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/sci-mathematics/octave-forge-parallel/files/octave-forge-parallel-2.0.0-octave-3.2.patch b/sci-mathematics/octave-forge-parallel/files/octave-forge-parallel-2.0.0-octave-3.2.patch new file mode 100644 index 000000000..6bf3cba87 --- /dev/null +++ b/sci-mathematics/octave-forge-parallel/files/octave-forge-parallel-2.0.0-octave-3.2.patch @@ -0,0 +1,236 @@ +diff -Naur parallel-2.0.0/src/__bw_prcv__.cc parallel-2.0.0.new/src/__bw_prcv__.cc +--- parallel-2.0.0/src/__bw_prcv__.cc 2009-05-08 09:17:57.000000000 -0400 ++++ parallel-2.0.0.new/src/__bw_prcv__.cc 2009-10-04 07:25:32.000000000 -0400 +@@ -20,7 +20,7 @@ + #include <octave/oct-stream.h> + #include <octave/oct-map.h> + +-DEFUN_DLD (__bw_prcv__, args, nargout, "prcv (pd)\n\ ++DEFUN_DLD (__bw_prcv__, args, nargout, "__bw_prcv__ (pd)\n\ + Reads one variable from pipe stream 'pd'.\n\ + The variable must have been coded in Octaves binary format,\n\ + including a header. This can be done by 'psend ()'.\n\ +@@ -29,8 +29,8 @@ + call 'feof ()' afterwards. If EOF is met later in reading,\n\ + it causes an error.\n\ + Normally, a structure is returned with the variable under its name\n\ +-in a single field. With no output arguments, the variable is installed\n\ +-into memory.\n\ ++in a single field. Originally, with no output arguments, the variable was\n\ ++installed into memory, but this has been disabled.\n\ + \n\ + This function may change and is internal to the parallel package.\n") + { +@@ -38,10 +38,10 @@ + Octave_map retstruct; + + if (args.length () != 1) { +- error ("prcv: exactly one argument required\n"); ++ error ("__bw_prcv__: exactly one argument required\n"); + return retval; + } +- octave_stream is = octave_stream_list::lookup (args(0), "prcv"); ++ octave_stream is = octave_stream_list::lookup (args(0), "__bw_prcv__"); + if (error_state) return retval; + + if (is.is_open ()) { +@@ -49,7 +49,7 @@ + // 114: "r", 43: "+" + if (! strchr (mode.c_str (), 114) && + ! strchr (mode.c_str (), 43)) { +- error ("prcv: stream not readable\n"); ++ error ("__bw_prcv__: stream not readable\n"); + return retval; + } + #ifdef PATCHED_PIPE_CODE +@@ -59,13 +59,13 @@ + + // 98: "b" + if (! strchr (mode.c_str (), 98)) { +- error ("prcv: stream not binary\n"); ++ error ("__bw_prcv__: stream not binary\n"); + return retval; + } + #endif + } + else { +- error ("prcv: stream not open\n"); ++ error ("__bw_prcv__: stream not open\n"); + return retval; + } + +@@ -100,50 +100,17 @@ + // after the header exactly one variable is expected. This + // is mended by asking for EOF here. + if (ps.eof () || error_state || name.empty ()) { +- error ("prcv: error in reading variable data\n"); ++ error ("__bw_prcv__: error in reading variable data\n"); + return retval; + } + if (! tc.is_defined ()) { + // What means this? +- error ("prcv: error in reading variable\n"); ++ error ("__bw_prcv__: error in reading variable\n"); + return retval; + } + +- if (nargout == 1) { +- retstruct.assign(name, tc); +- retval = retstruct; +- } +- else { +- // install_loaded_variable () is static ... here the +- // code equivalent to +- // +- // install_loaded_variable (true, name, tc, global, doc); +- // +- // is duplicated (except one error check) ... +- +- symbol_record *lsr = curr_sym_tab->lookup (name); +- +- bool is_undefined = true; +- bool is_variable = false; +- +- if (lsr) { +- is_undefined = ! lsr->is_defined (); +- is_variable = lsr->is_variable (); +- } +- +- symbol_record *sr = 0; ++ retstruct.assign(name, tc); ++ retval = retstruct; + +- if (! global && (is_variable || is_undefined)) { +- lsr = curr_sym_tab->lookup (name, true); +- sr = lsr; +- } +- else { +- lsr = curr_sym_tab->lookup (name, true); +- link_to_global_variable (lsr); +- sr = lsr; +- } +- sr->define (tc); +- sr->document (doc); +- } + return retval; + } +diff -Naur parallel-2.0.0/src/__bw_psend__.cc parallel-2.0.0.new/src/__bw_psend__.cc +--- parallel-2.0.0/src/__bw_psend__.cc 2009-05-08 09:17:57.000000000 -0400 ++++ parallel-2.0.0.new/src/__bw_psend__.cc 2009-10-04 07:25:36.000000000 -0400 +@@ -19,72 +19,31 @@ + #include <octave/ls-oct-binary.h> + #include <octave/oct-stream.h> + +-DEFUN_DLD (__bw_psend__, args, , "psend (pd, name[, value])\n\ +-Sends variable named in 'name' through pipe stream 'pd'.\n\ +-With 'value' given and having boolean value 'true', the\n\ +-contents of the second argument itself is sent under the name\n\ +-'psend_var'.\n\ ++DEFUN_DLD (__bw_psend__, args, , "psend (pd, var)\n\ ++The contents of 'var' is sent through the pipe stream 'pd'\n\ ++under the name 'psend_var'.\n\ + The variable is coded in Octaves binary format,\n\ + a header is included. It can be read by 'prcv ()'.\n\ + \n\ + This function may change and is internal to the parallel package.\n") + { +- std::string name; +- std::string help; +- int global; + octave_value retval; + octave_value tc; +- bool contents; + +- if (args.length () == 2) +- contents = false; +- else if (args.length () == 3) { +- if (! args(2).is_real_scalar ()) { +- error ("psend: third variable, if given, must be a real scalar.\n"); +- return retval; +- } +- contents = args(2).scalar_value (); +- } else { +- error ("psend: two or three arguments required\n"); ++ if (args.length () != 2) { ++ error ("__bw_psend__: two arguments required\n"); + return retval; + } + +- if (contents) { +- name = "psend_var"; +- tc = args(1); +- help = ""; +- global = false; +- } +- else { +- if (args(1).is_string ()) name = args(1).string_value (); +- else { +- error ("psend: if named variable is to be sent, second argument must be a string\n"); +- return retval; +- } +- symbol_record *var = curr_sym_tab->lookup (name); +- if (! var) { +- error ("psend: no such variable %s\n", name.c_str ()); +- return retval; +- } +- tc = var->def (); +- help = var->help (); +- global = var->is_linked_to_global (); +- } +- if (! tc.is_defined ()) { +- // What means this? +- error ("psend: variable not defined\n"); +- return retval; +- } +- +- octave_stream os = octave_stream_list::lookup (args(0), "psend"); ++ octave_stream os = octave_stream_list::lookup (args(0), "__bw_psend__"); + if (error_state) { +- error ("psend: no valid file id\n"); ++ error ("__bw_psend__: no valid file id\n"); + return retval; + } + if (os.is_open ()) { + std::string mode = os.mode_as_string (os.mode ()); + if (mode == "r" || mode == "rb") { +- error ("psend: stream not writable\n"); ++ error ("__bw_psend__: stream not writable\n"); + return retval; + } + #ifdef PATCHED_PIPE_CODE_15TH_JUNE_07 +@@ -94,20 +53,20 @@ + + // 98: "b" + if (! strchr (mode.c_str (), 98)) { +- error ("psend: stream not binary\n"); ++ error ("__bw_psend__: stream not binary\n"); + return retval; + } + #endif + } + else { +- error ("psend: stream not open\n"); ++ error ("__bw_psend__: stream not open\n"); + return retval; + } + + std::ostream *tps = os.output_stream (); + std::ostream& ps = *tps; + write_header (ps, LS_BINARY); +- save_binary_data (ps, tc, name, help, global, false); ++ save_binary_data (ps, args(1), "psend_var", "", false, false); + + return retval; + } +diff -Naur parallel-2.0.0/src/pserver.cc parallel-2.0.0.new/src/pserver.cc +--- parallel-2.0.0/src/pserver.cc 2009-05-08 09:17:57.000000000 -0400 ++++ parallel-2.0.0.new/src/pserver.cc 2009-10-04 07:25:27.000000000 -0400 +@@ -58,6 +58,8 @@ + #include <setjmp.h> + #include <netinet/in.h> + ++#include <iostream> ++ + // SSIZE_MAX might be for 64-bit. Limit to 2^31-1 + #define BUFF_SIZE 2147483647 + |