hrev45430 adds 1 changeset to branch 'master' old head: a3a541eebd0b2ffe2e2ba30acf1c87d5ed9cf98f new head: f84890787563f38410d44ca77e39a001b32722af overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=f848907+%5Ea3a541e ---------------------------------------------------------------------------- f848907: Implement storing persistent network configurations. The API to add persistent networks was added back in r42807 and r42816 but storing them was still missing. [ Michael Lotz <mmlr@xxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev45430 Commit: f84890787563f38410d44ca77e39a001b32722af URL: http://cgit.haiku-os.org/haiku/commit/?id=f848907 Author: Michael Lotz <mmlr@xxxxxxxx> Date: Sat Mar 30 23:43:32 2013 UTC ---------------------------------------------------------------------------- 1 file changed, 12 insertions(+), 6 deletions(-) src/servers/net/Settings.cpp | 18 ++++++++++++------ ---------------------------------------------------------------------------- diff --git a/src/servers/net/Settings.cpp b/src/servers/net/Settings.cpp index 36dafc2..a52c2b1 100644 --- a/src/servers/net/Settings.cpp +++ b/src/servers/net/Settings.cpp @@ -10,6 +10,7 @@ #include "Settings.h" #include <Directory.h> +#include <File.h> #include <FindDirectory.h> #include <fs_interface.h> #include <Path.h> @@ -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; }