Changeset View
Changeset View
Standalone View
Standalone View
stand/libsa/closeall.c
/* $NetBSD: closeall.c,v 1.1 1996/01/13 22:25:36 leo Exp $ */ | |||||
/*- | /*- | ||||
* Copyright (c) 1993 | * SPDX-License-Identifier: BSD-2-Clause-FreeBSD | ||||
* The Regents of the University of California. All rights reserved. | |||||
* | * | ||||
* This code is derived from software contributed to Berkeley by | * Copyright (c) 2021 Toomas Soome <tsoome@me.com> | ||||
* The Mach Operating System project at Carnegie-Mellon University. | |||||
* | * | ||||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
* modification, are permitted provided that the following conditions | * modification, are permitted provided that the following conditions | ||||
* are met: | * are met: | ||||
* 1. Redistributions of source code must retain the above copyright | * 1. Redistributions of source code must retain the above copyright | ||||
* notice, this list of conditions and the following disclaimer. | * notice, this list of conditions and the following disclaimer. | ||||
* 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright | ||||
* notice, this list of conditions and the following disclaimer in the | * notice, this list of conditions and the following disclaimer in the | ||||
* documentation and/or other materials provided with the distribution. | * documentation and/or other materials provided with the distribution. | ||||
* 3. 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 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | * 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 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
* SUCH DAMAGE. | * SUCH DAMAGE. | ||||
* | * | ||||
* @(#)close.c 8.1 (Berkeley) 6/11/93 | |||||
* | |||||
* | |||||
* Copyright (c) 1989, 1990, 1991 Carnegie Mellon University | |||||
* All Rights Reserved. | |||||
* | |||||
* Author: Alessandro Forin | |||||
* | |||||
* Permission to use, copy, modify and distribute this software and its | |||||
* documentation is hereby granted, provided that both the copyright | |||||
* notice and this permission notice appear in all copies of the | |||||
* software, derivative works or modified versions, and any portions | |||||
* thereof, and that both notices appear in supporting documentation. | |||||
* | |||||
* CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" | |||||
* CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR | |||||
* ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. | |||||
* | |||||
* Carnegie Mellon requests users of this software to return to | |||||
* | |||||
* Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU | |||||
* School of Computer Science | |||||
* Carnegie Mellon University | |||||
* Pittsburgh PA 15213-3890 | |||||
* | |||||
* any improvements or extensions that they make and grant Carnegie the | |||||
* rights to redistribute these changes. | |||||
*/ | */ | ||||
#include <sys/cdefs.h> | #include <sys/cdefs.h> | ||||
__FBSDID("$FreeBSD$"); | __FBSDID("$FreeBSD$"); | ||||
#include "stand.h" | #include "stand.h" | ||||
void | void | ||||
closeall() | closeall(void) | ||||
{ | { | ||||
int i; | struct open_file *f; | ||||
for (i = 0; i < SOPEN_MAX; i++) | /* | ||||
if (files[i].f_flags != 0) | * Pick up last entry and close it, this will also trigger | ||||
(void)close(i); | * the removal of this entry, and we end up with empty list. | ||||
*/ | |||||
while ((f = TAILQ_LAST(&files, file_list)) != NULL) { | |||||
(void)close(f->f_id); | |||||
imp: nit: casts like this usually don't have a space. | |||||
} | |||||
/* reset errno from close() */ | |||||
errno = 0; | |||||
Done Inline ActionsThis is a total re-write of this function / file. Whomever wrote it (you or your client) should likely remove the old licenses and put a standard BSD-2-Clause license in its place. imp: This is a total re-write of this function / file. Whomever wrote it (you or your client) should… | |||||
} | } |
nit: casts like this usually don't have a space.