From 269f18d5e6698fdd34fec2798f10c6fe072f3cd5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 1 Sep 2022 23:36:52 -0700
Subject: [PATCH] Fix signature of main function

Clang-15 errors out otherewise.
Include needed headers for missing functions

Upstream-Status:Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 src/chkshsgr.c    | 2 +-
 src/tai64n.c      | 2 +-
 src/tai64nlocal.c | 2 +-
 src/trycpp.c      | 5 +++--
 src/tryflock.c    | 4 ++--
 src/trymkffo.c    | 2 +-
 src/trypoll.c     | 3 ++-
 src/trysgact.c    | 4 ++--
 src/trysgprm.c    | 4 ++--
 src/tryshsgr.c    | 3 ++-
 src/tryulong64.c  | 4 ++--
 src/trywaitp.c    | 4 ++--
 src/x86cpuid.c    | 2 +-
 13 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/src/chkshsgr.c b/src/chkshsgr.c
index 038afe9..9547a4c 100644
--- a/src/chkshsgr.c
+++ b/src/chkshsgr.c
@@ -5,7 +5,7 @@
 #include <grp.h>
 #include <unistd.h>
 
-int main()
+int main(int argc, char *argv[])
 {
   gid_t x[4];
 
diff --git a/src/tai64n.c b/src/tai64n.c
index 17bdb82..7096ab3 100644
--- a/src/tai64n.c
+++ b/src/tai64n.c
@@ -27,7 +27,7 @@ buffer in = BUFFER_INIT(myread,0,inbuf,sizeof inbuf);
 
 char stamp[TIMESTAMP + 1];
 
-int main()
+int main(int argc, char *argv[])
 {
   char ch;
 
diff --git a/src/tai64nlocal.c b/src/tai64nlocal.c
index ce16ad8..2435737 100644
--- a/src/tai64nlocal.c
+++ b/src/tai64nlocal.c
@@ -28,7 +28,7 @@ unsigned long nanosecs;
 unsigned long u;
 struct tm *t;
 
-int main()
+int main(int argc, char *argv[])
 {
   char ch;
 
diff --git a/src/trycpp.c b/src/trycpp.c
index e4503d4..d96c955 100644
--- a/src/trycpp.c
+++ b/src/trycpp.c
@@ -1,6 +1,7 @@
 /* Public domain. */
-
-int main()
+#include <stdio.h>
+#include <stdlib.h>
+int main(int argc, char *argv[])
 {
 #ifdef NeXT
   printf("nextstep\n"); exit(0);
diff --git a/src/tryflock.c b/src/tryflock.c
index a82ffc2..5ca97d3 100644
--- a/src/tryflock.c
+++ b/src/tryflock.c
@@ -3,8 +3,8 @@
 #include <sys/types.h>
 #include <sys/file.h>
 #include <fcntl.h>
-
-main()
+void
+main(int argc, char *argv[])
 {
   flock(0,LOCK_EX | LOCK_UN | LOCK_NB);
 }
diff --git a/src/trymkffo.c b/src/trymkffo.c
index 9356342..f92414a 100644
--- a/src/trymkffo.c
+++ b/src/trymkffo.c
@@ -3,7 +3,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
-void main()
+void main(int argc, char *argv[])
 {
   mkfifo("temp-trymkffo",0);
 }
diff --git a/src/trypoll.c b/src/trypoll.c
index 6506617..cb888cc 100644
--- a/src/trypoll.c
+++ b/src/trypoll.c
@@ -3,8 +3,9 @@
 #include <sys/types.h>
 #include <fcntl.h>
 #include <poll.h>
+#include <unistd.h>
 
-int main()
+int main(int argc, char *argv[])
 {
   struct pollfd x;
 
diff --git a/src/trysgact.c b/src/trysgact.c
index e264ef2..25da013 100644
--- a/src/trysgact.c
+++ b/src/trysgact.c
@@ -1,8 +1,8 @@
 /* Public domain. */
 
 #include <signal.h>
-
-main()
+void
+main(int argc, char *argv[])
 {
   struct sigaction sa;
   sa.sa_handler = 0;
diff --git a/src/trysgprm.c b/src/trysgprm.c
index a46c82c..5a9491c 100644
--- a/src/trysgprm.c
+++ b/src/trysgprm.c
@@ -1,8 +1,8 @@
 /* Public domain. */
 
 #include <signal.h>
-
-main()
+void
+main(int argc, char *argv[])
 {
   sigset_t ss;
  
diff --git a/src/tryshsgr.c b/src/tryshsgr.c
index c5ed6d6..d111e40 100644
--- a/src/tryshsgr.c
+++ b/src/tryshsgr.c
@@ -1,6 +1,7 @@
 /* Public domain. */
 
-int main()
+#include <unistd.h>
+int main(int argc, char *argv[])
 {
   short x[4];
  
diff --git a/src/tryulong64.c b/src/tryulong64.c
index 003548a..20a3a40 100644
--- a/src/tryulong64.c
+++ b/src/tryulong64.c
@@ -1,6 +1,6 @@
 /* Public domain. */
-
-int main()
+#include <unistd.h>
+int main(int argc, char *argv[])
 {
   unsigned long u;
   u = 1;
diff --git a/src/trywaitp.c b/src/trywaitp.c
index 319b81f..90bc5aa 100644
--- a/src/trywaitp.c
+++ b/src/trywaitp.c
@@ -2,8 +2,8 @@
 
 #include <sys/types.h>
 #include <sys/wait.h>
-
-main()
+void
+main(int argc, char *argv[])
 {
   waitpid(0,0,0);
 }
diff --git a/src/x86cpuid.c b/src/x86cpuid.c
index f81c593..1cb1ea6 100644
--- a/src/x86cpuid.c
+++ b/src/x86cpuid.c
@@ -7,7 +7,7 @@ void nope()
   exit(1);
 }
 
-int main()
+int main(int argc, char *argv[])
 {
   unsigned long x[4];
   unsigned long y[4];
-- 
2.37.3

