Deleted Added
full compact
exec.c (194922) exec.c (196483)
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Kenneth Almquist.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 22 unchanged lines hidden (view full) ---

31 */
32
33#ifndef lint
34#if 0
35static char sccsid[] = "@(#)exec.c 8.4 (Berkeley) 6/8/95";
36#endif
37#endif /* not lint */
38#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Kenneth Almquist.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 22 unchanged lines hidden (view full) ---

31 */
32
33#ifndef lint
34#if 0
35static char sccsid[] = "@(#)exec.c 8.4 (Berkeley) 6/8/95";
36#endif
37#endif /* not lint */
38#include <sys/cdefs.h>
39__FBSDID("$FreeBSD: head/bin/sh/exec.c 194922 2009-06-24 22:04:04Z jilles $");
39__FBSDID("$FreeBSD: head/bin/sh/exec.c 196483 2009-08-23 21:09:46Z jilles $");
40
41#include <sys/types.h>
42#include <sys/stat.h>
43#include <unistd.h>
44#include <fcntl.h>
45#include <errno.h>
46#include <stdlib.h>
47

--- 233 unchanged lines hidden (view full) ---

281 } while (--index >= 0);
282 out1str(name);
283 } else if (cmdp->cmdtype == CMDBUILTIN) {
284 out1fmt("builtin %s", cmdp->cmdname);
285 } else if (cmdp->cmdtype == CMDFUNCTION) {
286 out1fmt("function %s", cmdp->cmdname);
287 if (verbose) {
288 INTOFF;
40
41#include <sys/types.h>
42#include <sys/stat.h>
43#include <unistd.h>
44#include <fcntl.h>
45#include <errno.h>
46#include <stdlib.h>
47

--- 233 unchanged lines hidden (view full) ---

281 } while (--index >= 0);
282 out1str(name);
283 } else if (cmdp->cmdtype == CMDBUILTIN) {
284 out1fmt("builtin %s", cmdp->cmdname);
285 } else if (cmdp->cmdtype == CMDFUNCTION) {
286 out1fmt("function %s", cmdp->cmdname);
287 if (verbose) {
288 INTOFF;
289 name = commandtext(cmdp->param.func);
289 name = commandtext(&cmdp->param.func->n);
290 out1c(' ');
291 out1str(name);
292 ckfree(name);
293 INTON;
294 }
295#ifdef DEBUG
296 } else {
297 error("internal error: cmdtype %d", cmdp->cmdtype);

--- 280 unchanged lines hidden (view full) ---

578 struct tblentry *cmdp;
579
580 INTOFF;
581 for (tblp = cmdtable ; tblp < &cmdtable[CMDTABLESIZE] ; tblp++) {
582 pp = tblp;
583 while ((cmdp = *pp) != NULL) {
584 if (cmdp->cmdtype == CMDFUNCTION) {
585 *pp = cmdp->next;
290 out1c(' ');
291 out1str(name);
292 ckfree(name);
293 INTON;
294 }
295#ifdef DEBUG
296 } else {
297 error("internal error: cmdtype %d", cmdp->cmdtype);

--- 280 unchanged lines hidden (view full) ---

578 struct tblentry *cmdp;
579
580 INTOFF;
581 for (tblp = cmdtable ; tblp < &cmdtable[CMDTABLESIZE] ; tblp++) {
582 pp = tblp;
583 while ((cmdp = *pp) != NULL) {
584 if (cmdp->cmdtype == CMDFUNCTION) {
585 *pp = cmdp->next;
586 freefunc(cmdp->param.func);
586 unreffunc(cmdp->param.func);
587 ckfree(cmdp);
588 } else {
589 pp = &cmdp->next;
590 }
591 }
592 }
593 INTON;
594}

--- 70 unchanged lines hidden (view full) ---

665void
666addcmdentry(char *name, struct cmdentry *entry)
667{
668 struct tblentry *cmdp;
669
670 INTOFF;
671 cmdp = cmdlookup(name, 1);
672 if (cmdp->cmdtype == CMDFUNCTION) {
587 ckfree(cmdp);
588 } else {
589 pp = &cmdp->next;
590 }
591 }
592 }
593 INTON;
594}

--- 70 unchanged lines hidden (view full) ---

665void
666addcmdentry(char *name, struct cmdentry *entry)
667{
668 struct tblentry *cmdp;
669
670 INTOFF;
671 cmdp = cmdlookup(name, 1);
672 if (cmdp->cmdtype == CMDFUNCTION) {
673 freefunc(cmdp->param.func);
673 unreffunc(cmdp->param.func);
674 }
675 cmdp->cmdtype = entry->cmdtype;
676 cmdp->param = entry->u;
677 INTON;
678}
679
680
681/*

--- 18 unchanged lines hidden (view full) ---

700 */
701
702int
703unsetfunc(char *name)
704{
705 struct tblentry *cmdp;
706
707 if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) {
674 }
675 cmdp->cmdtype = entry->cmdtype;
676 cmdp->param = entry->u;
677 INTON;
678}
679
680
681/*

--- 18 unchanged lines hidden (view full) ---

700 */
701
702int
703unsetfunc(char *name)
704{
705 struct tblentry *cmdp;
706
707 if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) {
708 freefunc(cmdp->param.func);
708 unreffunc(cmdp->param.func);
709 delete_cmd_entry();
710 return (0);
711 }
712 return (0);
713}
714
715/*
716 * Shared code for the following builtin commands:

--- 117 unchanged lines hidden ---
709 delete_cmd_entry();
710 return (0);
711 }
712 return (0);
713}
714
715/*
716 * Shared code for the following builtin commands:

--- 117 unchanged lines hidden ---