Merge pull request #24746 from DaanDeMeyer/repart-split
repart: Add --split option to generate split artifacts
This commit is contained in:
@@ -16,6 +16,9 @@ const char *gpt_partition_type_uuid_to_string_harder(
|
||||
char buffer[static SD_ID128_UUID_STRING_MAX]);
|
||||
int gpt_partition_type_uuid_from_string(const char *s, sd_id128_t *ret);
|
||||
|
||||
#define GPT_PARTITION_TYPE_UUID_TO_STRING_HARDER(id) \
|
||||
gpt_partition_type_uuid_to_string_harder((id), (char[SD_ID128_UUID_STRING_MAX]) {})
|
||||
|
||||
Architecture gpt_partition_type_uuid_to_arch(sd_id128_t id);
|
||||
|
||||
typedef struct GptPartitionType {
|
||||
|
||||
+32
-14
@@ -151,9 +151,38 @@ int specifier_real_directory(char specifier, const void *data, const char *root,
|
||||
return path_extract_directory(path, ret);
|
||||
}
|
||||
|
||||
int specifier_id128(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
|
||||
const sd_id128_t *id = ASSERT_PTR(data);
|
||||
char *n;
|
||||
|
||||
n = new(char, SD_ID128_STRING_MAX);
|
||||
if (!n)
|
||||
return -ENOMEM;
|
||||
|
||||
*ret = sd_id128_to_string(*id, n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int specifier_uuid(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
|
||||
const sd_id128_t *id = ASSERT_PTR(data);
|
||||
char *n;
|
||||
|
||||
n = new(char, SD_ID128_UUID_STRING_MAX);
|
||||
if (!n)
|
||||
return -ENOMEM;
|
||||
|
||||
*ret = sd_id128_to_uuid_string(*id, n);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int specifier_uint64(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
|
||||
const uint64_t *n = ASSERT_PTR(data);
|
||||
|
||||
return asprintf(ret, "%" PRIu64, *n) < 0 ? -ENOMEM : 0;
|
||||
}
|
||||
|
||||
int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
|
||||
sd_id128_t id;
|
||||
char *n;
|
||||
int r;
|
||||
|
||||
assert(ret);
|
||||
@@ -172,17 +201,11 @@ int specifier_machine_id(char specifier, const void *data, const char *root, con
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
n = new(char, SD_ID128_STRING_MAX);
|
||||
if (!n)
|
||||
return -ENOMEM;
|
||||
|
||||
*ret = sd_id128_to_string(id, n);
|
||||
return 0;
|
||||
return specifier_id128(specifier, &id, root, userdata, ret);
|
||||
}
|
||||
|
||||
int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
|
||||
sd_id128_t id;
|
||||
char *n;
|
||||
int r;
|
||||
|
||||
assert(ret);
|
||||
@@ -191,12 +214,7 @@ int specifier_boot_id(char specifier, const void *data, const char *root, const
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
n = new(char, SD_ID128_STRING_MAX);
|
||||
if (!n)
|
||||
return -ENOMEM;
|
||||
|
||||
*ret = sd_id128_to_string(id, n);
|
||||
return 0;
|
||||
return specifier_id128(specifier, &id, root, userdata, ret);
|
||||
}
|
||||
|
||||
int specifier_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
|
||||
|
||||
@@ -16,6 +16,9 @@ int specifier_printf(const char *text, size_t max_length, const Specifier table[
|
||||
int specifier_string(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
int specifier_real_path(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
int specifier_real_directory(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
int specifier_id128(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
int specifier_uuid(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
int specifier_uint64(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
|
||||
int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret);
|
||||
|
||||
Reference in New Issue
Block a user