home *** CD-ROM | disk | FTP | other *** search
- /*
- HEADER: CUG999.14;
- */
-
- /* This function is used only for code development. It need not be
- * included in the link proceedure if not called.
- *
- * The text will appear on the second line in reverse field.
- * The second line is reserved for the diagnostic data on the first call.
- * Execution is suspended until the next keystroke so that the output
- * can be read in case of back-to-back outputs.
- *
- * The variables a1-a8 are not simply related to the actual parameters.
- * The code is a trick which copies the first 8 words of the argument
- * list to sprintf. The technique is moderately portable, but is outside
- * the language defintion and is not used in the application code to
- * insure portability. tprintf is used exactly like printf, except that
- * no newlines are needed and the number of arguments can't exceed 8 tyoe
- * integer or 4 type long.
- *
- * far pointers can be printed with tprintf as %lx integers. They appear
- * in the form SEG:OFFSET. The absolute memory address of a near pointer
- * can be displayed by casting the pointer as type far.
- *
- * Another method of printing diagnostic output is to set topline to a value
- * greater than 1 to reserve lines at the top, then use gotoxy() to position
- * the cursor, (gotoxy(0,1) for the second line), then use printf in the
- * conventional manner. The last printf must be followed by a call to
- * resetpcursor.
- */
-
- #include "ged.h"
-
- /* print and hold a short time */
- tprintf(str,a1,a2,a3,a4,a5,a6,a7,a8)
- char *str, *a1, *a2, *a3, *a4, *a5, *a6,*a7,*a8;
- {
- char buf[81];
- int j;
- long i;
-
- /* reserve an additional line at the top. help display assumed off */
- if(topline == 1) {
- topline = 2;
- calp();
- /* a call to putpage here would be proper but might compiicate troubleshooting
- * too much.
- */
- }
-
- for (j=0; j<80; j++)
- buf[j]=' ';
- buf[79]=0;
- scr_aputs(0,1,buf,ATTR0);
- sprintf(buf,str,a1,a2,a3,a4,a5,a6,a7,a8);
- scr_aputs(0,1,buf,ATTR2);
- for (i = 0; i < 25000L; i++);
- return;
- }
-
- /* print and hold */
-
- hprintf(str,a1,a2,a3,a4,a5,a6,a7,a8)
- char *str, *a1, *a2, *a3, *a4, *a5;
- {
- int i;
- i = chkbuf();
- tprintf(str,a1,a2,a3,a4,a5,a6,a7,a8);
- /* Wait for any key. */
- while (chkbuf() == i)
- ;
- inbufp =0;
- scr_aputs(78,1," ",ATTR2); /* acknowledge the key. it is used normally. */
- return;
- }
-
-
-
-
-