"return bSuccess" returns integer value of bSuccess. For a 64bits computer, there are ~2^64 possible or returns. Later use of == may cause unexpected results.
"return bSuccess?True:False" returns finite value of either True or False. Later use of == is safe anywhere. if-then-else will generate the same code after compiler done its work.
A complex line of good-looking C code normally generate the same code after compile as several line of simple verbose ugly codes. Single liner is good for text books, tests and interviews. Verbose code may do good to projects - when you have to put enough lines of comments for each line you wrote 5 years ago for knowledge transfer, verbose codes is definitely preferred.
"return bSuccess?True:False" returns finite value of either True or False. Later use of == is safe anywhere. if-then-else will generate the same code after compiler done its work.
A complex line of good-looking C code normally generate the same code after compile as several line of simple verbose ugly codes. Single liner is good for text books, tests and interviews. Verbose code may do good to projects - when you have to put enough lines of comments for each line you wrote 5 years ago for knowledge transfer, verbose codes is definitely preferred.