关键词搜索

源码搜索 ×
×

漫话Redis源码之二十七

发布2021-12-05浏览1015次

详情内容

这里的函数比较简单,snprintf的用法要学一下,别搞出边界问题啦。

  1. #include <string.h>
  2. #include <stdio.h>
  3. #include "release.h"
  4. #include "version.h"
  5. #include "crc64.h"
  6. char *redisGitSHA1(void) {
  7. return REDIS_GIT_SHA1;
  8. }
  9. char *redisGitDirty(void) {
  10. return REDIS_GIT_DIRTY;
  11. }
  12. uint64_t redisBuildId(void) {
  13. char *buildid = REDIS_VERSION REDIS_BUILD_ID REDIS_GIT_DIRTY REDIS_GIT_SHA1;
  14. return crc64(0,(unsigned char*)buildid,strlen(buildid));
  15. }
  16. /* Return a cached value of the build string in order to avoid recomputing
  17. * and converting it in hex every time: this string is shown in the INFO
  18. * output that should be fast. */
  19. char *redisBuildIdString(void) {
  20. static char buf[32];
  21. static int cached = 0;
  22. if (!cached) {
  23. snprintf(buf,sizeof(buf),"%llx",(unsigned long long) redisBuildId());
  24. cached = 1;
  25. }
  26. return buf;
  27. }

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载