mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Clean up signedness confusion in dive.c
This started out as cleaning up warnings - but it actually turned into a matter of semantics and correctness. Which lead to changes in .h files which will have a ton of ripple effects. A lot more of this to come. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ee6f60515c
commit
f2c40907c5
3 changed files with 17 additions and 14 deletions
|
@ -58,7 +58,7 @@ int event_gasmix_redundant(struct event *ev)
|
||||||
he == ev->gas.mix.he.permille;
|
he == ev->gas.mix.he.permille;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct event *add_event(struct divecomputer *dc, int time, int type, int flags, int value, const char *name)
|
struct event *add_event(struct divecomputer *dc, unsigned int time, int type, int flags, int value, const char *name)
|
||||||
{
|
{
|
||||||
int gas_index = -1;
|
int gas_index = -1;
|
||||||
struct event *ev, **p;
|
struct event *ev, **p;
|
||||||
|
@ -738,7 +738,8 @@ void per_cylinder_mean_depth(struct dive *dive, struct divecomputer *dc, int *me
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int depthtime[MAX_CYLINDERS] = { 0, };
|
int depthtime[MAX_CYLINDERS] = { 0, };
|
||||||
int lasttime = 0, lastdepth = 0;
|
uint32_t lasttime = 0;
|
||||||
|
int lastdepth = 0;
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
|
||||||
for (i = 0; i < MAX_CYLINDERS; i++)
|
for (i = 0; i < MAX_CYLINDERS; i++)
|
||||||
|
@ -765,7 +766,7 @@ void per_cylinder_mean_depth(struct dive *dive, struct divecomputer *dc, int *me
|
||||||
dc = fake_dc(dc, false);
|
dc = fake_dc(dc, false);
|
||||||
for (i = 0; i < dc->samples; i++) {
|
for (i = 0; i < dc->samples; i++) {
|
||||||
struct sample *sample = dc->sample + i;
|
struct sample *sample = dc->sample + i;
|
||||||
int time = sample->time.seconds;
|
uint32_t time = sample->time.seconds;
|
||||||
int depth = sample->depth.mm;
|
int depth = sample->depth.mm;
|
||||||
|
|
||||||
/* Make sure to move the event past 'lasttime' */
|
/* Make sure to move the event past 'lasttime' */
|
||||||
|
@ -2619,7 +2620,8 @@ static struct divetag *taglist_add_divetag(struct tag_entry **tag_list, struct d
|
||||||
|
|
||||||
struct divetag *taglist_add_tag(struct tag_entry **tag_list, const char *tag)
|
struct divetag *taglist_add_tag(struct tag_entry **tag_list, const char *tag)
|
||||||
{
|
{
|
||||||
int i = 0, is_default_tag = 0;
|
size_t i = 0;
|
||||||
|
int is_default_tag = 0;
|
||||||
struct divetag *ret_tag, *new_tag;
|
struct divetag *ret_tag, *new_tag;
|
||||||
const char *translation;
|
const char *translation;
|
||||||
new_tag = malloc(sizeof(struct divetag));
|
new_tag = malloc(sizeof(struct divetag));
|
||||||
|
@ -2675,7 +2677,7 @@ static void taglist_merge(struct tag_entry **dst, struct tag_entry *src1, struct
|
||||||
|
|
||||||
void taglist_init_global()
|
void taglist_init_global()
|
||||||
{
|
{
|
||||||
int i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < sizeof(default_tags) / sizeof(char *); i++)
|
for (i = 0; i < sizeof(default_tags) / sizeof(char *); i++)
|
||||||
taglist_add_tag(&g_tag_list, default_tags[i]);
|
taglist_add_tag(&g_tag_list, default_tags[i]);
|
||||||
|
@ -2920,7 +2922,8 @@ static void force_fixup_dive(struct dive *d)
|
||||||
*/
|
*/
|
||||||
static int split_dive_at(struct dive *dive, int a, int b)
|
static int split_dive_at(struct dive *dive, int a, int b)
|
||||||
{
|
{
|
||||||
int i, t, nr;
|
int i, nr;
|
||||||
|
uint32_t t;
|
||||||
struct dive *d1, *d2;
|
struct dive *d1, *d2;
|
||||||
struct divecomputer *dc1, *dc2;
|
struct divecomputer *dc1, *dc2;
|
||||||
struct event *event, **evp;
|
struct event *event, **evp;
|
||||||
|
@ -3249,7 +3252,7 @@ void set_informational_units(char *units)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void average_max_depth(struct diveplan *dive, int *avg_depth, int *max_depth)
|
void average_max_depth(struct diveplan *dive, unsigned int *avg_depth, unsigned int *max_depth)
|
||||||
{
|
{
|
||||||
int integral = 0;
|
int integral = 0;
|
||||||
int last_time = 0;
|
int last_time = 0;
|
||||||
|
@ -3415,7 +3418,7 @@ void make_first_dc()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* always acts on the current dive */
|
/* always acts on the current dive */
|
||||||
int count_divecomputers(void)
|
unsigned int count_divecomputers(void)
|
||||||
{
|
{
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
struct divecomputer *dc = current_dive->dc.next;
|
struct divecomputer *dc = current_dive->dc.next;
|
||||||
|
@ -3455,7 +3458,7 @@ void delete_current_divecomputer(void)
|
||||||
|
|
||||||
/* helper function to make it easier to work with our structures
|
/* helper function to make it easier to work with our structures
|
||||||
* we don't interpolate here, just use the value from the last sample up to that time */
|
* we don't interpolate here, just use the value from the last sample up to that time */
|
||||||
int get_depth_at_time(struct divecomputer *dc, int time)
|
int get_depth_at_time(struct divecomputer *dc, unsigned int time)
|
||||||
{
|
{
|
||||||
int depth = 0;
|
int depth = 0;
|
||||||
if (dc && dc->sample)
|
if (dc && dc->sample)
|
||||||
|
|
|
@ -387,7 +387,7 @@ extern timestamp_t picture_get_timestamp(char *filename);
|
||||||
extern void dive_set_geodata_from_picture(struct dive *d, struct picture *pic);
|
extern void dive_set_geodata_from_picture(struct dive *d, struct picture *pic);
|
||||||
|
|
||||||
extern int explicit_first_cylinder(struct dive *dive, struct divecomputer *dc);
|
extern int explicit_first_cylinder(struct dive *dive, struct divecomputer *dc);
|
||||||
extern int get_depth_at_time(struct divecomputer *dc, int time);
|
extern int get_depth_at_time(struct divecomputer *dc, unsigned int time);
|
||||||
|
|
||||||
static inline int get_surface_pressure_in_mbar(const struct dive *dive, bool non_null)
|
static inline int get_surface_pressure_in_mbar(const struct dive *dive, bool non_null)
|
||||||
{
|
{
|
||||||
|
@ -567,7 +567,7 @@ static inline struct divecomputer *get_dive_dc(struct dive *dive, int nr)
|
||||||
extern timestamp_t dive_endtime(const struct dive *dive);
|
extern timestamp_t dive_endtime(const struct dive *dive);
|
||||||
|
|
||||||
extern void make_first_dc(void);
|
extern void make_first_dc(void);
|
||||||
extern int count_divecomputers(void);
|
extern unsigned int count_divecomputers(void);
|
||||||
extern void delete_current_divecomputer(void);
|
extern void delete_current_divecomputer(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -737,7 +737,7 @@ extern void copy_samples(struct divecomputer *s, struct divecomputer *d);
|
||||||
extern bool is_cylinder_used(struct dive *dive, int idx);
|
extern bool is_cylinder_used(struct dive *dive, int idx);
|
||||||
extern void fill_default_cylinder(cylinder_t *cyl);
|
extern void fill_default_cylinder(cylinder_t *cyl);
|
||||||
extern void add_gas_switch_event(struct dive *dive, struct divecomputer *dc, int time, int idx);
|
extern void add_gas_switch_event(struct dive *dive, struct divecomputer *dc, int time, int idx);
|
||||||
extern struct event *add_event(struct divecomputer *dc, int time, int type, int flags, int value, const char *name);
|
extern struct event *add_event(struct divecomputer *dc, unsigned int time, int type, int flags, int value, const char *name);
|
||||||
extern void remove_event(struct event *event);
|
extern void remove_event(struct event *event);
|
||||||
extern void update_event_name(struct dive *d, struct event* event, char *name);
|
extern void update_event_name(struct dive *d, struct event* event, char *name);
|
||||||
extern void add_extra_data(struct divecomputer *dc, const char *key, const char *value);
|
extern void add_extra_data(struct divecomputer *dc, const char *key, const char *value);
|
||||||
|
@ -892,7 +892,7 @@ extern depth_t string_to_depth(const char *str);
|
||||||
extern pressure_t string_to_pressure(const char *str);
|
extern pressure_t string_to_pressure(const char *str);
|
||||||
extern volume_t string_to_volume(const char *str, pressure_t workp);
|
extern volume_t string_to_volume(const char *str, pressure_t workp);
|
||||||
extern fraction_t string_to_fraction(const char *str);
|
extern fraction_t string_to_fraction(const char *str);
|
||||||
extern void average_max_depth(struct diveplan *dive, int *avg_depth, int *max_depth);
|
extern void average_max_depth(struct diveplan *dive, unsigned int *avg_depth, unsigned int *max_depth);
|
||||||
|
|
||||||
#include "pref.h"
|
#include "pref.h"
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ typedef struct
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int32_t mkelvin; // up to 1750 degrees K
|
uint32_t mkelvin; // up to 1750 degrees K (temperatures in K are always positive)
|
||||||
} temperature_t;
|
} temperature_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue