Struan Clark пре 2 година
родитељ
комит
804e0f112d
3 измењених фајлова са 43 додато и 2 уклоњено
  1. 39 1
      helpers/flipbip_string.c
  2. 2 0
      helpers/flipbip_string.h
  3. 2 1
      views/flipbip_scene_1.c

+ 39 - 1
helpers/flipbip_string.c

@@ -27,7 +27,8 @@
  * SUCH DAMAGE.
  */
 #include "flipbip_string.h"
-#include <string.h>
+// #include <string.h>
+#include <ctype.h>
 char *
 flipbip_strtok(char *s, const char *delim)
 {
@@ -75,4 +76,41 @@ cont:
 		} while (sc != 0);
 	}
 	/* NOTREACHED */
+}
+void
+flipbip_strrev(unsigned char *str)
+{
+	int i;
+	int j;
+	unsigned char a;
+	unsigned len = strlen((const char *)str);
+	for (i = 0, j = len - 1; i < j; i++, j--)
+	{
+		a = str[i];
+		str[i] = str[j];
+		str[j] = a;
+	}
+}
+int
+flipbip_itoa(int num, unsigned char* str, int len, int base)
+{
+	int sum = num;
+	int i = 0;
+	int digit;
+	if (len == 0)
+		return -1;
+	do
+	{
+		digit = sum % base;
+		if (digit < 0xA)
+			str[i++] = '0' + digit;
+		else
+			str[i++] = 'A' + digit - 0xA;
+		sum /= base;
+	}while (sum && (i < (len - 1)));
+	if (i == (len - 1) && sum)
+		return -1;
+	str[i] = '\0';
+	flipbip_strrev(str);
+	return 0;
 }

+ 2 - 0
helpers/flipbip_string.h

@@ -1,2 +1,4 @@
 char * flipbip_strtok(char *s, const char *delim);
 char * flipbip_strtok_r(char *s, const char *delim, char **last);
+void flipbip_strrev(unsigned char *str);
+int flipbip_itoa(int num, unsigned char* str, int len, int base);

+ 2 - 1
views/flipbip_scene_1.c

@@ -132,7 +132,8 @@ static void flipbip_scene_1_model_init(FlipBipScene1Model* const model, const in
     
     // Convert the seed to a hex string
     for (size_t i = 0; i < 64; i++) {
-        sprintf(seed + (i * 2), "%.2x", seedbytes[i]);
+        flipbip_itoa(seedbytes[i], seed + (i * 2), 2, 16);
+        //sprintf(seed + (i * 2), "%.2x", seedbytes[i]);
     }
     
     // Split the seed into parts