Dmitry, All,

I am really sorry I broke the build and could not fix it quickly.
My luck has been really bad lately. I will test builds better next time.

My mail client is broken now, so I cannot respond to your letter (I can only 
read mail via SF for now).

1) I defined FB_SIZE_T in types_pub because when somebody (Vlad?) ported my 
code into Firebird he 
made Trace API use size_t quantities in public interfaces. I used ntrace_size_t 
(defined as 
"unsigned int").

This type can become private as soon Trace API uses unsigned int.

2) Re loop counters: In counter-based loops the best and fastest datatype is 
"int". It is obviously 
faster than "unsigned int"/ULONG/FB_SIZE_T, whatever. You can use the latter 
interchangeably, and 
this is appropriate for current code base.

Unfortunately we have to interface with large amounts of code that uses 
"unsigned" for sizes and 
signed/unsigned comparisons are not very good thing because of a flaw that got 
introduced into C 
standard during ANSI standardization process. Signed gets promoted to unsigned 
and not vice versa 
(and how early C compilers did). So using plain "int" while attractive, is not 
very appropriate.

Thank you,

Nikolay

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to