diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-03-18 18:38:47 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-04-10 22:42:32 +0000 |
commit | 179f35702ece13f4ab7fd1b331bef664834d8473 (patch) | |
tree | 9dad4da8eb773040ea8a2dc096190118f5d2abd6 /include/osmocom/gsm/gsm23003.h | |
parent | d08e9866a5c3da6edda574bbe6d277047d10fded (diff) |
Add _c versions of functions that otherwise return static buffers
We have a habit of returning static buffers from some functions,
particularly when generating some kind of string values. This is
convenient in terms of memory management, but it comes at the expense
of not being thread-safe, and not allowing for two calls of the
related function within one printf() statement.
Let's introduce _c suffix versions of those functions where the
caller passes in a talloc context from which the output buffer shall
be allocated.
Change-Id: I8481c19b68ff67cfa22abb93c405ebcfcb0ab19b
Diffstat (limited to 'include/osmocom/gsm/gsm23003.h')
-rw-r--r-- | include/osmocom/gsm/gsm23003.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/osmocom/gsm/gsm23003.h b/include/osmocom/gsm/gsm23003.h index 88c4f3c2..69f00f68 100644 --- a/include/osmocom/gsm/gsm23003.h +++ b/include/osmocom/gsm/gsm23003.h @@ -106,18 +106,24 @@ bool osmo_imei_str_valid(const char *imei, bool with_15th_digit); const char *osmo_mcc_name(uint16_t mcc); char *osmo_mcc_name_buf(char *buf, size_t buf_len, uint16_t mcc); +const char *osmo_mcc_name_c(const void *ctx, uint16_t mcc); const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits); char *osmo_mnc_name_buf(char *buf, size_t buf_len, uint16_t mnc, bool mnc_3_digits); +char *osmo_mnc_name_c(const void *ctx, uint16_t mnc, bool mnc_3_digits); const char *osmo_plmn_name(const struct osmo_plmn_id *plmn); const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn); char *osmo_plmn_name_buf(char *buf, size_t buf_len, const struct osmo_plmn_id *plmn); +char *osmo_plmn_name_c(const void *ctx, const struct osmo_plmn_id *plmn); const char *osmo_lai_name(const struct osmo_location_area_id *lai); char *osmo_lai_name_buf(char *buf, size_t buf_len, const struct osmo_location_area_id *lai); +char *osmo_lai_name_c(const void *ctx, const struct osmo_location_area_id *lai); const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi); const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi); char *osmo_cgi_name_buf(char *buf, size_t buf_len, const struct osmo_cell_global_id *cgi); +char *osmo_cgi_name_c(const void *ctx, const struct osmo_cell_global_id *cgi); const char *osmo_gummei_name(const struct osmo_gummei *gummei); char *osmo_gummei_name_buf(char *buf, size_t buf_len, const struct osmo_gummei *gummei); +char *osmo_gummei_name_c(const void *ctx, const struct osmo_gummei *gummei); void osmo_plmn_to_bcd(uint8_t *bcd_dst, const struct osmo_plmn_id *plmn); void osmo_plmn_from_bcd(const uint8_t *bcd_src, struct osmo_plmn_id *plmn); |