aboutsummaryrefslogtreecommitdiff
path: root/pdoctave_get.c
diff options
context:
space:
mode:
authorFranz Zotter <fzotter@users.sourceforge.net>2006-03-26 12:47:03 +0000
committerFranz Zotter <fzotter@users.sourceforge.net>2006-03-26 12:47:03 +0000
commit4998870e6829a2a3818ae87557f81f220442a6b0 (patch)
tree2ff79d57392e5703e3a6d7a61627a2d3282a9fcc /pdoctave_get.c
parent6b079b5df20a90500294e2f1a58912b32074cd82 (diff)
added octave error handling 'try' and 'catch' to pdoctave_get. So unknown variables are returned now as empty
svn path=/trunk/externals/iem/pdoctave/; revision=4770
Diffstat (limited to 'pdoctave_get.c')
-rw-r--r--pdoctave_get.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/pdoctave_get.c b/pdoctave_get.c
index 8177c8c..614ec84 100644
--- a/pdoctave_get.c
+++ b/pdoctave_get.c
@@ -50,14 +50,21 @@ static void pDOctaveGetCommand (PDOctaveGet *pdoctget_obj)
{
char *cmd;
cmd = pdoctget_obj->oct_command;
- strcpy(cmd, "write_shared_mem(");
- cmd += 17;
+ strcpy(cmd, "try\n write_shared_mem(");
+ cmd += strlen(cmd);
strcpy(cmd, pdoctget_obj->oct_name);
cmd += strlen (cmd);
*cmd++ = ',';
sprintf(cmd, "%d", getSharedDataFrameId(pdoctget_obj->sdf));
cmd += strlen(cmd);
- strcpy (cmd, ")\n");
+ strcpy (cmd, ");\n catch\n disp(\"undefined variable\"); write_shared_mem(");
+ cmd += strlen(cmd);
+ strcpy (cmd, "[],");
+ cmd +=strlen(cmd);
+ sprintf(cmd, "%d", getSharedDataFrameId(pdoctget_obj->sdf));
+ cmd +=strlen(cmd);
+ strcpy (cmd,");\n end\n\0");
+ post("pdoctave_get: %s",pdoctget_obj->oct_command);
writeToOctaveStdIN (pdoctget_obj->oct_command);
}