Date: Tue, 20 Feb 2018 18:21:30 +0000 (UTC) From: Conrad Meyer <cem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329649 - head/stand/liblua Message-ID: <201802201821.w1KILUUg079715@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: cem Date: Tue Feb 20 18:21:30 2018 New Revision: 329649 URL: https://svnweb.freebsd.org/changeset/base/329649 Log: Lua lfs.attributes: Provide a more consistent error return In the remaining error case, return a 3-tuple consistent with the other error return case. Document how to invoke lfs.attributes() and detect/decode error return in example comments. Reviewed by: kevans Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D14451 Modified: head/stand/liblua/lfs.c Modified: head/stand/liblua/lfs.c ============================================================================== --- head/stand/liblua/lfs.c Tue Feb 20 18:12:07 2018 (r329648) +++ head/stand/liblua/lfs.c Tue Feb 20 18:21:30 2018 (r329649) @@ -80,13 +80,20 @@ __FBSDID("$FreeBSD$"); * (etc.) * * The other available API is lfs.attributes(), which functions somewhat like - * stat(2) and returns a table of values: + * stat(2) and returns a table of values. Example code: * - * for k, v in pairs(lfs.attributes("/boot")) do + * attrs, errormsg, errorcode = lfs.attributes("/boot") + * if attrs == nil then + * print(errormsg) + * return errorcode + * end + * + * for k, v in pairs(attrs) do * print(k .. ":\t" .. v) * end + * return 0 * - * Prints: + * Prints (on success): * gid: 0 * change: 140737488342640 * mode: directory @@ -277,7 +284,9 @@ lua_attributes(lua_State *L) path = luaL_checkstring(L, 1); if (path == NULL) { lua_pushnil(L); - return 1; + lua_pushfstring(L, "cannot convert first argument to string"); + lua_pushinteger(L, EINVAL); + return 3; } rc = stat(path, &sb);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802201821.w1KILUUg079715>