Say I have these two lines:

Code:
    /* verify that the checksum matches */
    if (l_iChecksum == p_lpszFileData[l_iDataSize])
'l_iChecksum' is of type (unsigned int) which should be 4 bytes in length. Now I try to compare that with the 4 bytes at p_lpszFileData[l_iDataSize].

Of course, it won't work, it's only comparing 1 byte from p_lpszFileData[l_iDataSize].

My question is, should I fix it this way:

Code:
    /* verify that the checksum matches */
    if (l_iChecksum == *(unsigned int*)&p_lpszFileData[l_iDataSize])
Or is there any easier way to get this done?