From 3d0247677949505858b0b947fc3b216bb2a7bc80 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Fri, 13 May 2016 19:09:59 +0000
Subject: [PATCH] Added many fixes for reruning the simulations, starting from tapes, added Completed status, etc.

---
 src/snapshot.c |   50 ++++++++++++++++++++++----------------------------
 1 files changed, 22 insertions(+), 28 deletions(-)

diff --git a/src/snapshot.c b/src/snapshot.c
index 9dc23a9..370ce4c 100644
--- a/src/snapshot.c
+++ b/src/snapshot.c
@@ -1,3 +1,5 @@
+/* vim: set ts=4 sts=4 sw=4 noet : */
+/* vim: set ts=4 sts=4 sw=4 noet : */	
 #include<stdio.h>
 #include<general.h>
 #include<snapshot.h>
@@ -169,10 +171,7 @@
 static int mod_table[] = {0, 2, 1};
 
 
-char *base64_encode(const unsigned char *data,
-                    size_t input_length,
-                    size_t *output_length) {
-
+char *base64_encode(const unsigned char *data, size_t input_length, size_t *output_length) {
 	*output_length = 4 * ((input_length + 2) / 3);
 	int i,j;
 	char *encoded_data = malloc(*output_length);
@@ -180,29 +179,25 @@
 	
 	for (i = 0, j = 0; i < input_length;) {
 
-        	uint32_t octet_a = i < input_length ? (unsigned char)data[i++] : 0;
-	        uint32_t octet_b = i < input_length ? (unsigned char)data[i++] : 0;
-        	uint32_t octet_c = i < input_length ? (unsigned char)data[i++] : 0;
+       	uint32_t octet_a = i < input_length ? (unsigned char)data[i++] : 0;
+        uint32_t octet_b = i < input_length ? (unsigned char)data[i++] : 0;
+       	uint32_t octet_c = i < input_length ? (unsigned char)data[i++] : 0;
+        uint32_t triple = (octet_a << 0x10) + (octet_b << 0x08) + octet_c;
 
-	        uint32_t triple = (octet_a << 0x10) + (octet_b << 0x08) + octet_c;
-
-        	encoded_data[j++] = encoding_table[(triple >> 3 * 6) & 0x3F];
-        	encoded_data[j++] = encoding_table[(triple >> 2 * 6) & 0x3F];
-        	encoded_data[j++] = encoding_table[(triple >> 1 * 6) & 0x3F];
-        	encoded_data[j++] = encoding_table[(triple >> 0 * 6) & 0x3F];
+       	encoded_data[j++] = encoding_table[(triple >> 3 * 6) & 0x3F];
+       	encoded_data[j++] = encoding_table[(triple >> 2 * 6) & 0x3F];
+       	encoded_data[j++] = encoding_table[(triple >> 1 * 6) & 0x3F];
+       	encoded_data[j++] = encoding_table[(triple >> 0 * 6) & 0x3F];
 	}
 
 	for (i = 0; i < mod_table[input_length % 3]; i++)
-        	encoded_data[*output_length - 1 - i] = '=';
+       	encoded_data[*output_length - 1 - i] = '=';
 
 	return encoded_data;
 }
 
 
-unsigned char *base64_decode(const char *data,
-                             size_t input_length,
-                             size_t *output_length) {
-
+unsigned char *base64_decode(const char *data, size_t input_length, size_t *output_length) {
 	int i,j;
 	if (decoding_table == NULL) build_decoding_table();
 
@@ -216,20 +211,19 @@
 	if (decoded_data == NULL) return NULL;
 
 	for (i = 0, j = 0; i < input_length;) {
+       	uint32_t sextet_a = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
+       	uint32_t sextet_b = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
+   		uint32_t sextet_c = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
+       	uint32_t sextet_d = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
 
-        	uint32_t sextet_a = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
-        	uint32_t sextet_b = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
-       		uint32_t sextet_c = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
-        	uint32_t sextet_d = data[i] == '=' ? 0 & i++ : decoding_table[(int)data[i++]];
-
-        	uint32_t triple = (sextet_a << 3 * 6)
+       	uint32_t triple = (sextet_a << 3 * 6)
         	+ (sextet_b << 2 * 6)
         	+ (sextet_c << 1 * 6)
         	+ (sextet_d << 0 * 6);
 
-        	if (j < *output_length) decoded_data[j++] = (triple >> 2 * 8) & 0xFF;
-        	if (j < *output_length) decoded_data[j++] = (triple >> 1 * 8) & 0xFF;
-        	if (j < *output_length) decoded_data[j++] = (triple >> 0 * 8) & 0xFF;
+       	if (j < *output_length) decoded_data[j++] = (triple >> 2 * 8) & 0xFF;
+       	if (j < *output_length) decoded_data[j++] = (triple >> 1 * 8) & 0xFF;
+       	if (j < *output_length) decoded_data[j++] = (triple >> 0 * 8) & 0xFF;
     }
 	if(decoding_table !=NULL) free(decoding_table);
     return decoded_data;
@@ -241,7 +235,7 @@
     decoding_table = malloc(256);
 	int i;
     for (i = 0; i < 64; i++)
-        decoding_table[(unsigned char) encoding_table[i]] = i;
+		decoding_table[(unsigned char) encoding_table[i]] = i;
 }
 
 

--
Gitblit v1.9.3