403Webshell
Server IP : 82.208.35.60  /  Your IP : 216.73.216.168
Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31
System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64
User : studiokobylisy_cz ( 1008)
PHP Version : 7.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/ports/graphics/igt-gpu-tools/files/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/ports/graphics/igt-gpu-tools/files/patch-runner_settings.c
--- runner/settings.c.orig	2022-08-31 20:00:01 UTC
+++ runner/settings.c
@@ -872,6 +872,36 @@ bool serialize_settings(struct settings *settings)
 #undef SERIALIZE_LINE
 }
 
+#ifdef __FreeBSD__
+static inline int
+settings_fscanf(FILE *stream, char **name, char **val)
+{
+	char c, **buf = name;
+	int i, buflen, rewind = 0;
+
+	/* get buffer size for name AND value */
+	for (i = 0; i < 2; ++i, buf = val) {
+		for (buflen = 0;
+		    (c = fgetc(stream)) != ':' && c != '\n' && c != EOF;
+		    ++buflen)
+			;
+
+		/* add 1 to make room for '\0' */
+		*buf = malloc(buflen + 1);
+
+		/* add 1 to include ':' or '\n' */
+		rewind += buflen + 1;
+	}
+
+	/* rewind to start of new line for fscanf */
+	i = fseek(stream, -rewind, SEEK_CUR);
+	if (i < 0)
+		return (i);
+
+	return (fscanf(stream, "%s : %[^\n]\n", *name, *val));
+}
+#endif
+
 bool read_settings_from_file(struct settings *settings, FILE *f)
 {
 #define PARSE_LINE(s, name, val, field, write) \
@@ -887,7 +917,11 @@ bool read_settings_from_file(struct settings *settings
 
 	settings->dmesg_warn_level = -1;
 
+#ifdef __linux__
 	while (fscanf(f, "%ms : %m[^\n]", &name, &val) == 2) {
+#elif defined(__FreeBSD__)
+	while (settings_fscanf(f, &name, &val) == 2) {
+#endif
 		int numval = atoi(val);
 		PARSE_LINE(settings, name, val, abort_mask, numval);
 		PARSE_LINE(settings, name, val, disk_usage_limit, strtoul(val, NULL, 10));

Youez - 2016 - github.com/yon3zu
LinuXploit