Try this:
1. calculate the bullet next_position
2. c_trace from current position to next position
3. if not hit move bullet to next position
4. if hit move bullet position to hit position(or what ever you want to do)

or

1. copy current position to last_position vector
2. move bullet
3. c_trace from last_position to current position
4. if not hit move bullet to next position
5. if hit move bullet position to hit position(or what ever you want to do)