On Wed, Nov 28, 2007 at 12:35:52PM +0300, Alexander Bokovoy wrote: > Еще бы оно работало. Вы же просто повторили ерунду за авторами этого > плагина. sizeof(ttyname), как и sizeof(name), равносильны sizeof(char *) > и равны размеру указателя, но никак не размеру строки. Там нужно > использовать strlen(ttyname). UINT4 rc_map2id(char *name) { struct map2id_s *p; char ttyname[PATH_MAX]; *ttyname = '\0'; if (*name != '/') strcpy(ttyname, "/dev/"); strncat(ttyname, name, sizeof(ttyname)); for(p = map2id_list; p; p = p->next) if (!strcmp(ttyname, p->name)) return p->id; warn("rc_map2id: can't find tty %s in map database", ttyname); return 0; } Есть любители кодить на язычке Си всякие прикладные вещи. И там это ещё называется "качество кода" или как-то так.