Deleted Added
full compact
kern_sysctl.c (71999) kern_sysctl.c (73971)
1/*-
2 * Copyright (c) 1982, 1986, 1989, 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 * Mike Karels at Berkeley Software Design, Inc.
7 *
8 * Quite extensively rewritten by Poul-Henning Kamp of the FreeBSD

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

32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * SUCH DAMAGE.
38 *
39 * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94
1/*-
2 * Copyright (c) 1982, 1986, 1989, 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 * Mike Karels at Berkeley Software Design, Inc.
7 *
8 * Quite extensively rewritten by Poul-Henning Kamp of the FreeBSD

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

32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * SUCH DAMAGE.
38 *
39 * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94
40 * $FreeBSD: head/sys/kern/kern_sysctl.c 71999 2001-02-04 13:13:25Z phk $
40 * $FreeBSD: head/sys/kern/kern_sysctl.c 73971 2001-03-08 01:20:43Z tmm $
41 */
42
43#include "opt_compat.h"
44
45#include <sys/param.h>
46#include <sys/systm.h>
47#include <sys/kernel.h>
48#include <sys/sysctl.h>

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

812 */
813static int
814sysctl_old_kernel(struct sysctl_req *req, const void *p, size_t l)
815{
816 size_t i = 0;
817
818 if (req->oldptr) {
819 i = l;
41 */
42
43#include "opt_compat.h"
44
45#include <sys/param.h>
46#include <sys/systm.h>
47#include <sys/kernel.h>
48#include <sys/sysctl.h>

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

812 */
813static int
814sysctl_old_kernel(struct sysctl_req *req, const void *p, size_t l)
815{
816 size_t i = 0;
817
818 if (req->oldptr) {
819 i = l;
820 if (i > req->oldlen - req->oldidx)
821 i = req->oldlen - req->oldidx;
820 if (req->oldlen <= req->oldidx)
821 i = 0;
822 else
823 if (i > req->oldlen - req->oldidx)
824 i = req->oldlen - req->oldidx;
822 if (i > 0)
823 bcopy(p, (char *)req->oldptr + req->oldidx, i);
824 }
825 req->oldidx += l;
826 if (req->oldptr && i != l)
827 return (ENOMEM);
828 return (0);
829}

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

909 size_t i = 0;
910
911 if (req->lock == 1 && req->oldptr) {
912 vslock(req->oldptr, req->oldlen);
913 req->lock = 2;
914 }
915 if (req->oldptr) {
916 i = l;
825 if (i > 0)
826 bcopy(p, (char *)req->oldptr + req->oldidx, i);
827 }
828 req->oldidx += l;
829 if (req->oldptr && i != l)
830 return (ENOMEM);
831 return (0);
832}

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

912 size_t i = 0;
913
914 if (req->lock == 1 && req->oldptr) {
915 vslock(req->oldptr, req->oldlen);
916 req->lock = 2;
917 }
918 if (req->oldptr) {
919 i = l;
917 if (i > req->oldlen - req->oldidx)
918 i = req->oldlen - req->oldidx;
920 if (req->oldlen <= req->oldidx)
921 i = 0;
922 else
923 if (i > req->oldlen - req->oldidx)
924 i = req->oldlen - req->oldidx;
919 if (i > 0)
920 error = copyout(p, (char *)req->oldptr + req->oldidx,
921 i);
922 }
923 req->oldidx += l;
924 if (error)
925 return (error);
926 if (req->oldptr && i < l)

--- 427 unchanged lines hidden ---
925 if (i > 0)
926 error = copyout(p, (char *)req->oldptr + req->oldidx,
927 i);
928 }
929 req->oldidx += l;
930 if (error)
931 return (error);
932 if (req->oldptr && i < l)

--- 427 unchanged lines hidden ---