Blame src/strscpy.c

Packit Service e08953
#include "strscpy.h"
Packit Service e08953
#include <limits.h>  /* SSIZE_MAX */
Packit Service e08953
Packit Service e08953
ssize_t uv__strscpy(char* d, const char* s, size_t n) {
Packit Service e08953
  size_t i;
Packit Service e08953
Packit Service e08953
  for (i = 0; i < n; i++)
Packit Service e08953
    if ('\0' == (d[i] = s[i]))
Packit Service e08953
      return i > SSIZE_MAX ? UV_E2BIG : (ssize_t) i;
Packit Service e08953
Packit Service e08953
  if (i == 0)
Packit Service e08953
    return 0;
Packit Service e08953
Packit Service e08953
  d[--i] = '\0';
Packit Service e08953
Packit Service e08953
  return UV_E2BIG;
Packit Service e08953
}