device = argv[optind];
wholedisk = xstrdup(argv[optind + 1]);
- if (device && wholedisk && !startswith(device, wholedisk))
+ if (device && wholedisk && !ul_startswith(device, wholedisk))
errx(EXIT_FAILURE, _("partition and disk name do not match"));
}
} else if (optind == argc - 1) {
if (!partname)
err(EXIT_FAILURE, _("failed to allocate partition name"));
- if (!sf->prompt || !startswith(sf->prompt, partname)) {
+ if (!sf->prompt || !ul_startswith(sf->prompt, partname)) {
free(sf->prompt);
xasprintf(&sf->prompt,"%s: ", partname);
}
free(partname);
- } else if (!sf->prompt || !startswith(sf->prompt, SFDISK_PROMPT)) {
+ } else if (!sf->prompt || !ul_startswith(sf->prompt, SFDISK_PROMPT)) {
free(sf->prompt);
sf->prompt = xstrdup(SFDISK_PROMPT);
}
if (!rc) { /* add partition */
if (!sf->interactive && !sf->quiet &&
- (!sf->prompt || startswith(sf->prompt, SFDISK_PROMPT))) {
+ (!sf->prompt || ul_startswith(sf->prompt, SFDISK_PROMPT))) {
refresh_prompt_buffer(sf, devname, next_partno, created);
fputs(sf->prompt, stdout);
}
/*
* Match string beginning.
*/
-static inline const char *startswith(const char *s, const char *prefix)
+static inline const char *ul_startswith(const char *s, const char *prefix)
{
size_t sz = prefix ? strlen(prefix) : 0;
*/
static inline const char *startswithpath(const char *s, const char *prefix)
{
- const char *p = startswith(s, prefix);
+ const char *p = ul_startswith(s, prefix);
if (p && (*p == '/' || *p == '\0'))
return p;
/*
* Match string ending.
*/
-static inline const char *endswith(const char *s, const char *postfix)
+static inline const char *ul_endswith(const char *s, const char *postfix)
{
size_t sl = s ? strlen(s) : 0;
size_t pl = postfix ? strlen(postfix) : 0;
return NULL;
/* simple clean up */
- if (startswith(path, "./"))
+ if (ul_startswith(path, "./"))
path += 2;
else if (strcmp(path, ".") == 0)
path = NULL;
cn = canonicalize_path(name);
if (cn)
p = stripoff_last_component(cn);
- rc = p && startswith(p, "loop");
+ rc = p && ul_startswith(p, "loop");
free(cn);
}
/*
* Read from /sys/block/<parent>/<partition>/dev
*/
- if (!dev && parent && startswith(name, parent)) {
+ if (!dev && parent && ul_startswith(name, parent)) {
len = snprintf(buf, sizeof(buf),
"%s" _PATH_SYS_BLOCK "/%s/%s/dev",
prefix, _parent, _name);
e += strspn(e, WHITESPACE);
for (i = 0; i < ARRAY_SIZE(table); i++)
- if (startswith(e, table[i].suffix)) {
+ if (ul_startswith(e, table[i].suffix)) {
usec_t k = (usec_t) z * table[i].usec;
for (; n > 0; n--)
goto finish;
return -EINVAL;
- } else if (endswith(t, " ago")) {
+ } else if (ul_endswith(t, " ago")) {
char *z;
z = strndup(t, strlen(t) - 4);
/* devfs kludge - note: fdisk partition names are not supposed
to equal kernel names, so there is no reason to do this */
- if (endswith(dev, "disc")) {
+ if (ul_endswith(dev, "disc")) {
w -= 4;
p = "part";
}
}
if (type
&& strchr(type, '.')
- && !endswith(cxt->helper, type)) {
+ && !ul_endswith(cxt->helper, type)) {
args[i++] = "-t"; /* 10 */
args[i++] = type; /* 11 */
}
if (!bufsz)
break;
- if (!startswith(*s, "e "))
+ if (!ul_startswith(*s, "e "))
continue;
if (n) {
len = xstrncpy(buf, "; ", bufsz);
args[i++] = "-r"; /* 7 */
if (type
&& strchr(type, '.')
- && !endswith(cxt->helper, type)) {
+ && !ul_endswith(cxt->helper, type)) {
args[i++] = "-t"; /* 8 */
args[i++] = type; /* 9 */
}
idmap_type_t map_type;
uint32_t nsid = UINT_MAX, hostid = UINT_MAX, range = UINT_MAX;
- if (startswith(tok, "b:")) {
+ if (ul_startswith(tok, "b:")) {
/* b:id-mount:id-host:id-range */
map_type = ID_TYPE_UIDGID;
tok += 2;
- } else if (startswith(tok, "g:")) {
+ } else if (ul_startswith(tok, "g:")) {
/* g:id-mount:id-host:id-range */
map_type = ID_TYPE_GID;
tok += 2;
- } else if (startswith(tok, "u:")) {
+ } else if (ul_startswith(tok, "u:")) {
/* u:id-mount:id-host:id-range */
map_type = ID_TYPE_UID;
tok += 2;
for (ent = map; ent && ent->name; ent++) {
if (ent->mask & MNT_PREFIX) {
- if (startswith(name, ent->name)) {
+ if (ul_startswith(name, ent->name)) {
if (mapent)
*mapent = ent;
return map;
if (*name == '+')
name++, namesz--;
- else if ((no = (startswith(name, "no") != NULL))) {
+ else if ((no = (ul_startswith(name, "no") != NULL))) {
name += 2, namesz -= 2;
if (!*name || *name == ',') {
match = 0;
DBG(FS, ul_debugobj(fs, "source root: %s, source FS root: %s", root, src_root));
- if (src_root && root && !startswith(root, src_root)) {
+ if (src_root && root && !ul_startswith(root, src_root)) {
if (strcmp(root, "/") == 0) {
free(root);
root = strdup(src_root);
int flags = 0;
if (!mnt_fs_get_srcpath(fs) ||
- !startswith(mnt_fs_get_srcpath(fs), "/dev/loop"))
+ !ul_startswith(mnt_fs_get_srcpath(fs), "/dev/loop"))
continue; /* does not look like loopdev */
if (mnt_fs_get_option(fstab_fs, "offset", &val, &len) == 0) {
/* (1) source */
p = unmangle(s, &s);
if (p) {
- char *x = (char *) endswith(p, PATH_DELETED_SUFFIX);
+ char *x = (char *) ul_endswith(p, PATH_DELETED_SUFFIX);
if (x && *x)
*x = '\0';
}
char *p;
const char *e;
- e = startswith(mnt_fs_get_target(fs), upd_source);
+ e = ul_startswith(mnt_fs_get_target(fs), upd_source);
if (!e || (*e && *e != '/'))
continue;
if (*e == '/')
char *optstr = argv[1];
char *pattern = argv[2];
- printf("%s\n", startswith(optstr, pattern) ? "YES" : "NOT");
+ printf("%s\n", ul_startswith(optstr, pattern) ? "YES" : "NOT");
return 0;
}
char *optstr = argv[1];
char *pattern = argv[2];
- printf("%s\n", endswith(optstr, pattern) ? "YES" : "NOT");
+ printf("%s\n", ul_endswith(optstr, pattern) ? "YES" : "NOT");
return 0;
}
const char *name = udev_list_entry_get_name(le);
size_t sz;
- if (!name || !startswith(name, LSBLK_UDEV_BYID_PREFIX))
+ if (!name || !ul_startswith(name, LSBLK_UDEV_BYID_PREFIX))
continue;
name += LSBLK_UDEV_BYID_PREFIXSZ;
if (!*name)
line = strtok_r(tokstr, "\n", &saveptr);
if (!line)
continue;
- line = (char *) startswith(line, name);
+ line = (char *) ul_startswith(line, name);
if (!line || line[0] != ' ')
continue;
ctrl |= LASTLOG2_DEBUG;
else if (strcmp (*argv, "silent") == 0)
ctrl |= LASTLOG2_QUIET;
- else if ((str = startswith (*argv, "database=")) != NULL)
+ else if ((str = ul_startswith (*argv, "database=")) != NULL)
lastlog2_path = str;
- else if ((str = startswith (*argv, "silent_if=")) != NULL) {
+ else if ((str = ul_startswith (*argv, "silent_if=")) != NULL) {
const void *void_str = NULL;
const char *service;
if ((pam_get_item (pamh, PAM_SERVICE, &void_str) != PAM_SUCCESS) ||
tty = void_str;
/* strip leading "/dev/" from tty. */
- const char *str = startswith(tty, "/dev/");
+ const char *str = ul_startswith(tty, "/dev/");
if (str != NULL)
tty = str;
/* Description */
vu->text = str;
- p = (char *) startswith(vu->text, "Mitigation");
+ p = (char *) ul_startswith(vu->text, "Mitigation");
if (p) {
*p = ';';
strrem(vu->text, ':');
UL_STRV_FOREACH(s, mesgs) {
switch (type) {
case 'e':
- if (!startswith(*s, "e "))
+ if (!ul_startswith(*s, "e "))
break;
fprintf(stderr, " * %s\n", (*s) + 2);
break;
case 'w':
- if (!startswith(*s, "w "))
+ if (!ul_startswith(*s, "w "))
break;
fprintf(stdout, " * %s\n", (*s) + 2);
break;
case 'i':
- if (!startswith(*s, "i "))
+ if (!ul_startswith(*s, "i "))
break;
fprintf(stdout, " * %s\n", (*s) + 2);
break;
FILE *f;
size_t skip = 0;
- if (startswith(devname, "/dev/"))
+ if (ul_startswith(devname, "/dev/"))
skip = 5;
snprintf(buf, sizeof buf, SYS_WAKEUP_PATH_TEMPLATE, devname + skip);
f = fopen(buf, "r");
int fd;
char *devpath = NULL;
- if (startswith(devname, "/dev"))
+ if (ul_startswith(devname, "/dev"))
devpath = xstrdup(devname);
else
xasprintf(&devpath, "/dev/%s", devname);
return;
}
- type = startswith(str, "fs:");
+ type = ul_startswith(str, "fs:");
if (type)
opts->access_fs |= parse_landlock_fs_access(type);
}
char *accesses_part;
int parent_fd;
- accesses = startswith(str, "path-beneath:");
+ accesses = ul_startswith(str, "path-beneath:");
if (!accesses)
errx(EXIT_FAILURE, _("invalid landlock rule: %s"), str);
path = strchr(accesses, ':');
arg = cmdline_arg;
/* strip optional operator first */
- if (startswith(arg, "&")) {
+ if (ul_startswith(arg, "&")) {
bitwise_op = '&';
arg++;
- } else if (startswith(arg, "^")) {
+ } else if (ul_startswith(arg, "^")) {
bitwise_op = '^';
arg++;
- } else if (startswith(arg, "~")) {
+ } else if (ul_startswith(arg, "~")) {
bitwise_op = '~';
arg++;
- } else if (startswith(arg, "|")) {
+ } else if (ul_startswith(arg, "|")) {
arg++;
}
if (bits == NULL)
errx(EXIT_FAILURE, _("error: cannot allocate bit mask"));
- if (startswith(arg, ",") || startswith(arg, "0x")) {
- if (startswith(arg, ","))
+ if (ul_startswith(arg, ",") || ul_startswith(arg, "0x")) {
+ if (ul_startswith(arg, ","))
arg++;
if (cpumask_parse(arg, bits, size) < 0)
errx(EXIT_FAILURE, _("error: invalid bit mask: %s"), cmdline_arg);