C. Michael Pilato wrote:
> Stefan Küng wrote:
>> Hi,
>>
>> A user reported a strange problem that happens only with TSVN and serf,
>> but not with the CL client.
>> http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=1752435
>>
>> After some testing I found that TSVN passes a value of 32 as 'true' to
>> svn_client_lock for the --force flag. This works ok when using neon, but
>> fails when using serf. If I pass 1 instead of 32 then serf works too.
>>
>> Now while I can fix this easily in TSVN, I'm wondering if it's really
>> required to pass 1 as svn_boolean_t values? Shouldn't all comparisons be
>> done as !=0 instead of == 1 in C since it doesn't have a bool type?
>
> While I generally agree that for all intents and purposes, false == 0 and
> true is anything else, we do provide the values TRUE and FALSE for use with
> svn_boolean_t and it is not technically a contract violation to expect
> exactly one of those two values to be provided by the caller.
>
Hmm - according to wikipedia:
http://en.wikipedia.org/wiki/Boolean_datatype
"However, problems arise from the fact that any non-zero value
represents true in C, while the value TRUE is represented by a specific
value. So while in other languages, if (foo == TRUE) ... is merely
redundant, in C, it is actually incorrect code."
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1753780
Received on 2009-04-16 21:48:10 CEST