|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||||||
2001年12月06日(木) 旧暦 [n年日記]#1 [C] ある文字から後を捨てたいが、Segmentation fault
何故。
extern void printf();
unsigned int str_len(s)
register char *s;
{
register char *t;
t = s;
for (;;) {
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
}
}
int main ()
{
static char *ptr = "makoto%test@harry.ki.nu";
char i;
printf("start: %s\n", ptr);
printf("%0x\n", (int) ptr);
ptr += str_len(ptr);
printf("%0x\n",(int) ptr);
while ( *ptr != '@' ) --ptr;
printf("%0x\n",(int) ptr);
printf("%s\n", ptr);
i = *ptr;
printf("%0x\n", i);
*ptr = 0;
printf("done.\n");
return 0;
}
@ 出来た。ptr と *p は混ぜてはいけない ?:
extern void printf();
extern char* strrchr();
static char ptr[] = "makoto%test@harry.ki.nu";
int main ()
{
char *p;
p = ptr;
printf("start: %s\n", ptr);
p = strrchr(ptr,'@');
*p = 0;
printf("%s\n", ptr);
return 0;
という訳で、上で試したことは結局役に立たなかった。..
全くの冗談だという気もしているが qmail-1.03 を使って relay-test.mail-abuse.org
を通すようにする修正を作って見た。
( つっこみ )
|
最近の日記 2026年01月29日 ・Die Fledermaus at New National theatre 2026/01/29 2025年12月25日 ・pbulk 11.99.3 (emacs30) 2025年11月22日 ・crash dump 2025年10月25日 ・recover from disk error 2025年10月23日 ・dd does not duplicate Windows 11 boot disk ? | ||