* Reset screen attributes before fork() so that external programs do the
authorMichael Hampton <io_error@uncensored.citadel.org>
Fri, 13 Feb 2004 20:51:13 +0000 (20:51 +0000)
committerMichael Hampton <io_error@uncensored.citadel.org>
Fri, 13 Feb 2004 20:51:13 +0000 (20:51 +0000)
  right thing

citadel/ChangeLog
citadel/messages.c
citadel/routines2.c

index ed5849f1688bdf58f1a7217a46f1c240e4d4f32e..becb79fb335747c85ae8b8d406d3d041a715511d 100644 (file)
@@ -1,4 +1,8 @@
  $Log$
+ Revision 614.28  2004/02/13 20:51:13  error
+ * Reset screen attributes before fork() so that external programs do the
+   right thing
+
  Revision 614.27  2004/02/12 04:16:38  ajc
  * Support for PLAIN logins in IMAP (need to test!)
 
@@ -5316,3 +5320,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
+
index f55946e7d21fa34abf130b57ef88aaba4428211f..54d8557ebadc6d418d0fb76c34dc40a1fdd118ba 100644 (file)
@@ -913,10 +913,10 @@ ME1:      switch (mode) {
        case 2:
        default:        /* allow 2+ modes */
                e_ex_code = 1;  /* start with a failed exit code */
-               editor_pid = fork();
-               cksum = file_checksum(filename);
                screen_reset();
                sttybbs(SB_RESTORE);
+               editor_pid = fork();
+               cksum = file_checksum(filename);
                if (editor_pid == 0) {
                        char tmp[SIZ];
 
index 3b264211fc611bbc5b495bf2c8d9cc236c486188..6b366f09817e54727d64832cfadbb9df365179ce 100644 (file)
@@ -510,10 +510,11 @@ void validate(CtdlIPC *ipc)
 void subshell(void)
 {
        int a, b;
+
+       screen_reset();
+       sttybbs(SB_RESTORE);
        a = fork();
        if (a == 0) {
-               screen_reset();
-               sttybbs(SB_RESTORE);
                signal(SIGINT, SIG_DFL);
                signal(SIGQUIT, SIG_DFL);
                execlp(getenv("SHELL"), getenv("SHELL"), NULL);