diff --git a/logger/logger_header.c b/logger/logger_header.c index 8b8f3c9626caa2a69c3772f12b2a31ef5a455659..2e2ffe07647dedfc204a0f2f31be1a08de1b4627 100644 --- a/logger/logger_header.c +++ b/logger/logger_header.c @@ -93,8 +93,8 @@ void header_change_offset_direction(struct header *h, /* Skip file format and version numbers. */ size_t offset = LOGGER_VERSION_SIZE + 2 * sizeof(int); - logger_loader_io_write_data(h->log->log.map + offset, sizeof(unsigned int), - &new_value); + logger_loader_io_write_data((char *)h->log->log.map + offset, + sizeof(unsigned int), &new_value); } /** @@ -183,9 +183,9 @@ void header_read(struct header *h, struct logger_logfile *log) { } /* Check the logfile header's size. */ - if (map != log->log.map + h->offset_first_record) { + if (map != (char *)log->log.map + h->offset_first_record) { header_print(h); - size_t offset = map - log->log.map; + size_t offset = (char *)map - (char *)log->log.map; error("Wrong header size (in header %zi, current %zi).", h->offset_first_record, offset); } diff --git a/logger/logger_index.c b/logger/logger_index.c index 774bc102279e5b874cfcf0bdac123a7ba2e53a66..98368a89b93c707a9e1004bf400e0b898b53b261 100644 --- a/logger/logger_index.c +++ b/logger/logger_index.c @@ -64,18 +64,19 @@ void logger_index_read_header(struct logger_index *index, logger_index_map_file(index, filename, 0); /* Read times */ - memcpy(&index->time, index->index.map + logger_index_time_offset, + memcpy(&index->time, (char *)index->index.map + logger_index_time_offset, logger_index_time_size); memcpy(&index->integer_time, - index->index.map + logger_index_integer_time_offset, + (char *)index->index.map + logger_index_integer_time_offset, logger_index_integer_time_size); /* Read the number of particles */ - memcpy(index->nparts, index->index.map + logger_index_npart_offset, + memcpy(index->nparts, (char *)index->index.map + logger_index_npart_offset, logger_index_npart_size); /* Read if the file is sorted */ - memcpy(&index->is_sorted, index->index.map + logger_index_is_sorted_offset, + memcpy(&index->is_sorted, + (char *)index->index.map + logger_index_is_sorted_offset, logger_index_is_sorted_size); /* Close the file */ @@ -94,7 +95,7 @@ void logger_index_write_sorted(struct logger_index *index) { const char is_sorted = 1; /* Write the value */ - memcpy(index->index.map + logger_index_is_sorted_offset, &is_sorted, + memcpy((char *)index->index.map + logger_index_is_sorted_offset, &is_sorted, logger_index_is_sorted_size); } @@ -113,7 +114,9 @@ struct index_data *logger_index_get_data(struct logger_index *index, int type) { } const size_t type_offset = count * sizeof(struct index_data); - return index->index.map + logger_index_data_offset + type_offset; + const char *ret = + (char *)index->index.map + logger_index_data_offset + type_offset; + return (struct index_data *)ret; } /** diff --git a/logger/logger_loader_io.h b/logger/logger_loader_io.h index b90337fe3e1e19c9a554fe36a93bf243218e56e1..e921b05730b22043a13dc8d991d53ffe8ac59d18 100644 --- a/logger/logger_loader_io.h +++ b/logger/logger_loader_io.h @@ -61,14 +61,14 @@ __attribute__((always_inline)) INLINE static void *logger_loader_io_read_mask( *mask = 0; memcpy(mask, data, LOGGER_MASK_SIZE); } - data += LOGGER_MASK_SIZE; + data = (char *)data + LOGGER_MASK_SIZE; /* read offset */ if (diff_offset) { *diff_offset = 0; memcpy(diff_offset, data, LOGGER_OFFSET_SIZE); } - data += LOGGER_OFFSET_SIZE; + data = (char *)data + LOGGER_OFFSET_SIZE; return data; } @@ -85,7 +85,7 @@ __attribute__((always_inline)) INLINE static void *logger_loader_io_read_mask( __attribute__((always_inline)) INLINE static void *logger_loader_io_read_data( void *data, const size_t size, void *p) { memcpy(p, data, size); - return data + size; + return (char *)data + size; }; /** @@ -101,7 +101,7 @@ __attribute__((always_inline)) INLINE static void *logger_loader_io_write_data( void *data, const size_t size, const void *p) { memcpy(data, p, size); - return data + size; + return (char *)data + size; }; #endif // LOGGER_LOGGER_LOADER_IO_H diff --git a/logger/logger_particle.c b/logger/logger_particle.c index d45c61cf66b720d8bf68cef7b63c2499bf59a6de..480b0f7f50502a6c9e3f73dfd0ddfd70ee164b07 100644 --- a/logger/logger_particle.c +++ b/logger/logger_particle.c @@ -109,9 +109,9 @@ void *logger_particle_read_field(struct logger_particle *part, void *map, part->mass = 0; part->id = 0; memcpy(&part->mass, p, sizeof(float)); - p += sizeof(float); + p = (char *)p + sizeof(float); memcpy(&part->id, p, sizeof(size_t)); - p -= sizeof(float); + p = (char *)p - sizeof(float); free(p); } @@ -149,7 +149,7 @@ size_t logger_particle_read(struct logger_particle *part, logger_particle_init(part); /* Read the record's mask. */ - map = logger_loader_io_read_mask(h, map + offset, &mask, &h_offset); + map = logger_loader_io_read_mask(h, (char *)map + offset, &mask, &h_offset); /* Check that the mask is meaningful */ if (mask > (unsigned int)(1 << h->masks_count)) { @@ -178,7 +178,7 @@ size_t logger_particle_read(struct logger_particle *part, part->time = -1; /* update the offset. */ - offset = (size_t)(map - reader->log.log.map); + offset = (size_t)((char *)map - (char *)reader->log.log.map); /* Check if an interpolation is required. */ if (reader_type == logger_reader_const) return offset; @@ -192,7 +192,7 @@ size_t logger_particle_read(struct logger_particle *part, } /* No next particle. */ - if (h_offset == 0) return (size_t)(map - reader->log.log.map); + if (h_offset == 0) return (size_t)((char *)map - (char *)reader->log.log.map); /* get absolute offset of next particle. */ h_offset += offset - header_get_record_size_from_mask(h, mask) - diff --git a/logger/logger_reader.c b/logger/logger_reader.c index f9f3fb558f887cc2d2bb3143ce13d06aacb1cfdd..854cf084e1d6c9c6fa5b066ce83b7cec5ad820ad 100644 --- a/logger/logger_reader.c +++ b/logger/logger_reader.c @@ -142,7 +142,8 @@ size_t reader_read_record(struct logger_reader *reader, /* Read mask to find out if timestamp or particle. */ size_t mask = 0; - logger_loader_io_read_mask(&log->header, log->log.map + offset, &mask, NULL); + logger_loader_io_read_mask(&log->header, (char *)log->log.map + offset, &mask, + NULL); /* Check if timestamp or not. */ int ind = header_get_field_index(&log->header, "timestamp"); @@ -280,8 +281,8 @@ void logger_reader_read_all_particles_mapper(void *map_data, int num_elements, if (test == -1) { size_t mask = 0; logger_loader_io_read_mask(&reader->log.header, - reader->log.log.map + prev_offset, &mask, - &next_offset); + (char *)reader->log.log.map + prev_offset, + &mask, &next_offset); error( "Trying to get a particle without next record (mask: %zi, diff " "offset: %zi)", @@ -412,8 +413,8 @@ void logger_reader_get_next_particle(struct logger_reader *reader, while (1) { /* Read the offset to the next particle */ size_t mask = 0; - logger_loader_io_read_mask(&reader->log.header, map + prev_offset, &mask, - &next_offset); + logger_loader_io_read_mask(&reader->log.header, (char *)map + prev_offset, + &mask, &next_offset); /* Check if something special happened */ if (mask & reader->log.header.masks[spec_flag_ind].mask) { diff --git a/logger/logger_time.c b/logger/logger_time.c index e6eb778637faf7bdc8841a996751245077b1b5b1..e0eb8080f53f27343ff030ada6aa487e62cc9dd3 100644 --- a/logger/logger_time.c +++ b/logger/logger_time.c @@ -92,7 +92,8 @@ size_t time_read(integertime_t *int_time, double *time, *time = 0; /* read record header. */ - map = logger_loader_io_read_mask(h, map + offset, &mask, &prev_offset); + map = + logger_loader_io_read_mask(h, (char *)map + offset, &mask, &prev_offset); #ifdef SWIFT_DEBUG_CHECKS @@ -109,7 +110,7 @@ size_t time_read(integertime_t *int_time, double *time, logger_loader_io_read_data(map, sizeof(unsigned long long int), int_time); map = logger_loader_io_read_data(map, sizeof(double), time); - return map - h->log->log.map; + return (char *)map - (char *)h->log->log.map; } /** @@ -131,7 +132,7 @@ size_t time_offset_first_record(const struct header *h) { if (i == -1) error("Time mask not present in the log file header."); size_t mask = 0; - logger_loader_io_read_mask(h, map + offset, &mask, NULL); + logger_loader_io_read_mask(h, (char *)map + offset, &mask, NULL); if (mask != h->masks[i].mask) error("Log file should begin by timestep."); diff --git a/logger/logger_tools.c b/logger/logger_tools.c index 1c8c813158330b934730a467edc1d81b85fd5de1..3bf139c8c776d320087d998171942cdeaee2232b 100644 --- a/logger/logger_tools.c +++ b/logger/logger_tools.c @@ -60,7 +60,8 @@ int _tools_get_next_record_forward(const struct header *h, void *map, size_t diff_offset = 0; /* Read the offset. */ - map = logger_loader_io_read_mask(h, map + *offset, NULL, &diff_offset); + map = + logger_loader_io_read_mask(h, (char *)map + *offset, NULL, &diff_offset); if (diff_offset == 0) return -1; @@ -91,7 +92,8 @@ int _tools_get_next_record_backward(const struct header *h, void *map, while (current_offset < file_size) { size_t mask = 0; size_t prev_offset; - logger_loader_io_read_mask(h, map + current_offset, &mask, &prev_offset); + logger_loader_io_read_mask(h, (char *)map + current_offset, &mask, + &prev_offset); prev_offset = current_offset - prev_offset - record_header; if (*offset == prev_offset) { @@ -123,16 +125,17 @@ size_t tools_reverse_offset(const struct header *h, void *file_map, void *map = file_map; /* read mask + offset. */ - map = logger_loader_io_read_mask(h, map + offset, &mask, &prev_offset); + map = + logger_loader_io_read_mask(h, (char *)map + offset, &mask, &prev_offset); /* write offset of zero (in case it is the last record). */ const size_t zero = 0; - map -= LOGGER_OFFSET_SIZE; + map = (char *)map - LOGGER_OFFSET_SIZE; map = logger_loader_io_write_data(map, LOGGER_OFFSET_SIZE, &zero); /* set offset after current record. */ - map += header_get_record_size_from_mask(h, mask); - size_t after_current_record = (size_t)(map - file_map); + map = (char *)map + header_get_record_size_from_mask(h, mask); + size_t after_current_record = (size_t)((char *)map - (char *)file_map); /* first records do not have a previous partner. */ if (prev_offset == cur_offset) return after_current_record; @@ -142,12 +145,12 @@ size_t tools_reverse_offset(const struct header *h, void *file_map, cur_offset); /* modify previous offset. */ - map = file_map + cur_offset - prev_offset + LOGGER_MASK_SIZE; + map = (char *)file_map + cur_offset - prev_offset + LOGGER_MASK_SIZE; map = logger_loader_io_write_data(map, LOGGER_OFFSET_SIZE, &prev_offset); #ifdef SWIFT_DEBUG_CHECKS size_t prev_mask = 0; - map -= LOGGER_MASK_SIZE + LOGGER_OFFSET_SIZE; + map = (char *)map - LOGGER_MASK_SIZE + LOGGER_OFFSET_SIZE; logger_loader_io_read_mask(h, map, &prev_mask, NULL); /* Check if we are not mixing timestamp and particles */ @@ -179,7 +182,7 @@ size_t tools_check_record_consistency(const struct logger_reader *reader, const struct header *h = &reader->log.header; void *file_init = reader->log.log.map; - void *map = file_init + offset; + void *map = (char *)file_init + offset; size_t mask; size_t pointed_offset; @@ -200,15 +203,15 @@ size_t tools_check_record_consistency(const struct logger_reader *reader, } /* set offset after current record. */ - map += header_get_record_size_from_mask(h, mask); + map = (char *)+header_get_record_size_from_mask(h, mask); if (pointed_offset == offset || pointed_offset == 0) - return (size_t)(map - file_init); + return (size_t)((char *)map - (char *)file_init); /* read mask of the pointed record. */ size_t pointed_mask = 0; - logger_loader_io_read_mask(h, file_init + pointed_offset, &pointed_mask, - NULL); + logger_loader_io_read_mask(h, (char *)file_init + pointed_offset, + &pointed_mask, NULL); /* check if not mixing timestamp and particles. */ if ((pointed_mask != h->timestamp_mask && mask == h->timestamp_mask) || @@ -216,7 +219,8 @@ size_t tools_check_record_consistency(const struct logger_reader *reader, error("Error in the offset (mask %lu at %lu != %lu at %lu).", mask, offset, pointed_mask, pointed_offset); - if (pointed_mask == h->timestamp_mask) return (size_t)(map - file_init); + if (pointed_mask == h->timestamp_mask) + return (size_t)((char *)map - (char *)file_init); struct logger_particle part; logger_particle_read(&part, reader, offset, 0, logger_reader_const); @@ -229,5 +233,5 @@ size_t tools_check_record_consistency(const struct logger_reader *reader, pointed_offset); } - return (size_t)(map - file_init); + return (size_t)((char *)map - (char *)file_init); }