2022-02-07 06:35:29 +05:30
|
|
|
// Copyright 2015 Nicholas J. Kain <njkain at gmail dot com>
|
|
|
|
// SPDX-License-Identifier: MIT
|
2020-10-20 16:14:31 +05:30
|
|
|
#ifndef NCMLIB_COPY_CMDARG_H_
|
|
|
|
#define NCMLIB_COPY_CMDARG_H_
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "nk/log.h"
|
|
|
|
|
|
|
|
static inline void copy_cmdarg(char *dest, const char *src,
|
|
|
|
size_t destlen, const char *argname)
|
|
|
|
{
|
|
|
|
ssize_t olen = snprintf(dest, destlen, "%s", src);
|
|
|
|
if (olen < 0)
|
|
|
|
suicide("snprintf failed on %s; your system is broken?", argname);
|
|
|
|
if ((size_t)olen >= destlen)
|
|
|
|
suicide("snprintf would truncate %s arg; it's too long", argname);
|
|
|
|
}
|
|
|
|
|
2022-02-07 06:35:29 +05:30
|
|
|
#endif
|
|
|
|
|