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 + -
显示快捷键?