|
|
1.1 root 1: /*
2: * Copyright (c) 1982 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that: (1) source distributions retain this entire copyright
7: * notice and comment, and (2) distributions including binaries display
8: * the following acknowledgement: ``This product includes software
9: * developed by the University of California, Berkeley and its contributors''
10: * in the documentation or other materials provided with the distribution
11: * and in all advertising materials mentioning features or use of this
12: * software. Neither the name of the University nor the names of its
13: * contributors may be used to endorse or promote products derived
14: * from this software without specific prior written permission.
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: */
19:
20: #ifndef lint
21: static char sccsid[] = "@(#)varpush.c 5.6 (Berkeley) 6/1/90";
22: #endif /* not lint */
23:
24: # include <paths.h>
25: # include "mille.h"
26:
27: /*
28: * @(#)varpush.c 1.1 (Berkeley) 4/1/82
29: */
30:
31: int read(), write();
32:
33: /*
34: * push variables around via the routine func() on the file
35: * channel file. func() is either read or write.
36: */
37: varpush(file, func)
38: reg int file;
39: reg int (*func)(); {
40:
41: int temp;
42:
43: (*func)(file, (char *) &Debug, sizeof Debug);
44: (*func)(file, (char *) &Finished, sizeof Finished);
45: (*func)(file, (char *) &Order, sizeof Order);
46: (*func)(file, (char *) &End, sizeof End);
47: (*func)(file, (char *) &On_exit, sizeof On_exit);
48: (*func)(file, (char *) &Handstart, sizeof Handstart);
49: (*func)(file, (char *) &Numgos, sizeof Numgos);
50: (*func)(file, (char *) Numseen, sizeof Numseen);
51: (*func)(file, (char *) &Play, sizeof Play);
52: (*func)(file, (char *) &Window, sizeof Window);
53: (*func)(file, (char *) Deck, sizeof Deck);
54: (*func)(file, (char *) &Discard, sizeof Discard);
55: (*func)(file, (char *) Player, sizeof Player);
56: if (func == read) {
57: read(file, (char *) &temp, sizeof temp);
58: Topcard = &Deck[temp];
59: #ifdef DEBUG
60: if (Debug) {
61: char buf[80];
62: over:
63: printf("Debug file:");
64: gets(buf);
65: if ((outf = fopen(buf, "w")) == NULL) {
66: perror(buf);
67: goto over;
68: }
69: if (strcmp(buf, _PATH_DEVNULL) != 0)
70: setbuf(outf, (char *)NULL);
71: }
72: #endif
73: }
74: else {
75: temp = Topcard - Deck;
76: write(file, (char *) &temp, sizeof temp);
77: }
78: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.