|
|
发表于 2005-12-31 20:09:58
|
显示全部楼层
- while((len_read = getline(&line_get,&len,fp))!=-1)
- {
- str_tok = strtok_r(line_get,delim,&strtok_buffer);
- tmp=malloc(sizeof(char)*3);
- int_to_str(row, tmp);
- //printf("%d\n",tmp)
- channel_info[term++] =strdupa(tmp);
- channel_info[term++] = strdupa(str_tok);
- free(tmp);
- tmp=NULL;
- while((str_tok = strtok_r(NULL,delim,&strtok_buffer)))
- {
- channel_info[term++] = strdupa(str_tok);
- }
- clist_fill(channel_info);
- term = 0;
- row++;
-
- }
- free(tmp);
复制代码
最后的tmp被free了两次了吧
要不干脆while之前直接在栈上给tmp申请空间更好些吧
还有,strdupa搞出来的字符串地址怎么能赋给全局的channel_info保存? |
|