■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
プログラマが2chを救う!?
- 926 :デフォルトの名無しさん :01/08/27 23:43 ID:bJ23bC3M
-  Teri_Break: 
 //名前欄に','が入っている時にsplitをミスるので、見誤る可能性があるので、
 //This->isTeri = true;
 Break:
 *bufp++ = '\0';
 This->rest -= bufp - *This->buffers;
 *++This->buffers = bufp;
 
 //区切り末の空白を削除
 if (*p == ' ')
 ++p;
 return p;
 }
 
 void splitting_copy(char **s, char *bufp, const char *p, int size)
 {
 ressplitter res;
 ressplitter_init(&res, s, bufp, size);
 
 p = ressplitter_split(&res, p, false);//name
 p = ressplitter_split(&res, p, false);//mail
 p = ressplitter_split(&res, p, false);//date
 p = ressplitter_split(&res, p, LINKTAGCUT && IsBusy2ch());//text
 p = ressplitter_split(&res, p, false);//title
 //IsBusy2ch()を何度も呼ぶのは大きな無駄
 }
 
 
- 927 :デフォルトの名無しさん :01/08/27 23:43 ID:bJ23bC3M
-  その他に直す部分は、 
 先頭のほうに、
 #definefalse(0)
 #definetrue(!false)
 #defineLINKTAGCUTtrue
 
 out_html1()(369-)
 - strncpy(p, BigLine[0], 1024);
 - p[1024 - 1] = '\0';
 - if (!*p)
 - return 1;
 - res_split(s, p);
 + splitting_copy(s, p, BigLine[0], sizeof(p) - 20);
 + if (!*p)
 + return 1;
 
 out_html()(404-)
 - strncpy(p, BigLine[0], 1024);
 - p[1024 - 1] = '\0';
 - if (!*p)
 - return 1;
 - res_split(s, p);
 + splitting_copy(s, p, BigLine[0], sizeof(p) - 20);
 + if (!*p)
 + return 1;
 
 out_html()(421-)
 - strncpy(p, BigLine[line], 1024);
 - p[1024 - 1] = '\0';
 - if (!*p)
 - return 1;
 - res_split(s, p);
 + splitting_copy(s, p, BigLine[line], sizeof(p) - 20);
 + if (!*p)
 + return 1;
 
 hrefStop()
 マクロで定義しなおしているので、
 #if0
 #endif
 ででもはさんでくれ(コンパイルエラーが出る)。
 res_split()とfindSplitter()も必要なくなるが、エラーにはならないので。
 
 
- 928 :デフォルトの名無しさん :01/08/28 00:19 ID:gWXKzR9.
-  わかると思うけど、 
 >>925の
 case '&':
 の下は、当然、
 if (memcmp(p, "&", 4) == 0) {
 ね。
 
 
- 929 :デフォルトの名無しさん :01/08/29 22:04 ID:eQiT7HbI
-  BadAccessってさ、なんでif文を切ってるの? 
 コンパイルした時にダイナミックステップが多くなるじゃん。
 caseにしろよ。その方が高速化するぞ。
 
 
- 930 :デフォルトの名無しさん :01/08/29 22:38 ID:6wtO5bLA
-  >>929 
 文字列比較にcase?
 
 
231KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30