mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-23 09:18:15 +02:00
Merge branch 'allow-longer-update-string' into 'main'
client/server: allow longer status string Closes #212 See merge request plymouth/plymouth!238
This commit is contained in:
commit
c2cfe5e5a9
2 changed files with 10 additions and 7 deletions
|
|
@ -365,6 +365,7 @@ ply_boot_client_get_request_string (ply_boot_client_t *client,
|
|||
size_t *request_size)
|
||||
{
|
||||
char *request_string;
|
||||
uint16_t argument_size;
|
||||
|
||||
assert (client != NULL);
|
||||
assert (request != NULL);
|
||||
|
|
@ -378,12 +379,14 @@ ply_boot_client_get_request_string (ply_boot_client_t *client,
|
|||
return request_string;
|
||||
}
|
||||
|
||||
assert (strlen (request->argument) <= UCHAR_MAX);
|
||||
assert (strlen (request->argument) < USHRT_MAX);
|
||||
argument_size = strlen (request->argument) + 1;
|
||||
|
||||
request_string = NULL;
|
||||
asprintf (&request_string, "%s\002%c%s", request->command,
|
||||
(char) (strlen (request->argument) + 1), request->argument);
|
||||
*request_size = strlen (request_string) + 1;
|
||||
asprintf (&request_string, "%s\002%c%c%s", request->command,
|
||||
(char) (argument_size & 0xff), (char) (argument_size >> 8),
|
||||
request->argument);
|
||||
*request_size = strlen (request->command) + 1 + 2 + argument_size;
|
||||
|
||||
return request_string;
|
||||
}
|
||||
|
|
@ -461,7 +464,7 @@ ply_boot_client_queue_request (ply_boot_client_t *client,
|
|||
assert (client != NULL);
|
||||
assert (client->loop != NULL);
|
||||
assert (request_command != NULL);
|
||||
assert (request_argument == NULL || strlen (request_argument) <= UCHAR_MAX);
|
||||
assert (request_argument == NULL || strlen (request_argument) <= USHRT_MAX);
|
||||
|
||||
if (client->daemon_can_take_request_watch == NULL &&
|
||||
client->socket_fd >= 0) {
|
||||
|
|
|
|||
|
|
@ -246,9 +246,9 @@ ply_boot_connection_read_request (ply_boot_connection_t *connection,
|
|||
|
||||
*argument = NULL;
|
||||
if (header[1] == '\002') {
|
||||
uint8_t argument_size;
|
||||
uint16_t argument_size;
|
||||
|
||||
if (!ply_read (connection->fd, &argument_size, sizeof(uint8_t))) {
|
||||
if (!ply_read (connection->fd, &argument_size, sizeof argument_size)) {
|
||||
free (*command);
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue