mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
First steps towards removing glib dependencies
- remove the build flags and libraries from the Makefile / Configure.mk - remove the glib types (gboolean, gchar, gint64, gint) - comment out / hack around gettext - replace the glib file helper functions - replace g_ascii_strtod - replace g_build_filename - use environment variables instead of g_get_home_dir() & g_get_user_name() - comment out GPS string parsing (uses glib utf8 macros) This needs massive cleanup, but it's a snapshot of what I have right now, in case people want to look at it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
3e0ecb5ff6
commit
4b12f28ca4
29 changed files with 382 additions and 159 deletions
56
dive.h
56
dive.h
|
@ -5,9 +5,14 @@
|
|||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
#include <math.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
#if 0
|
||||
#include <glib.h>
|
||||
#include <glib/gstdio.h>
|
||||
#else /* this is stupid - this doesn't deal with translations anymore */
|
||||
#define _(arg) arg
|
||||
#endif
|
||||
#include <libxml/tree.h>
|
||||
#include <libxslt/transform.h>
|
||||
|
||||
|
@ -18,8 +23,16 @@ extern "C" {
|
|||
#else
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
#include <stdbool.h>
|
||||
#define TRUE true
|
||||
#define FALSE false
|
||||
#else
|
||||
typedef int bool;
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -99,7 +112,7 @@ extern int dive_mask;
|
|||
* We don't actually use these all yet, so maybe they'll change, but
|
||||
* I made a number of types as guidelines.
|
||||
*/
|
||||
typedef gint64 timestamp_t;
|
||||
typedef int64_t timestamp_t;
|
||||
|
||||
typedef struct {
|
||||
int seconds;
|
||||
|
@ -257,7 +270,7 @@ static inline int get_he(const struct gasmix *mix)
|
|||
return mix->he.permille;
|
||||
}
|
||||
|
||||
static inline gboolean is_air(int o2, int he)
|
||||
static inline bool is_air(int o2, int he)
|
||||
{
|
||||
return (he == 0) && (o2 == 0 || ((o2 >= O2_IN_AIR - 1) && (o2 <= O2_IN_AIR + 1)));
|
||||
}
|
||||
|
@ -279,7 +292,7 @@ struct sample {
|
|||
duration_t ndl;
|
||||
duration_t stoptime;
|
||||
depth_t stopdepth;
|
||||
gboolean in_deco;
|
||||
bool in_deco;
|
||||
int cns;
|
||||
int po2;
|
||||
};
|
||||
|
@ -296,7 +309,7 @@ struct event {
|
|||
struct event *next;
|
||||
duration_t time;
|
||||
int type, flags, value;
|
||||
gboolean deleted;
|
||||
bool deleted;
|
||||
char name[];
|
||||
};
|
||||
|
||||
|
@ -355,7 +368,7 @@ struct dive {
|
|||
dive_trip_t *divetrip;
|
||||
struct dive *next, **pprev;
|
||||
int selected;
|
||||
gboolean downloaded;
|
||||
bool downloaded;
|
||||
timestamp_t when;
|
||||
char *location;
|
||||
char *notes;
|
||||
|
@ -394,7 +407,7 @@ static inline void copy_gps_location(struct dive *from, struct dive *to)
|
|||
}
|
||||
}
|
||||
|
||||
static inline int get_surface_pressure_in_mbar(const struct dive *dive, gboolean non_null)
|
||||
static inline int get_surface_pressure_in_mbar(const struct dive *dive, bool non_null)
|
||||
{
|
||||
int mbar = dive->surface_pressure.mbar;
|
||||
if (!mbar && non_null)
|
||||
|
@ -576,16 +589,17 @@ static inline struct dive *get_dive_by_diveid(uint32_t diveid, uint32_t deviceid
|
|||
return NULL;
|
||||
}
|
||||
extern struct dive *find_dive_including(timestamp_t when);
|
||||
extern gboolean dive_within_time_range(struct dive *dive, timestamp_t when, timestamp_t offset);
|
||||
extern bool dive_within_time_range(struct dive *dive, timestamp_t when, timestamp_t offset);
|
||||
struct dive *find_dive_n_near(timestamp_t when, int n, timestamp_t offset);
|
||||
|
||||
/* Check if two dive computer entries are the exact same dive (-1=no/0=maybe/1=yes) */
|
||||
extern int match_one_dc(struct divecomputer *a, struct divecomputer *b);
|
||||
|
||||
extern double ascii_strtod(char *, char **);
|
||||
extern void parse_xml_init(void);
|
||||
extern void parse_xml_buffer(const char *url, const char *buf, int size, struct dive_table *table, char **error);
|
||||
extern void parse_xml_exit(void);
|
||||
extern void set_filename(const char *filename, gboolean force);
|
||||
extern void set_filename(const char *filename, bool force);
|
||||
|
||||
extern int parse_dm4_buffer(const char *url, const char *buf, int size, struct dive_table *table, char **error);
|
||||
|
||||
|
@ -606,7 +620,7 @@ extern void show_yearly_stats(void);
|
|||
|
||||
extern void update_dive(struct dive *new_dive);
|
||||
extern void save_dives(const char *filename);
|
||||
extern void save_dives_logic(const char *filename, gboolean select_only);
|
||||
extern void save_dives_logic(const char *filename, bool select_only);
|
||||
extern void save_dive(FILE *f, struct dive *dive);
|
||||
|
||||
extern xsltStylesheetPtr get_stylesheet(const char *name);
|
||||
|
@ -625,8 +639,8 @@ extern void finish_sample(struct divecomputer *dc);
|
|||
extern void sort_table(struct dive_table *table);
|
||||
extern struct dive *fixup_dive(struct dive *dive);
|
||||
extern unsigned int dc_airtemp(struct divecomputer *dc);
|
||||
extern struct dive *merge_dives(struct dive *a, struct dive *b, int offset, gboolean prefer_downloaded);
|
||||
extern struct dive *try_to_merge(struct dive *a, struct dive *b, gboolean prefer_downloaded);
|
||||
extern struct dive *merge_dives(struct dive *a, struct dive *b, int offset, bool prefer_downloaded);
|
||||
extern struct dive *try_to_merge(struct dive *a, struct dive *b, bool prefer_downloaded);
|
||||
extern void renumber_dives(int nr);
|
||||
extern void copy_samples(struct dive *s, struct dive *d);
|
||||
|
||||
|
@ -635,7 +649,7 @@ extern void add_event(struct divecomputer *dc, int time, int type, int flags, in
|
|||
|
||||
/* UI related protopypes */
|
||||
|
||||
extern void report_error(GError* error);
|
||||
// extern void report_error(GError* error);
|
||||
|
||||
extern void add_cylinder_description(cylinder_type_t *);
|
||||
extern void add_weightsystem_description(weightsystem_t *);
|
||||
|
@ -647,14 +661,14 @@ extern int evn_foreach(void (*callback)(const char *, int *, void *), void *data
|
|||
extern void clear_events(void);
|
||||
|
||||
extern int add_new_dive(struct dive *dive);
|
||||
extern gboolean edit_trip(dive_trip_t *trip);
|
||||
extern int edit_dive_info(struct dive *dive, gboolean newdive);
|
||||
extern bool edit_trip(dive_trip_t *trip);
|
||||
extern int edit_dive_info(struct dive *dive, bool newdive);
|
||||
extern int edit_multi_dive_info(struct dive *single_dive);
|
||||
extern void dive_list_update_dives(void);
|
||||
extern void flush_divelist(struct dive *dive);
|
||||
|
||||
extern void set_dc_nickname(struct dive *dive);
|
||||
extern void set_autogroup(gboolean value);
|
||||
extern void set_autogroup(bool value);
|
||||
extern int total_weight(struct dive *);
|
||||
|
||||
#define DIVE_ERROR_PARSE 1
|
||||
|
@ -687,17 +701,17 @@ typedef enum {
|
|||
|
||||
extern const char *existing_filename;
|
||||
extern const char *subsurface_gettext_domainpath(char *);
|
||||
extern gboolean subsurface_os_feature_available(os_feature_t);
|
||||
extern gboolean subsurface_launch_for_uri(const char *);
|
||||
extern void subsurface_command_line_init(gint *, gchar ***);
|
||||
extern void subsurface_command_line_exit(gint *, gchar ***);
|
||||
extern bool subsurface_os_feature_available(os_feature_t);
|
||||
extern bool subsurface_launch_for_uri(const char *);
|
||||
extern void subsurface_command_line_init(int *, char ***);
|
||||
extern void subsurface_command_line_exit(int *, char ***);
|
||||
|
||||
#define FRACTION(n,x) ((unsigned)(n)/(x)),((unsigned)(n)%(x))
|
||||
|
||||
extern double add_segment(double pressure, const struct gasmix *gasmix, int period_in_seconds, int setpoint, const struct dive *dive);
|
||||
extern void clear_deco(double surface_pressure);
|
||||
extern void dump_tissues(void);
|
||||
extern unsigned int deco_allowed_depth(double tissues_tolerance, double surface_pressure, struct dive *dive, gboolean smooth);
|
||||
extern unsigned int deco_allowed_depth(double tissues_tolerance, double surface_pressure, struct dive *dive, bool smooth);
|
||||
extern void set_gf(short gflow, short gfhigh);
|
||||
extern void cache_deco_state(double, char **datap);
|
||||
extern double restore_deco_state(char *data);
|
||||
|
@ -708,7 +722,7 @@ struct divedatapoint {
|
|||
int o2;
|
||||
int he;
|
||||
int po2;
|
||||
gboolean entered;
|
||||
bool entered;
|
||||
struct divedatapoint *next;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue