Allow getting other safe mode settings than the default one, from command line.
Added a -s option to get the string value of the setting directly instead of interpreting it as bool. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32086 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+15
-1
@@ -14,11 +14,25 @@
|
|||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
const char *optionName = B_SAFEMODE_SAFE_MODE;
|
||||||
|
bool realString = false;
|
||||||
char buffer[B_FILE_NAME_LENGTH];
|
char buffer[B_FILE_NAME_LENGTH];
|
||||||
size_t size = sizeof(buffer);
|
size_t size = sizeof(buffer);
|
||||||
|
int i;
|
||||||
|
|
||||||
status_t status = _kern_get_safemode_option(B_SAFEMODE_SAFE_MODE, buffer, &size);
|
for (i = 1; i < argc; i++) {
|
||||||
|
if (!strcmp(argv[i], "-s"))
|
||||||
|
realString = true;
|
||||||
|
else
|
||||||
|
optionName = argv[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
status_t status = _kern_get_safemode_option(optionName, buffer, &size);
|
||||||
if (status == B_OK) {
|
if (status == B_OK) {
|
||||||
|
if (realString) {
|
||||||
|
puts(buffer);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (!strncasecmp(buffer, "true", size)
|
if (!strncasecmp(buffer, "true", size)
|
||||||
|| !strncasecmp(buffer, "yes", size)
|
|| !strncasecmp(buffer, "yes", size)
|
||||||
|| !strncasecmp(buffer, "on", size)
|
|| !strncasecmp(buffer, "on", size)
|
||||||
|
|||||||
Reference in New Issue
Block a user