- /*
- * '_cups_strlcat()' - Safely concatenate two strings.
- */
- size_t /* O - Length of string */
- strlcat(char *dst, /* O - Destination string */
- const char *src, /* I - Source string */
- size_t size) /* I - Size of destination string buffer */
- {
- size_t srclen; /* Length of source string */
- size_t dstlen; /* Length of destination string */
- /*
- * Figure out how much room is left...
- */
- dstlen = strlen(dst);
- size -= dstlen + 1;
- if (!size)
- return (dstlen); /* No room, return immediately... */
- /*
- * Figure out how much room is needed...
- */
- srclen = strlen(src);
- /*
- * Copy the appropriate amount...
- */
- if (srclen > size)
- srclen = size;
- memcpy(dst + dstlen, src, srclen);
- dst[dstlen + srclen] = '\0';
- return (dstlen + srclen);
- }
- #endif /* !HAVE_STRLCAT */
- #ifndef HAVE_STRLCPY
- /*
- * '_cups_strlcpy()' - Safely copy two strings.
- */
- size_t /* O - Length of string */
- strlcpy(char *dst, /* O - Destination string */
- const char *src, /* I - Source string */
- size_t size) /* I - Size of destination string buffer */
- {
- size_t srclen; /* Length of source string */
- /*
- * Figure out how much room is needed...
- */
- size --;
- srclen = strlen(src);
- /*
- * Copy the appropriate amount...
- */
- if (srclen > size)
- srclen = size;
- memcpy(dst, src, srclen);
- dst[srclen] = '\0';
- return (srclen);
- }
- #endif /* !HAVE_STRLCPY */
strlcat,strlcpy
最新推荐文章于 2024-03-20 16:32:40 发布