* Copyright (c) 1982 Regents of the University of California.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
static char sccsid
[] = "@(#)varpush.c 5.6 (Berkeley) 6/1/90";
* @(#)varpush.c 1.1 (Berkeley) 4/1/82
* push variables around via the routine func() on the file
* channel file. func() is either read or write.
(*func
)(file
, (char *) &Debug
, sizeof Debug
);
(*func
)(file
, (char *) &Finished
, sizeof Finished
);
(*func
)(file
, (char *) &Order
, sizeof Order
);
(*func
)(file
, (char *) &End
, sizeof End
);
(*func
)(file
, (char *) &On_exit
, sizeof On_exit
);
(*func
)(file
, (char *) &Handstart
, sizeof Handstart
);
(*func
)(file
, (char *) &Numgos
, sizeof Numgos
);
(*func
)(file
, (char *) Numseen
, sizeof Numseen
);
(*func
)(file
, (char *) &Play
, sizeof Play
);
(*func
)(file
, (char *) &Window
, sizeof Window
);
(*func
)(file
, (char *) Deck
, sizeof Deck
);
(*func
)(file
, (char *) &Discard
, sizeof Discard
);
(*func
)(file
, (char *) Player
, sizeof Player
);
read(file
, (char *) &temp
, sizeof temp
);
if ((outf
= fopen(buf
, "w")) == NULL
) {
if (strcmp(buf
, _PATH_DEVNULL
) != 0)
setbuf(outf
, (char *)NULL
);
write(file
, (char *) &temp
, sizeof temp
);