[haiku-commits] haiku: hrev45430 - src/servers/net

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 31 Mar 2013 01:24:51 +0100 (CET)

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;
 }
 
 


Other related posts:

  • » [haiku-commits] haiku: hrev45430 - src/servers/net - mmlr