summaryrefslogtreecommitdiff
path: root/frontends/amiga
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/amiga')
-rw-r--r--frontends/amiga/gui.c1
-rw-r--r--frontends/amiga/nsoption.c59
-rw-r--r--frontends/amiga/nsoption.h28
3 files changed, 88 insertions, 0 deletions
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index 63a240656..60fb22241 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -142,6 +142,7 @@
#include "amiga/login.h"
#include "amiga/menu.h"
#include "amiga/misc.h"
+#include "amiga/nsoption.h"
#include "amiga/plotters.h"
#include "amiga/plugin_hack.h"
#include "amiga/print.h"
diff --git a/frontends/amiga/nsoption.c b/frontends/amiga/nsoption.c
new file mode 100644
index 000000000..69b59bc2a
--- /dev/null
+++ b/frontends/amiga/nsoption.c
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2016 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "amiga/os3support.h"
+
+#include <proto/exec.h>
+#include <proto/utility.h>
+
+#include "utils/nsoption.h"
+#include "amiga/nsoption.h"
+
+static char *current_user_options = NULL;
+
+nserror ami_nsoption_read(void)
+{
+ return nsoption_read(current_user_options, NULL);
+}
+
+nserror ami_nsoption_write(void)
+{
+ return nsoption_write(current_user_options, NULL, NULL);
+}
+
+nserror ami_nsoption_set_location(const char *current_user_dir)
+{
+ nserror err = NSERROR_OK;
+
+ ami_nsoption_free();
+
+ current_user_options = ASPrintf("%s/Choices", current_user_dir);
+ if(current_user_options == NULL)
+ err = NSERROR_NOMEM;
+
+ return err;
+}
+
+void ami_nsoption_free(void)
+{
+ if(current_user_options != NULL)
+ FreeVec(current_user_options);
+
+ current_user_options = NULL;
+}
+
diff --git a/frontends/amiga/nsoption.h b/frontends/amiga/nsoption.h
new file mode 100644
index 000000000..c3a3b56f2
--- /dev/null
+++ b/frontends/amiga/nsoption.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2016 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef AMIGA_NSOPTION_H
+#define AMIGA_NSOPTION_H 1
+#include "utils/errors.h"
+
+nserror ami_nsoption_read(void);
+nserror ami_nsoption_write(void);
+nserror ami_nsoption_set_location(const char *current_user_dir);
+void ami_nsoption_free(void);
+#endif
+