This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged.
Change subject: cosmetic: rename SL3_TXT macro, use osmo_strlcpy()
......................................................................
cosmetic: rename SL3_TXT macro, use osmo_strlcpy()
Rename SL3_TXT to more accurate copy_sqlite3_text_to_buf(), and use
osmo_strlcpy() instead of essentially dup'ing it.
The macro will also be used by hlr_db_tool.c in upcoming patch. This patch
prepares for a move to db.h.
Change-Id: I1dadeddddcfe0109195c09c0e706201b0df009cc
---
M src/db_hlr.c
1 file changed, 14 insertions(+), 11 deletions(-)
Approvals:
Harald Welte: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/db_hlr.c b/src/db_hlr.c
index ef01428..bae9a5a 100644
--- a/src/db_hlr.c
+++ b/src/db_hlr.c
@@ -35,12 +35,15 @@
#define LOGHLR(imsi, level, fmt, args ...) LOGP(DAUC, level, "IMSI='%s': " fmt, imsi, ## args)
-#define SL3_TXT(x, stmt, idx) \
- do { \
- const char *_txt = (const char *) sqlite3_column_text(stmt, idx);\
- if (_txt) \
- strncpy(x, _txt, sizeof(x)); \
- x[sizeof(x)-1] = '\0'; \
+/*! Call sqlite3_column_text() and copy result to a char[].
+ * \param[out] buf A char[] used as sizeof() arg(!) and osmo_strlcpy() target.
+ * \param[in] stmt An sqlite3_stmt*.
+ * \param[in] idx Index in stmt's returned columns.
+ */
+#define copy_sqlite3_text_to_buf(buf, stmt, idx) \
+ do { \
+ const char *_txt = (const char *) sqlite3_column_text(stmt, idx); \
+ osmo_strlcpy(buf, _txt, sizeof(buf)); \
} while (0)
/*! Add new subscriber record to the HLR database.
@@ -410,12 +413,12 @@
/* obtain the various columns */
subscr->id = sqlite3_column_int64(stmt, 0);
- SL3_TXT(subscr->imsi, stmt, 1);
- SL3_TXT(subscr->msisdn, stmt, 2);
+ copy_sqlite3_text_to_buf(subscr->imsi, stmt, 1);
+ copy_sqlite3_text_to_buf(subscr->msisdn, stmt, 2);
/* FIXME: These should all be BLOBs as they might contain NUL */
- SL3_TXT(subscr->vlr_number, stmt, 3);
- SL3_TXT(subscr->sgsn_number, stmt, 4);
- SL3_TXT(subscr->sgsn_address, stmt, 5);
+ copy_sqlite3_text_to_buf(subscr->vlr_number, stmt, 3);
+ copy_sqlite3_text_to_buf(subscr->sgsn_number, stmt, 4);
+ copy_sqlite3_text_to_buf(subscr->sgsn_address, stmt, 5);
subscr->periodic_lu_timer = sqlite3_column_int(stmt, 6);
subscr->periodic_rau_tau_timer = sqlite3_column_int(stmt, 7);
subscr->nam_cs = sqlite3_column_int(stmt, 8);
--
To view, visit https://gerrit.osmocom.org/4440
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1dadeddddcfe0109195c09c0e706201b0df009cc
Gerrit-PatchSet: 2
Gerrit-Project: osmo-hlr
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder