/* *Kernel : Linux2.6.32.63 *File : \scripts\mod\modpost.h \scripts\mod\modpost.c *Author : DavidLin *Date : 2014-12-25pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *world : the city of SZ, in China *Ver : 000.000.001 *history : editor time do * 1)LinPeng 2014-12-25 created this file! * 2) */ /* modpost.h */ #define NOFAIL(ptr) do_nofail((ptr), #ptr) void* do_nofail (void* ptr, const char* expr); /* end of modpost.h */ /* modpost.c */ void* do_nofail(void* ptr, const char* expr) { if(!ptr) fatal("modpost: Memory allocation failure:%s.\n", expr); return ptr; } static struct module* new_module(char* modname) { struct module* mod; char *p, *s; mod = NOFAIL(malloc(sizeof(*mod))); memset(mod, 0, sizeof(*mod)); p = NOFAIL(strdup(modname)); /* strip trailing .o */ s = strrchr(p, '.'); if(s != NULL) if(strcmp(s, ".o") == 0) *s = '\0'; /* add to list */ mod->name = p; mod->gpl_compatible = -1; mod->next = modules; modules = mod; return mod; }
Linux内核编程:源码分析之防御性编程学习
原创linpeng1577 ©著作权
©著作权归作者所有:来自51CTO博客作者linpeng1577的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
linux之socket编程
linux之socket编程
数据 端口号 IP -
《代码大全2》之---防御性编程 .
第二部分 防御性编程 本文为《代码大全2》的读书笔记,版权归代码大全所有。^_^本文
java c/c++ 数据库 数据 子程序 -
常见的8个前端防御性编程方案
关于前端防御性编程我们大多数情况可能遇到过,后端的由于同时请求人数过多,或者数据量过大,又或者是因为异常导致服务异常,接口请求失败,然后前端出现白屏或者报错还有一种情况,是前端自身写的代码...
js react javascript vue java -
java 防御性编程 防御式编程
目录一、断言1.断言的概念 2.断言的形式 3.断言的使用二、错误处理1.概念 2.错误类型(1)语法错误(2)语义错误(3)逻辑错误3.错误分类(1)按照错误类型(2)按照调用类型(3)按照展现方式三、异常
java 防御性编程 java 错误处理 Express 错误类型