Merge pull request #20 from yangfl/upstream

Fix for some non-linux
This commit is contained in:
Joachim Wiberg
2022-01-27 11:34:50 +01:00
committed by GitHub
4 changed files with 11 additions and 6 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ int fisdir(const char *path)
{
struct stat sb;
if (!stat(path, &sb) && S_ISDIR(sb.st_mode))
if (path && !stat(path, &sb) && S_ISDIR(sb.st_mode))
return 1;
return 0;
+8 -3
View File
@@ -139,10 +139,15 @@ int whichp (const char *cmd);
*/
static inline int touch(const char *path)
{
int fd;
if (utimensat(AT_FDCWD, path, NULL, 0)) {
if (errno == ENOENT)
return mknod((path), S_IFREG|0644, 0);
return -1;
if (errno != ENOENT)
return -1;
fd = creat(path, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
if (fd < 0)
return -1;
close(fd);
}
return 0;
}
+1 -1
View File
@@ -41,7 +41,7 @@ static int mtime()
char buf[80];
/* Must sleep a while here otherwise we execute too fast => no mtime change :-( */
usleep(10000);
sleep(2);
PRINT("Calling pidfile() again to update mtime ...\n");
if (pidfile(pidfile_arg))
+1 -1
View File
@@ -23,7 +23,7 @@ static int mtime(char *file)
stat(file, &before);
/* Must sleep a while here otherwise we execute too fast => no mtime change :-( */
usleep(10000);
sleep(2);
PRINT("Calling touch() again to update mtime ...\n");
if (touch(file)) {