From: Larin Hennessy (larin@science.oregonstate.edu)
Date: Fri Mar 07 2003 - 19:59:05 EST
OK, another C -> C++ change comes to mind. What about
changing #define to const and/or inline template functions
depending on the situation?
For example, the WordPerfect importer/exporter has a group
of formatting codes in ie_impexp_WordPerfect.h:
#define WP_TOP_SOFT_SPACE 128 // (0x80)
...
#define WP_TOP_DISPLAY_NUMBER_REFERENCE_GROUP 0xDA
Should these be converted to:
const char WP_TOP_SOFT_SPACE = 0x80;
...
const char WP_TOP_DISPLAY_NUMBER_REFERENCE_GROUP = 0xDA;
?
It seems that if these values represent character values in files, using
the hex
representation would be more intuitive.
I would also like to look at the feasability of changing some of the
define statements
to templates. For example in ie_imp_DocBook.cpp there is X_CheckDocument:
#define X_CheckError(v) do { if (!(v)) \
{
UT_DEBUGMSG(("DOM: X_CheckError failed: %s\n", #v)); \
m_error = UT_ERROR; \
return; } } while (0)
into:
UT_Error X_CheckError(char * v)
{
do
{
if (!v)
{
UT_DEBUGMSG("DOM:_CheckError failed: %s\n", v);
return UT_ERROR;
}
} while (0);
}
Note that the above is just an idea and has not been tested.
Any thoughts on wether this would be acceptable?
-Larin
Dom Lachowicz wrote:
>>I think Larin meant ie_exp_WordPerfect.cpp, which
>>does have such a list.
>>Marc would know more about this (he wrote the code),
>>but I believe the
>>magic is only a temporary hack until we actually
>>figure out what the
>>magic means. :-) It should become history..
>>eventually.
>>
>>
>
>Indeed it does. The (char) should stay for the above
>reason, and the fact that 192 reinterpret_cast<char>()
>is much much worse than 192 (char) from a readability
>perspective. reinterpret_cast gains us nothing here.
>
>On a related note, I just committed a dos2unix version
>of exp_WordPerfect.cpp to remove the ^M problem.
>
>Dom
>
>__________________________________________________
>Do you Yahoo!?
>Yahoo! Tax Center - forms, calculators, tips, more
>http://taxes.yahoo.com/
>
>
This archive was generated by hypermail 2.1.4 : Fri Mar 07 2003 - 20:05:38 EST