Move device-related code to device.c

Move the code to read the initial device info from scrcpy.c to a
separate file, device.c.
This commit is contained in:
Romain Vimont
2018-02-08 15:42:49 +01:00
parent 28c5cc030b
commit 3b06e7d500
4 changed files with 33 additions and 19 deletions

16
app/src/device.c Normal file
View File

@@ -0,0 +1,16 @@
#include "device.h"
SDL_bool device_read_info(TCPsocket device_socket, char *device_name, struct size *size) {
unsigned char buf[DEVICE_NAME_FIELD_LENGTH + 4];
if (SDLNet_TCP_Recv(device_socket, buf, sizeof(buf)) <= 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Could not retrieve device information");
return SDL_FALSE;
}
buf[DEVICE_NAME_FIELD_LENGTH - 1] = '\0'; // in case the client sends garbage
// strcpy is safe here, since name contains at least DEVICE_NAME_FIELD_LENGTH bytes
// and strlen(buf) < DEVICE_NAME_FIELD_LENGTH
strcpy(device_name, (char *) buf);
size->width = (buf[DEVICE_NAME_FIELD_LENGTH] << 8) | buf[DEVICE_NAME_FIELD_LENGTH + 1];
size->height = (buf[DEVICE_NAME_FIELD_LENGTH + 2] << 8) | buf[DEVICE_NAME_FIELD_LENGTH + 3];
return SDL_TRUE;
}