From b65016a004d0017ba8687d3d13b141118b05c137 Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Thu, 11 Jan 2018 16:38:08 +0000
Subject: [PATCH] Clean up temp file after download. Allow upload of avatar,
 use avatar_lib import method after file received.

---
 exec/avatar_chooser.js | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/exec/avatar_chooser.js b/exec/avatar_chooser.js
index 5b94e6dc2f..43a6dac298 100644
--- a/exec/avatar_chooser.js
+++ b/exec/avatar_chooser.js
@@ -109,12 +109,21 @@ function download_avatar() {
 		};
 		sauce_lib.write(fn, sauce);
 		bbs.send_file(fn);
+		file_remove(fn);
 		return true;
 	} else {
 		return false;
 	}
 }
 
+function upload_avatar() {
+	const fn = system.temp_dir + format('avatar-%04d.bin', user.number);
+	bbs.receive_file(fn);
+	const success = avatar_lib.import_file(user.number, fn, 0);
+	file_remove(fn);
+	return success;
+}
+
 function CollectionBrowser(filename, parent_frame) {
 
 	const frames = {
@@ -473,7 +482,15 @@ function MainMenu(parent_frame) {
 		);
 		state.tree.addItem(
 			'Upload an avatar', function () {
-				// placeholder
+				console.clear(WHITE);
+				console.putmsg('Comments go here');
+				if (upload_avatar()) {
+					console.putmsg('Your avatar has been updated.');
+				} else {
+					console.putmsg('An error was encountered.  Your avatar has nto been updated.');
+				}
+				console.clear(LIGHTGRAY);
+				frames.parent.invalidate();
 			}
 		);
 		state.tree.addItem(
-- 
GitLab