let's share some code between import_url_last_component() and import_url_change_last_component(), and make sure we never eat up the hostname component of the URL when parsing out the last component. Let's also make import_url_change_last_component() more generic so that we can also use it for append components to paths, instead of replacing suffixes.
37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "macro.h"
|
|
|
|
typedef enum ImportVerify {
|
|
IMPORT_VERIFY_NO,
|
|
IMPORT_VERIFY_CHECKSUM,
|
|
IMPORT_VERIFY_SIGNATURE,
|
|
_IMPORT_VERIFY_MAX,
|
|
_IMPORT_VERIFY_INVALID = -EINVAL,
|
|
} ImportVerify;
|
|
|
|
int import_url_last_component(const char *url, char **ret);
|
|
|
|
int import_url_change_suffix(const char *url, size_t n_drop_components, const char *suffix, char **ret);
|
|
|
|
static inline int import_url_change_last_component(const char *url, const char *suffix, char **ret) {
|
|
return import_url_change_suffix(url, 1, suffix, ret);
|
|
}
|
|
|
|
static inline int import_url_append_component(const char *url, const char *suffix, char **ret) {
|
|
return import_url_change_suffix(url, 0, suffix, ret);
|
|
}
|
|
|
|
const char* import_verify_to_string(ImportVerify v) _const_;
|
|
ImportVerify import_verify_from_string(const char *s) _pure_;
|
|
|
|
int tar_strip_suffixes(const char *name, char **ret);
|
|
int raw_strip_suffixes(const char *name, char **ret);
|
|
|
|
int import_assign_pool_quota_and_warn(const char *path);
|
|
|
|
int import_set_nocow_and_log(int fd, const char *path);
|