]> git.saurik.com Git - apple/shell_cmds.git/blobdiff - window/context.c
shell_cmds-53.tar.gz
[apple/shell_cmds.git] / window / context.c
diff --git a/window/context.c b/window/context.c
deleted file mode 100644 (file)
index 4409a69..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*     $NetBSD: context.c,v 1.4 1997/11/21 08:35:58 lukem Exp $        */
-
-/*
- * Copyright (c) 1983, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Edward Wang at The University of California, Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 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
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)context.c  8.1 (Berkeley) 6/6/93";
-#else
-__RCSID("$NetBSD: context.c,v 1.4 1997/11/21 08:35:58 lukem Exp $");
-#endif
-#endif /* not lint */
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include "defs.h"
-#include "window_string.h"
-#undef EXTERN
-#define EXTERN
-#include "context.h"
-#undef  EXTERN
-
-/*
- * Context push/pop for nested command files.
- */
-int    cx_alloc __P((void));
-void   cx_free __P((void));
-
-int
-cx_alloc()
-{
-       struct context *xp;
-
-       if (cx.x_type != 0) {
-               xp = (struct context *)
-                       malloc((unsigned) sizeof (struct context));
-               if (xp == 0)
-                       return -1;
-               *xp = cx;
-               cx.x_link = xp;
-               cx.x_type = 0;
-       }
-       cx.x_erred = 0;
-       cx.x_synerred = 0;
-       cx.x_abort = 0;
-       return 0;
-}
-
-void
-cx_free()
-{
-       struct context *xp;
-
-       if ((xp = cx.x_link) != 0) {
-               cx = *xp;
-               free((char *)xp);
-       } else
-               cx.x_type = 0;
-}
-
-int
-cx_beginfile(filename)
-       char *filename;
-{
-       if (cx_alloc() < 0)
-               return -1;
-       cx.x_type = X_FILE;
-       if ((cx.x_filename = str_cpy(filename)) == 0)
-               goto bad;
-       cx.x_fp = fopen(filename, "r");
-       if (cx.x_fp == 0)
-               goto bad;
-       (void) fcntl(fileno(cx.x_fp), F_SETFD, 1);
-       cx.x_bol = 1;
-       cx.x_lineno = 0;
-       cx.x_errwin = 0;
-       cx.x_noerr = 0;
-       return 0;
-bad:
-       if (cx.x_filename != 0)
-               str_free(cx.x_filename);
-       cx_free();
-       return -1;
-}
-
-int
-cx_beginbuf(buf, arg, narg)
-       char *buf;
-       struct value *arg;
-       int narg;
-{
-       if (cx_alloc() < 0)
-               return -1;
-       cx.x_type = X_BUF;
-       cx.x_bufp = cx.x_buf = buf;
-       cx.x_arg = arg;
-       cx.x_narg = narg;
-       return 0;
-}
-
-void
-cx_end()
-{
-       switch (cx.x_type) {
-       case X_BUF:
-               break;
-       case X_FILE:
-               (void) fclose(cx.x_fp);
-               str_free(cx.x_filename);
-               break;
-       }
-       cx_free();
-}