// Only copy if the positions differ
if(read != write) {
Log("write = %i, read = %i", write, read);
- memcpy( &ret[write], &ret[read], pos-read );
+ memcpy( &ret[write], &ret[read], pos-read+1 );
}
- write = pos+1;
+ write += (pos-read)+1;
+
if(slashNum < MAX_PATH_SLASHES)
- slashOffsets[ slashNum++ ] = pos;
+ slashOffsets[ slashNum++ ] = write;
else {
LOG("Path '%s' has too many elements", Path);
free(ret);