make '! ras' work

From: George (greerga@DRAGON.HAM.MUOHIO.EDU)
Date: 10/14/97


Working my way through the TODO list...

diff -upPr -x *.o ../stk/comm.c ./comm.c
--- ../stk/comm.c       Sun Apr 14 14:28:46 1996
+++ ./comm.c    Tue Oct 14 21:02:40 1997
@@ -1259,9 +1259,12 @@ int process_input(struct descriptor_data
     }
     failed_subst = 0;

-    if (*tmp == '!')
-      strcpy(tmp, t->last_input);
-    else if (*tmp == '^') {
+    if (*tmp == '!') {
+      char tmp_switch[MAX_INPUT_LENGTH + 64];
+      /* This would be a good spot for snprintf(). */
+      sprintf(tmp_switch, "%s%s", t->last_input, tmp + 1);
+      strcpy(tmp, tmp_switch);
+    } else if (*tmp == '^') {
       if (!(failed_subst = perform_subst(t, t->last_input, tmp)))
        strcpy(t->last_input, tmp);
     } else

This method (of not updating the last input) allows things such as:

tell somebody
! hi how are you?
! I'm fine, really.
! I'm leaving now, bye.

Not really a big feature, but seems more helpful than updating the last
input.  It's trivial to change that if the other way is preferred.

--
George Greer  -  Me@Null.net   | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/08/00 PST