当前位置: 首页 > news >正文

glibc: strlcpy

https://zine.dev/2023/07/strlcpy-and-strlcat-added-to-glibc/
https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199
https://linux.die.net/man/3/strlcpy
https://lwn.net/Articles/612244/

从这里看,这个strlcpy、strlcat的引入glibc的过程还是很慢长。为什么一直没有放进来?其实还是很方便使用。

Kernel里的版本;

/*** strlcpy - Copy a C-string into a sized buffer* @dest: Where to copy the string to* @src: Where to copy the string from* @size: size of destination buffer** Compatible with ``*BSD``: the result is always a valid* NUL-terminated string that fits in the buffer (unless,* of course, the buffer size is zero). It does not pad* out the result like strncpy() does.*/
size_t strlcpy(char *dest, const char *src, size_t size)
{size_t ret = strlen(src);if (size) {size_t len = (ret >= size) ? size - 1 : ret;memcpy(dest, src, len);dest[len] = '\0';}return ret;
}
http://www.lryc.cn/news/170511.html

相关文章:

  • 如何在 Buildroot 中配置 Samba
  • SSM02
  • day3_QT
  • js-map方法中调用服务器接口
  • docker 已经配置了国内镜像源,但是拉取镜像速度还是很慢(gcr.io、quay.io、ghcr.io)
  • [linux(静态文件服务)] 部署vue发布后的dist网页到nginx
  • 智华计算机终端保护检查系统使用笔记
  • 前端面试话术集锦第 15 篇:高频考点(React常考进阶知识点)
  • 汽车电子——产品标准规范汇总和梳理(适应可靠性)
  • 计算机是如何工作的(上篇)
  • 数学建模| 优化入门+多目标规划
  • SSM整合Thymeleaf时,抽取公共页面并向其传递参数
  • 接口测试 —— requests 的基本了解
  • 2023年华为杯数学建模研赛D题思路解析+代码+论文
  • AB试验(三)一次试验的规范流程
  • ROI tracking by using OpenCV
  • (leetcode)二叉树最大深度
  • 【golang】调度系列之P
  • Vue3中watch用法
  • 组里来了一个实习生,一行代码引发了一个惨案
  • 随手笔记(四十五)——idea git冲突
  • chacha20 算法流程
  • 准备篇(三)Python 爬虫第三方库
  • 从零开始的PICO开发教程(4)-- VR世界 射线传送、旋转和移动
  • 防止攥改之水印功能组件
  • iOS 17 适配 Xcode 15 问题
  • Element Plus 快速开始
  • 华为云云耀云服务器L实例评测|StackEdit中文版在线Markdown笔记工具
  • MyEclipse报错javax/persistence/EntityManagerFactory
  • 【MySQL进阶】SQL性能分析