On Wed, Jan 25, 2017 at 09:40:14AM +0300, Alexey Tourbin wrote: > 2017-01-16 14:48 GMT+03:00 Dmitry V. Levin : > > Hi, > > > > On Mon, Jan 16, 2017 at 01:22:24AM +0300, Alexey Tourbin wrote: > > [...] > >> Ну например, из очень старого кода, который оказывается и не я > >> написал, а он мне снится по ночам: > >> > >> /* XXX diff may overflow short int */ > >> char buf[3] = { (char) 0x80, (char) (diff >> 8), > >> (char) diff }; > >> > >> http://git.altlinux.org/people/at/packages/slocate.git?p=slocate.git;a=commitdiff;h=82eb736e > >> > >> Насколько легальна здесь инициализация buf[0] = (char) 0x80? Это уже вышка? > > > > Что же это получается, may overflow, стало быть, вас не беспокоит, > > а (char) 0x80 беспокоит? > > На практике diff = lcp(path0,path1) - lcp(path1,path2), где lcp - > общий префикс, ограничивается сверху и снизу значением PATH_MAX = > 4096. То есть это немного разные виды беспокойств. Бывают пути длиннее PATH_MAX. -- ldv