前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis_3.0.7_sds.c_sdsIncrLen()

redis_3.0.7_sds.c_sdsIncrLen()

作者头像
青木
发布2018-05-28 15:32:24
5020
发布2018-05-28 15:32:24
举报

源程序

代码语言:javascript
复制
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的大小都会变动。

函数:

代码语言:javascript
复制
void assert( int expression );

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源程序
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档