1、load_log(**log)为什么要使用2重指针?使用*log行不行?
函数中第一次对log的引用:
*log = (struct log_header *)g_malloc0(lh.log_size);
第二次:
33 if (!(*log)) {
34 g_message("%s -- allocate error!\n", __func__);
35 return -1;
36 }
第三次:
37 if (lh.log_size != storage->bs_file_pread(storage,file, (char*)*log, lh.log_size, offset) ){
38 ret = -1;
39 g_free(*log);
40 goto out;
41 }
2重指针一般用于修改指针类型实参,这儿用*log存储log的内容,所以要传2重指针。
阅读(922) | 评论(0) | 转发(0) |