diff options
| author | Peter Melnichenko <mpeterval@gmail.com> | 2016-05-04 15:17:21 +0300 |
|---|---|---|
| committer | Peter Melnichenko <mpeterval@gmail.com> | 2016-05-05 12:39:17 +0300 |
| commit | 8f167ef1de6ecbe1a6b4b375c92c370b995c6874 (patch) | |
| tree | f2cb8743d248171262520d734b8dd468c4997388 /src | |
| parent | 8b85d257a6c6ed3cbe1c80240ab168b5f3117cc3 (diff) | |
| download | luafilesystem-8f167ef1de6ecbe1a6b4b375c92c370b995c6874.tar.gz luafilesystem-8f167ef1de6ecbe1a6b4b375c92c370b995c6874.tar.bz2 luafilesystem-8f167ef1de6ecbe1a6b4b375c92c370b995c6874.zip | |
Return errno from lfs.touch on error
Diffstat (limited to 'src')
| -rw-r--r-- | src/lfs.c | 34 |
1 files changed, 16 insertions, 18 deletions
| @@ -646,26 +646,24 @@ static const char *mode2string (mode_t mode) { | |||
| 646 | 646 | ||
| 647 | 647 | ||
| 648 | /* | 648 | /* |
| 649 | ** Set access time and modification values for file | 649 | ** Set access time and modification values for a file. |
| 650 | ** @param #1 File path. | ||
| 651 | ** @param #2 Access time in seconds, current time is used if missing. | ||
| 652 | ** @param #3 Modification time in seconds, access time is used if missing. | ||
| 650 | */ | 653 | */ |
| 651 | static int file_utime (lua_State *L) { | 654 | static int file_utime (lua_State *L) { |
| 652 | const char *file = luaL_checkstring (L, 1); | 655 | const char *file = luaL_checkstring(L, 1); |
| 653 | struct utimbuf utb, *buf; | 656 | struct utimbuf utb, *buf; |
| 654 | 657 | ||
| 655 | if (lua_gettop (L) == 1) /* set to current date/time */ | 658 | if (lua_gettop (L) == 1) /* set to current date/time */ |
| 656 | buf = NULL; | 659 | buf = NULL; |
| 657 | else { | 660 | else { |
| 658 | utb.actime = (time_t)luaL_optnumber (L, 2, 0); | 661 | utb.actime = (time_t) luaL_optnumber(L, 2, 0); |
| 659 | utb.modtime = (time_t) luaL_optinteger (L, 3, utb.actime); | 662 | utb.modtime = (time_t) luaL_optinteger(L, 3, utb.actime); |
| 660 | buf = &utb; | 663 | buf = &utb; |
| 661 | } | 664 | } |
| 662 | if (utime (file, buf)) { | 665 | |
| 663 | lua_pushnil (L); | 666 | return pushresult(L, utime(file, buf), NULL); |
| 664 | lua_pushfstring (L, "%s", strerror (errno)); | ||
| 665 | return 2; | ||
| 666 | } | ||
| 667 | lua_pushboolean (L, 1); | ||
| 668 | return 1; | ||
| 669 | } | 667 | } |
| 670 | 668 | ||
| 671 | 669 | ||
