Re: [COMMITTERS] pgsql: StrNCpy -> strlcpy (not complete)

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [COMMITTERS] pgsql: StrNCpy -> strlcpy (not complete)
Дата
Msg-id 200702112002.l1BK2ZD21589@momjian.us
обсуждение исходный текст
Ответ на Re: [COMMITTERS] pgsql: StrNCpy -> strlcpy (not complete)  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
Peter Eisentraut wrote:
> mark@mark.mielke.cc wrote:
> > I think we had this discussion already. strncpy() copies N bytes,
> > whereas strlcpy() copies only as many bytes as necessary. For short
> > strings with larger buffers, strlcpy() wins. It's understood that
> > in many cases in PostgreSQL, the expectation is for short strings,
> > and it is not required for the later bytes to be '\0'.
> 
> You may also speculate that strncpy() is more optimized in some C 
> libraries than strlcpy().  However, the changed cases are all 
> uninteresting in terms of performance or fall under the short strings 
> in long buffers case.
> 
> The remaining uses of StrNCpy() are either inner loops which need to be 
> investigated, or it's not clear whether the zero-filling of strncpy() 
> is required, or it's in a library were the libpgport linkages needs to 
> be added.
> 
> The main idea here is to get this programming style out because it's 
> become clear that people are very confused about how to use some of the 
> other functions correctly.

Sorry, I was confusing this with MemSet.  Thanks for the clarification.

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Pavel Stehule"
Дата:
Сообщение: Re: wishlist items ..
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: HOT for PostgreSQL 8.3