博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis_3.0.7_sds.c_sdsIncrLen()
阅读量:5848 次
发布时间:2019-06-19

本文共 557 字,大约阅读时间需要 1 分钟。

hot3.png

源程序

void sdsIncrLen(sds s,int incr){    struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr)));    if(incr >= 0)        assert(sh->free >=(unsigned int)incr);    else        assert(sh->len >= (unsigned int)(-incr));    sh->len += incr;    sh->free -= incr;    s[sh->len] = '\0';}

这个函数用来计算调整sds字符串中len和free的大小。每次对sds字符串经过操作之后,字符串的len和free的大小都会变动。

函数:

void assert( int expression );

先计算表达式expression,如果expression为真,则assert()无任何作用;如果expression为假,则函数先向标准错误流stderr打印一条出错信息,然后通过abort来终止程序运行。

本质上,assert是一个宏,并不是函数。

转载于:https://my.oschina.net/u/1771419/blog/1619622

你可能感兴趣的文章
日期和时间
查看>>
谈谈对Python的感想
查看>>
AVAssetDownloadURLSession
查看>>
引号替换 前位输出
查看>>
SVN版本控制安装全步骤
查看>>
晶振不起振的原因及其解决方法
查看>>
[转]概率基础和R语言
查看>>
面向对象
查看>>
学习目标
查看>>
1569. Encrypted SMS
查看>>
erlang图书
查看>>
ASP.NET MVC 在控制器中接收视图表单POST过来的数据方法
查看>>
CRM项目问答总结
查看>>
asp.net core系列 45 Web应用 模型绑定和验证
查看>>
Java枚举类
查看>>
学会使用AngularJS
查看>>
STL学习:STL库vector、string、set、map用法
查看>>
linux性能评估-cpu概念理解篇
查看>>
IOS 应用 退出的一个小方法
查看>>
widget(6、menu)
查看>>