From d7ba30c2a08b0b72ab35a03bd64ece0d86bb9886 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Tue, 14 Sep 2010 20:40:32 +0200 Subject: layer1: Make rfch_get_params tolerate NULL ptr for unwanted params If the caller doesn't need some params, just don't give them ! Signed-off-by: Sylvain Munaut --- src/target/firmware/layer1/rfch.c | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'src/target/firmware/layer1') diff --git a/src/target/firmware/layer1/rfch.c b/src/target/firmware/layer1/rfch.c index 50331bf5..5627b7e4 100644 --- a/src/target/firmware/layer1/rfch.c +++ b/src/target/firmware/layer1/rfch.c @@ -120,23 +120,33 @@ void rfch_get_params(struct gsm_time *t, { if (l1s.dedicated.type == GSM_DCHAN_NONE) { /* Serving cell only */ - *arfcn_p = l1s.serving_cell.arfcn; - *tsc_p = l1s.serving_cell.bsic & 0x7; - *tn_p = 0; + if (arfcn_p) + *arfcn_p = l1s.serving_cell.arfcn; + + if (tsc_p) + *tsc_p = l1s.serving_cell.bsic & 0x7; + + if (tn_p) + *tn_p = 0; } else { /* Dedicated channel */ - if (l1s.dedicated.h) { - *arfcn_p = rfch_hop_seq_gen(t, - l1s.dedicated.h1.hsn, - l1s.dedicated.h1.maio, - l1s.dedicated.h1.n, - l1s.dedicated.h1.ma); - } else { - *arfcn_p = l1s.dedicated.h0.arfcn; + if (arfcn_p) { + if (l1s.dedicated.h) { + *arfcn_p = rfch_hop_seq_gen(t, + l1s.dedicated.h1.hsn, + l1s.dedicated.h1.maio, + l1s.dedicated.h1.n, + l1s.dedicated.h1.ma); + } else { + *arfcn_p = l1s.dedicated.h0.arfcn; + } } - *tsc_p = l1s.dedicated.tsc; - *tn_p = l1s.dedicated.tn; + if (tsc_p) + *tsc_p = l1s.dedicated.tsc; + + if (tn_p) + *tn_p = l1s.dedicated.tn; } } -- cgit v1.2.3