Обсуждение: Code not compiling since 19d5486 due to concatenate operators in macros

Поиск
Список
Период
Сортировка

Code not compiling since 19d5486 due to concatenate operators in macros

От
Michael Paquier
Дата:
Hi all,
(resending patch as it looks that it was stuck in administration queue
of this ML...)

I noticed this morning that ODBC does not compile correctly since
commit 19d5486 due to some macros using concatenate operators used
with CORR_STRCPY and CORR_VALCPY in psqlodbc.c and connection.c.

In the case of CORR_VALCPY the macro simply needs to copy a field one
by one, and for CORR_STRCPY only a string is copied, so concatenate
operators are not necessary IMO. Please find a patch fixing that by
removing the unnecessary operators.
Regards,
--
Michael

Вложения

Re: Code not compiling since 19d5486 due to concatenate operators in macros

От
Heikki Linnakangas
Дата:
On 28.10.2013 10:10, Michael Paquier wrote:
> Hi all,
> (resending patch as it looks that it was stuck in administration queue
> of this ML...)
>
> I noticed this morning that ODBC does not compile correctly since
> commit 19d5486 due to some macros using concatenate operators used
> with CORR_STRCPY and CORR_VALCPY in psqlodbc.c and connection.c.
>
> In the case of CORR_VALCPY the macro simply needs to copy a field one
> by one, and for CORR_STRCPY only a string is copied, so concatenate
> operators are not necessary IMO. Please find a patch fixing that by
> removing the unnecessary operators.

Thanks, committed to fix the build.

Hiroshi, I didn't understand the point of that change in the first
place. The old memcpy method of copying these objects seemed fine to me.
Can you elaborate?

PS. I just noticed that the email address in your git commit messages is
misspelled, "inoue@tpf.co.p". Check your .gitconfig file.

- Heikki


Re: Code not compiling since 19d5486 due to concatenate operators in macros

От
Hiroshi Inoue
Дата:
(2013/10/28 19:53), Heikki Linnakangas wrote:
> On 28.10.2013 10:10, Michael Paquier wrote:
>> Hi all,
>> (resending patch as it looks that it was stuck in administration queue
>> of this ML...)
>>
>> I noticed this morning that ODBC does not compile correctly since
>> commit 19d5486 due to some macros using concatenate operators used
>> with CORR_STRCPY and CORR_VALCPY in psqlodbc.c and connection.c.
>>
>> In the case of CORR_VALCPY the macro simply needs to copy a field one
>> by one, and for CORR_STRCPY only a string is copied, so concatenate
>> operators are not necessary IMO. Please find a patch fixing that by
>> removing the unnecessary operators.
>
> Thanks, committed to fix the build.
>
> Hiroshi, I didn't understand the point of that change in the first
> place. The old memcpy method of copying these objects seemed fine to me.
> Can you elaborate?

password member of ConnInfo struct was changed to be of pgNAME type.
pgNAME type essetially means a pointer. It's dangerous to simply
copy a pointer to another one and I forgot the operation needed for
password member of pgNAME type and it caused a double free crash later.
I dislike the double free bug and changed CC_copy_conninfo to copy each
item one by one for future changes.

> PS. I just noticed that the email address in your git commit messages is
> misspelled, "inoue@tpf.co.p". Check your .gitconfig file.

Oops you are right.
Thanks.

regards,
Hiroshi Inoue