Skip to content

Commit a79f22a

Browse files
Szymon JancJohan Hedberg
Szymon Janc
authored and
Johan Hedberg
committed
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
1 parent fd9dddb commit a79f22a

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

monitor/sdp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,11 @@ static void print_uuid(uint8_t indent, const uint8_t *data, uint32_t size)
143143

144144
static void print_string(uint8_t indent, const uint8_t *data, uint32_t size)
145145
{
146-
char *str = strndupa((const char *) data, size);
146+
char *str = alloca(size + 1);
147+
148+
str[size] = '\0';
149+
strncpy(str, (const char *) data, size);
150+
147151
print_field("%*c%s [len %d]", indent, ' ', str, size);
148152
}
149153

0 commit comments

Comments
 (0)