Bug: https://bugs.gentoo.org/944460

--- a/libsm/vfscanf.c
+++ b/libsm/vfscanf.c
@@ -240,13 +240,13 @@
 			/* FALLTHROUGH */
 		  case 'd':
 			c = CT_INT;
-			ccfn = (ULONGLONG_T (*)())sm_strtoll;
+			ccfn = (ULONGLONG_T (*)(const char *, char **, int))sm_strtoll;
 			base = 10;
 			break;
 
 		  case 'i':
 			c = CT_INT;
-			ccfn = (ULONGLONG_T (*)())sm_strtoll;
+			ccfn = (ULONGLONG_T (*)(const char *, char **, int))sm_strtoll;
 			base = 0;
 			break;
 
@@ -324,7 +324,7 @@
 			if (isupper(c))
 				flags |= LONG;
 			c = CT_INT;
-			ccfn = (ULONGLONG_T (*)()) sm_strtoll;
+			ccfn = (ULONGLONG_T (*)(const char *, char **, int)) sm_strtoll;
 			base = 10;
 			break;
 		}