util.c

来自「一个基于linux的TCP/IP协议栈的实现」· C语言 代码 · 共 52 行

C
52
字号
/* Copyright 1998 by Andi Kleen. Subject to the GPL. */ /* $Id: util.c,v 1.4 1998/11/17 15:17:02 freitag Exp $ */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/utsname.h>#include "util.h"static void oom(void){    fprintf(stderr, "out of virtual memory\n");    exit(2);}void *xmalloc(size_t sz){    void *p = calloc(sz, 1);    if (!p)	oom();    return p;}void *xrealloc(void *oldp, size_t sz){    void *p = realloc(oldp, sz);    if (!p)	oom();    return p;}int kernel_version(void){	struct utsname uts;	int major, minor, patch;	if( uname(&uts) < 0 )		return -1;	if( sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch) != 3 )		return -1;	return KRELEASE(major, minor, patch);}/* Like strncpy but make sure the resulting string is always 0 terminated. */  char *safe_strncpy(char *dst, const char *src, size_t size){       dst[size-1] = '\0';    return strncpy(dst,src,size-1);   }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?