summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/man/psfed.17
-rw-r--r--bin/psfed.c16
2 files changed, 10 insertions, 13 deletions
diff --git a/bin/man/psfed.1 b/bin/man/psfed.1
index 59fbdbe7..88430551 100644
--- a/bin/man/psfed.1
+++ b/bin/man/psfed.1
@@ -64,10 +64,6 @@ Select glyph in previous/next row.
 .It Ic y
 Copy the selected glyph.
 .
-.It Ic p
-Paste the copied glyph
-over the selected glyph.
-.
 .It Ic e
 Edit the selected glyph in
 .Sx Edit Mode .
@@ -105,6 +101,9 @@ Flip selected bit.
 .It Ic r
 Invert glyph.
 .
+.It Ic p
+Paste the copied glyph.
+.
 .It Ic u
 Revert glyph to initial state.
 .El
diff --git a/bin/psfed.c b/bin/psfed.c
index dde47e77..db61c714 100644
--- a/bin/psfed.c
+++ b/bin/psfed.c
@@ -248,7 +248,6 @@ static struct {
 	uint32_t scale;
 	uint32_t index;
 	bool modified;
-	uint8_t *copy;
 } normal;
 
 static struct {
@@ -257,6 +256,7 @@ static struct {
 	uint32_t x;
 	uint32_t y;
 	uint8_t *undo;
+	uint8_t *copy;
 } edit = {
 	.scale = 4,
 };
@@ -305,16 +305,11 @@ static void inputNormal(char ch) {
 		break; case 'k': normalDec(NormalCols); normalPrint("index");
 		break; case 'j': normalInc(NormalCols); normalPrint("index");
 		break; case 'y': {
-			if (!normal.copy) normal.copy = malloc(header.glyph.size);
-			if (!normal.copy) err(EX_OSERR, "malloc");
-			memcpy(normal.copy, glyph(normal.index), header.glyph.size);
+			if (!edit.copy) edit.copy = malloc(header.glyph.size);
+			if (!edit.copy) err(EX_OSERR, "malloc");
+			memcpy(edit.copy, glyph(normal.index), header.glyph.size);
 			normalPrint("copy");
 		}
-		break; case 'p': {
-			if (!normal.copy) break;
-			normal.modified = true;
-			memcpy(glyph(normal.index), normal.copy, header.glyph.size);
-		}
 		break; case 'e': {
 			normal.modified = true;
 			edit.index = normal.index;
@@ -356,6 +351,9 @@ static void inputEdit(char ch) {
 				}
 			}
 		}
+		break; case 'p': {
+			memcpy(glyph(edit.index), edit.copy, header.glyph.size);
+		}
 		break; case 'u': {
 			memcpy(glyph(edit.index), edit.undo, header.glyph.size);
 		}
tr> 2019-10-28Specify when command is allowed in Handlers listJune McEnroe 2019-10-28Disallow PRIVMSG/NOTICE before registrationJune McEnroe 2019-10-28Move entire login flow to state and reorganize itJune McEnroe 2019-10-27Wait for SASL success before sending CAP ENDJune McEnroe Also refuse to continue logging in if SASL authentication fails. I should really just move all of log in and authentication from server.c to state.c... 2019-10-27Only increment consumer after successful sendJune McEnroe 2019-10-27Set SO_REUSEADDR on bindsJune McEnroe 2019-10-27Output ring info on SIGINFOJune McEnroe 2019-10-27Improve client/server error messagesJune McEnroe 2019-10-27Add reload cmd to rc scriptJune McEnroe Using daemon(8) makes this way more awkward than it should be. 2019-10-27Reload certificate on SIGUSR1June McEnroe 2019-10-27Drop clients on zero-length readsJune McEnroe 2019-10-27Explicitly tls_handshake new clientsJune McEnroe This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately. 2019-10-26Document rationaleJune McEnroe 2019-10-26Handle nick collisionJune McEnroe 2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe 2019-10-26Respond to PING with same parameterJune McEnroe 2019-10-26Add undocumented flag to disable verificationJune McEnroe 2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe 2019-10-26Implement graceful shutdownJune McEnroe 2019-10-26Require PASS before USERJune McEnroe Prevent creating a ring consumer without authentication. 2019-10-26Track channel topicsJune McEnroe 2019-10-26Set AWAY when no clients are connectedJune McEnroe 2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe 2019-10-26OopsJune McEnroe 2019-10-26Disconnect client on unknown commandJune McEnroe During registration, no other commands should be sent. Afterwards, only intercepted commands will get parsed. 2019-10-26Allow reading sensitive information from filesJune McEnroe 2019-10-26Add rc scriptJune McEnroe 2019-10-25Add install and uninstall targetsJune McEnroe 2019-10-25Expand documentationJune McEnroe 2019-10-25Add AGPLv3 notice on client registrationJune McEnroe OwO 2019-10-25Rename project pounceJune McEnroe