From f84890787563f38410d44ca77e39a001b32722af Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sun, 31 Mar 2013 00:43:32 +0100 Subject: [PATCH] Implement storing persistent network configurations. The API to add persistent networks was added back in r42807 and r42816 but storing them was still missing. --- src/servers/net/Settings.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/servers/net/Settings.cpp b/src/servers/net/Settings.cpp index 36dafc21c9..a52c2b1ced 100644 --- a/src/servers/net/Settings.cpp +++ b/src/servers/net/Settings.cpp @@ -10,6 +10,7 @@ #include "Settings.h" #include +#include #include #include #include @@ -410,13 +411,18 @@ Settings::_ConvertToDriverSettings(const char* name, BString settings; status = _ConvertToDriverSettings(settingsTemplate, settings, message); - if (status == B_OK) { - settings.RemoveFirst("\n"); - // TODO: actually write the settings.String() out into the file - printf("settings:\n%s\n", settings.String()); - } + if (status != B_OK) + return status; - return status; + settings.RemoveFirst("\n"); + BFile settingsFile(path.Path(), B_WRITE_ONLY | B_ERASE_FILE + | B_CREATE_FILE); + + ssize_t written = settingsFile.Write(settings.String(), settings.Length()); + if (written < 0) + return written; + + return written == settings.Length() ? B_OK : B_ERROR; }