Date: Mon, 30 Sep 2024 21:48:22 +0200 From: Steffen Nurpmeso <steffen@sdaoden.eu> To: Kyle Evans <kevans@FreeBSD.org> Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: c2caf3b3313f - main - flua: lposix: add more useful functions for general purpose scripts Message-ID: <20240930194822.k7nwRuRt@steffen%sdaoden.eu> In-Reply-To: <202409300353.48U3rZM7000710@gitrepo.freebsd.org> References: <202409300353.48U3rZM7000710@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
.. i have zero idea (and only look at time), but .. Kyle Evans wrote in <202409300353.48U3rZM7000710@gitrepo.freebsd.org>: |commit c2caf3b3313fe73bfc9b4b984c21da8d571f8798 |Author: Kyle Evans <kevans@FreeBSD.org> |AuthorDate: 2023-03-11 06:03:02 +0000 |Commit: Kyle Evans <kevans@FreeBSD.org> |CommitDate: 2024-09-30 03:52:20 +0000 | | flua: lposix: add more useful functions for general purpose scripts ... |+static int |+lua_read(lua_State *L) |+{ |+ char *buf; |+ ssize_t ret; |+ size_t sz; |+ int error, fd, narg; |+ |+ narg = lua_gettop(L); |+ luaL_argcheck(L, narg == 2, 1, |+ "read takes exactly two arguments (fd, size)"); |+ |+ fd = luaL_checkinteger(L, 1); |+ sz = luaL_checkinteger(L, 2); |+ |+ if (fd < 0) { |+ error = EBADF; |+ goto err; |+ } |+ |+ buf = malloc(sz); |+ if (buf == NULL) |+ goto err; |+ |+ /* |+ * For 0-byte reads, we'll still push the empty string and let the |+ * caller deal with EOF to match lposix semantics. |+ */ |+ ret = read(fd, buf, sz); |+ if (ret >= 0) |+ lua_pushlstring(L, buf, ret); |+ else if (ret < 0) |+ error = errno; /* Save to avoid clobber by free() */ |+ |+ free(buf); |+ if (error != 0) ^ uninit in ret>=0 case. ("Even clang should get it" (stupid me).) |+ goto err; |+ /* Just the string pushed. */ |+ return (1); |+err: ... --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20240930194822.k7nwRuRt>