Skip to content

Latest commit

 

History

History
84 lines (54 loc) · 2.04 KB

utils.md

File metadata and controls

84 lines (54 loc) · 2.04 KB

基础组件功能(utils)

  • http_utils.c

  • http_utils.h

这两个文件是http中通用的基础组件,可实现对字符串的一系列操作。

外部函数

  • 计算传入的字符串长度,以NULL结尾。
size_t http_utils_count_concat(va_list *ap)
  • 将字符串连接到指定的str后面。
void http_utils_concat(char *str, va_list *ap)
  • str填充指定的字符串,在空间不足的情况下自动分配内存空间,str可为NULL,当str有值的时候必须是由动态内存分配的。
char *http_utils_assign_string(char **str, const char *new_str, int len)
  • 释放字符串的内存空间。
void http_utils_release_string(char *str)
  • 字符串转int类型。
int http_utils_atoi(const char *nptr)
  • int类型转字符串,string是保存字符串的空间,radix是基数,一般为10,转为十进制的数。
char *http_utils_itoa(int value, char *string, int radix)
  • 匹配字符串操作,指定匹配的字符串长度、支持忽略大小写等。
int http_utils_match(const char *str1, const char *str2)
int http_utils_nmatch(const char *str1, const char *str2, int n)
int http_utils_ignore_case_match(const char *str1, const char *str2)
int http_utils_ignore_case_nmatch(const char *str1, const char *str2, int n)

宏定义

  • 健壮性检查:当传入的item值为NULL或者false,则返回指定的err,item可以为表达式,如(aa && bb && cc)err可以是任意类型的数据,也可为空 (注意并不是NULL)
#define HTTP_ROBUSTNESS_CHECK(item, err) if (!(item)) {                                         \
        HTTP_LOG_E("%s:%d %s()... check for error.", __FILE__, __LINE__, __FUNCTION__);         \
        return err; }

内部函数

  • 判断是否为空。
int _http_utils_isspace(int x)
  • 判断是否为数字。
int _http_utils_isdigit(int x) 

上一篇network网卡

下一篇通用组件功能