On Wed, 18 Feb 2004, Paul Arakelyan wrote:
Вот сегодня глюк нашёл в компиляторе: printf("config - port: %s:%d -> %s:%d %s\n", inet_ntoa(someaddr1), ntohs( someinp ), inet_ntoa(someaddr2), ntohs( someoutp )); Результаты inet_ntoa совпадают, при том что адреса - разные. При расписывании на два printf - всё нормально.
Компилятор тут ни при чем. Если внимательно почитать man inet_ntoa (секция BUGS), то увидишь, что inet_ntoa() возвращает в качестве результата всегда один и тот же pointer -- на свой внутренний статический буфер, куда она пишет результат. Теперь осталось учесть тот факт, что все аргументы printf() вычисляются до собственно вызова printf() и ты получишь полную картину происходящего. -- Olwi =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message