kplato compile problem on windows

Jaroslaw Staniek staniek at kde.org
Wed Jan 26 08:17:18 GMT 2011


On 26 January 2011 08:46, Pierre Stirnweiss <pstirnweiss at googlemail.com> wrote:
> Hi Dag,
>
> sorry to nag you again. I have some questions related to the external (made
> internal) dependency for the scheduler (librcps). Was there a reason to copy
> the code inside our repository instead of linking to it as an external lib?
> I have a couple of problems with it. The first problem, which is now solved
> is that the files have a .c extension, although they are c++. I (locally)
> renamed them. However, that fix might not be desirable, the code being from
> external source. In that case I think there is the possibility to add a flag
> to the CMakeList.txt. Tell me what you think is best.
>
> The problem I am now stuck at is coming from this:
>
>  537 int job_compare(const void *a, const void *b) {
>  538         return a - b;
>  539 }
>
> MSVC tells me that the size of const void* is unknown. On looking on the
> web, I see people explaining that since the object type, and therefore size
> is unknown you cannot (at least in msvc) do pointer math on these. There are
> actually some quite heated discussions on the merit of msvc/gcc spawning
> from this, funny.
> Basically it seems that the consensus is to cast the pointer to a char* if
> you want to do pointer arithmetic.
> Now, I am not actually completely sure I understand what is wanted here, but
> I assume this code is basically a: if(job a == job b) return 0 else return
> !0. I guess then that casting the pointers to char* wouldn't affect the
> logic, would it?

That should be the goal here, so return a==b?0:1 would be enough.
I do not know all the context for the question but doing pointer
arithmetic when we dont know how memory pointed by a and b was
allocated, would be risky (is it known that if a was allocated before
b, then a < b?).

-- 
regards / pozdrawiam, Jaroslaw Staniek
 http://www.linkedin.com/in/jstaniek
 Kexi & Calligra (kexi-project.org, identi.ca/kexi, calligra-suite.org)
 KDE Software Development Platform on MS Windows (windows.kde.org)



More information about the calligra-devel mailing list