[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/lib/libinput][upstream-unstable] 2 commits: tools: record: fix dmi recording



Title: GitLab

Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / libinput

Commits:

2 changed files:

Changes:

  • meson.build
    1 1
     project('libinput', 'c',
    
    2
    -	version : '1.15.3',
    
    2
    +	version : '1.15.4',
    
    3 3
     	license : 'MIT/Expat',
    
    4 4
     	default_options : [ 'c_std=gnu99', 'warning_level=2' ],
    
    5 5
     	meson_version : '>= 0.41.0')
    

  • tools/libinput-record.c
    ... ... @@ -1430,37 +1430,26 @@ print_system_header(struct record_context *ctx)
    1430 1430
     	struct utsname u;
    
    1431 1431
     	const char *kernel = "unknown";
    
    1432 1432
     	FILE *dmi, *osrelease;
    
    1433
    -	char buf[2048] = "unknown";
    
    1434
    -
    
    1435
    -	if (uname(&u) != -1)
    
    1436
    -		kernel = u.release;
    
    1437
    -
    
    1438
    -	dmi = fopen("/sys/class/dmi/id/modalias", "r");
    
    1439
    -	if (dmi) {
    
    1440
    -		if (fgets(buf, sizeof(buf), dmi)) {
    
    1441
    -			buf[strlen(buf) - 1] = '\0'; /* linebreak */
    
    1442
    -		} else {
    
    1443
    -			sprintf(buf, "unknown");
    
    1444
    -		}
    
    1445
    -		fclose(dmi);
    
    1446
    -	}
    
    1433
    +	char dmistr[2048] = "unknown";
    
    1447 1434
     
    
    1448 1435
     	iprintf(ctx, "system:\n");
    
    1449 1436
     	indent_push(ctx);
    
    1450 1437
     
    
    1438
    +	/* /etc/os-release version and distribution name */
    
    1451 1439
     	osrelease = fopen("/etc/os-release", "r");
    
    1452 1440
     	if (!osrelease)
    
    1453 1441
     		osrelease = fopen("/usr/lib/os-release", "r");
    
    1454 1442
     	if (osrelease) {
    
    1455 1443
     		char *distro = NULL, *version = NULL;
    
    1444
    +		char osrstr[256] = "unknown";
    
    1456 1445
     
    
    1457
    -		while (fgets(buf, sizeof(buf), osrelease)) {
    
    1458
    -			buf[strlen(buf) - 1] = '\0'; /* linebreak */
    
    1446
    +		while (fgets(osrstr, sizeof(osrstr), osrelease)) {
    
    1447
    +			osrstr[strlen(osrstr) - 1] = '\0'; /* linebreak */
    
    1459 1448
     
    
    1460
    -			if (!distro && strneq(buf, "ID=", 3))
    
    1461
    -				distro = safe_strdup(&buf[3]);
    
    1462
    -			else if (!version && strneq(buf, "VERSION_ID=", 11))
    
    1463
    -				version = safe_strdup(&buf[11]);
    
    1449
    +			if (!distro && strneq(osrstr, "ID=", 3))
    
    1450
    +				distro = safe_strdup(&osrstr[3]);
    
    1451
    +			else if (!version && strneq(osrstr, "VERSION_ID=", 11))
    
    1452
    +				version = safe_strdup(&osrstr[11]);
    
    1464 1453
     
    
    1465 1454
     			if (distro && version) {
    
    1466 1455
     				iprintf(ctx, "os: \"%s:%s\"\n", distro, version);
    
    ... ... @@ -1471,8 +1460,23 @@ print_system_header(struct record_context *ctx)
    1471 1460
     		free(version);
    
    1472 1461
     		fclose(osrelease);
    
    1473 1462
     	}
    
    1463
    +
    
    1464
    +	/* kernel version */
    
    1465
    +	if (uname(&u) != -1)
    
    1466
    +		kernel = u.release;
    
    1474 1467
     	iprintf(ctx, "kernel: \"%s\"\n", kernel);
    
    1475
    -	iprintf(ctx, "dmi: \"%s\"\n", buf);
    
    1468
    +
    
    1469
    +	/* dmi modalias */
    
    1470
    +	dmi = fopen("/sys/class/dmi/id/modalias", "r");
    
    1471
    +	if (dmi) {
    
    1472
    +		if (fgets(dmistr, sizeof(dmistr), dmi)) {
    
    1473
    +			dmistr[strlen(dmistr) - 1] = '\0'; /* linebreak */
    
    1474
    +		} else {
    
    1475
    +			sprintf(dmistr, "unknown");
    
    1476
    +		}
    
    1477
    +		fclose(dmi);
    
    1478
    +	}
    
    1479
    +	iprintf(ctx, "dmi: \"%s\"\n", dmistr);
    
    1476 1480
     	indent_pop(ctx);
    
    1477 1481
     }
    
    1478 1482
     
    


  • Reply to: