mirror of
https://github.com/opnsense/src.git
synced 2026-02-18 18:20:26 -05:00
git-subtree-dir: contrib/libder git-subtree-mainline: d11904b350214943dedb64c7121d4602799d7afd git-subtree-split: 9c40c4de4c33b2ba1124fb752ebea0bebaa6013f (cherry picked from commit 35c0a8c449fd2b7f75029ebed5e10852240f0865)
29 lines
501 B
C
29 lines
501 B
C
/*-
|
|
* Copyright (c) 2024 Kyle Evans <kevans@FreeBSD.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <assert.h>
|
|
#include <fcntl.h>
|
|
#include <libgen.h>
|
|
#include <limits.h>
|
|
#include <stdlib.h>
|
|
|
|
static inline int
|
|
open_progdir(const char *prog)
|
|
{
|
|
char pdir[PATH_MAX], *resolved;
|
|
int dfd;
|
|
|
|
resolved = realpath(prog, &pdir[0]);
|
|
assert(resolved != NULL);
|
|
|
|
resolved = dirname(&pdir[0]);
|
|
assert(resolved != NULL);
|
|
|
|
dfd = open(resolved, O_DIRECTORY);
|
|
assert(dfd != -1);
|
|
|
|
return (dfd);
|
|
}
|