Fix bug where, on an unformatted screen, we were changing the
[unix-history] / usr / src / usr.bin / tn3270 / ctlr / api.c
index 422ed63..79d4b61 100644 (file)
@@ -1,3 +1,28 @@
+/*
+ *     Copyright (c) 1984-1987 by the Regents of the
+ *     University of California and by Gregory Glenn Minshall.
+ *
+ *     Permission to use, copy, modify, and distribute these
+ *     programs and their documentation for any purpose and
+ *     without fee is hereby granted, provided that this
+ *     copyright and permission appear on all copies and
+ *     supporting documentation, the name of the Regents of
+ *     the University of California not be used in advertising
+ *     or publicity pertaining to distribution of the programs
+ *     without specific prior permission, and notice be given in
+ *     supporting documentation that copying and distribution is
+ *     by permission of the Regents of the University of California
+ *     and by Gregory Glenn Minshall.  Neither the Regents of the
+ *     University of California nor Gregory Glenn Minshall make
+ *     representations about the suitability of this software
+ *     for any purpose.  It is provided "as is" without
+ *     express or implied warranty.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)api.c      3.1 (Berkeley) %G%";
+#endif /* not lint */
+
 /*
  * This file implements the API used in the PC version.
  */
 /*
  * This file implements the API used in the PC version.
  */
 #include "api.h"
 #include "../general/general.h"
 
 #include "api.h"
 #include "../general/general.h"
 
-#include "../ascii/disp_asc.h"
+#include "../api/disp_asc.h"
 
 
-#include "../ctlr/screen.h"
-#include "../ctlr/oia.h"
+#include "screen.h"
+#include "oia.h"
 
 #include "../general/globals.h"
 
 
 #include "../general/globals.h"
 
@@ -553,6 +578,13 @@ struct SREGS *sregs;
 {
     if (regs->h.ah == NAME_RESOLUTION) {
        name_resolution(regs, sregs);
 {
     if (regs->h.ah == NAME_RESOLUTION) {
        name_resolution(regs, sregs);
+#if    defined(unix)
+    } else if (regs->h.ah == PS_OR_OIA_MODIFIED) {
+       while ((oia_modified == 0) && (ps_modified == 0)) {
+           (void) Scheduler(1);
+       }
+       oia_modified = ps_modified = 0;
+#endif /* defined(unix) */
     } else if (regs->h.ah != 0x09) {
        regs->h.ch = 0x12;
        regs->h.cl = 0x0f;              /* XXX Invalid environmental access */
     } else if (regs->h.ah != 0x09) {
        regs->h.ch = 0x12;
        regs->h.cl = 0x0f;              /* XXX Invalid environmental access */