summaryrefslogtreecommitdiff
path: root/monitor/sdp.c
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2013-07-31 10:51:39 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2013-08-01 10:53:16 +0300
commita79f22a45a65aa4203483e870f69e5a287ac66ec (patch)
treecc420d0d933e1883187982743bce367be14161ab /monitor/sdp.c
parentfd9dddbfe6c2d7f3728c096ca961742f2e55dcbd (diff)
downloadbluez-a79f22a45a65aa4203483e870f69e5a287ac66ec.tar.gz
monitor: Opencode strndupa in print_string
Strndupa is GNU extension. print_string is simple and opencoding strndupa is not a big loss. This fix linkage error with bionic library which doesn't provide strndupa. target Executable: btmon (out/target/product/grouper/obj/EXECUTABLES/ btmon_intermediates/LINKED/btmon) prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/ arm-linux-androideabi/4.6.x-google/../../../../ arm-linux-androideabi/bin/ld: out/target/product/grouper/obj/ EXECUTABLES/btmon_intermediates/monitor/sdp.o: in function print_string:external/bluetooth/bluez/monitor/sdp.c:146: error: undefined reference to 'strndupa' collect2: ld returned 1 exit status make: *** [out/target/product/grouper/obj/EXECUTABLES/ btmon_intermediates/LINKED/btmon] Error
Diffstat (limited to 'monitor/sdp.c')
-rw-r--r--monitor/sdp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/monitor/sdp.c b/monitor/sdp.c
index 45ee59bbb..4eb398b88 100644
--- a/monitor/sdp.c
+++ b/monitor/sdp.c
@@ -143,7 +143,11 @@ static void print_uuid(uint8_t indent, const uint8_t *data, uint32_t size)
static void print_string(uint8_t indent, const uint8_t *data, uint32_t size)
{
- char *str = strndupa((const char *) data, size);
+ char *str = alloca(size + 1);
+
+ str[size] = '\0';
+ strncpy(str, (const char *) data, size);
+
print_field("%*c%s [len %d]", indent, ' ', str, size);
}