>> 50:   P2:=ib_util_malloc(80);
>>    и разве там не должно быть 81 если обявляем как
>>    CSTRING(80) т.е. с завешающем 0 (С-строка) ?

>А какая разница, по большому счету? хоть 13 байт выделяй, лишь бы
>впоследствии
>строки не превышали длину... ато будут глюки;))

 В данном случае как раз возможно...
 Пример: вызываем функцию с параметром в 80 символов ровно,
 вроде как и не противоречит, НО реально там 80 символов + '\0'
 и при таком выделении и использовании как в примере ты получишь
 ошибку памяти - в лучьшем случае и падение сервера в худшем...

 По моему этот момент надо оговорить отдельно в данной статье.
 И указать: мол обратите внимание для строк обьявленных как
 CSTRING надо резервировать на 1 байт больше, а для VARCHAR на 2,
 если правильно помню ...


С уважением,
Константин Григорьевич.
===============
Если "низя", но очень "хотса" - то "мона" :)



--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить