aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2010-01-27 11:16:44 +0100
committerThomas White <taw@bitwiz.org.uk>2010-01-27 11:16:44 +0100
commitf56186096e50f076d5301525588537533b3a41c2 (patch)
tree763b15ecbc50095e537fe7ba03d765686db544d9
parentfa4d782f81d4ecc70d91c561ed4ee29db5095c06 (diff)
Shuffle things around for ACL selection
-rw-r--r--src/dirax.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/dirax.c b/src/dirax.c
index 582583aa..2c0675da 100644
--- a/src/dirax.c
+++ b/src/dirax.c
@@ -137,45 +137,50 @@ static void dirax_send_next(struct image *image)
case 1 :
dirax_sendline("\\echo off\n", image);
- image->dirax_step++;
break;
case 2 :
dirax_sendline("read xfel.drx\n", image);
- image->dirax_step++;
break;
case 3 :
dirax_sendline("dmax 1000\n", image);
- image->dirax_step++;
break;
case 4 :
dirax_sendline("indexfit 2\n", image);
- image->dirax_step++;
break;
case 5 :
dirax_sendline("levelfit 1000\n", image);
- image->dirax_step++;
break;
case 6 :
dirax_sendline("go\n", image);
- image->dirax_step++;
break;
case 7 :
+ dirax_sendline("acl\n", image);
+ break;
+
+ case 8 :
+ /* Skip DirAx's 'acl' prompt */
+ dirax_sendline("\n", image);
+ break;
+
+ case 9 :
dirax_sendline("cell\n", image);
- image->dirax_step++;
break;
default:
image->dirax_step = 0;
STATUS("DirAx is idle\n");
g_main_loop_quit(image->dirax_ml);
+ return;
}
+
+ image->dirax_step++;
}
@@ -216,7 +221,9 @@ static gboolean dirax_readable(GIOChannel *dirax, GIOCondition condition,
if ( (strncmp(image->dirax_rbuffer+i,
"Dirax> ", 7) == 0)
|| (strncmp(image->dirax_rbuffer+i,
- "PROMPT:", 7) == 0) ) {
+ "PROMPT:", 7) == 0)
+ || (strncmp(image->dirax_rbuffer+i,
+ "acl/auto:", 8) == 0) ) {
block_ready = 1;
type = DIRAX_INPUT_PROMPT;
break;