#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <stdlib.h>
-char c = 'x';
+unsigned int crc32a(uint8_t *message, unsigned int size);
-void print_row(int length)
+unsigned int fib(unsigned int n)
{
- for (int x=0; x<length; x++) {
- printf("%c", c);
+ if (n == 0) {
+ return 0;
+ }
+
+ unsigned int a = 0;
+ unsigned int b = 1;
+
+ for (unsigned int i = 1; i < n; i++) {
+ unsigned int next = a + b;
+ a = b;
+ b = next;
+ }
+
+ return b;
+}
+
+void rot13(char *buf)
+{
+ while (*buf) {
+ if ((*buf >= 'a' && *buf <= 'm') ||
+ (*buf >= 'A' && *buf <= 'M')) {
+ *buf += 13;
+ } else if ((*buf >= 'n' && *buf <= 'z') ||
+ (*buf >= 'N' && *buf <= 'Z')) {
+ *buf -= 13;
+ }
+ buf++;
}
- printf("\n");
}
+size_t strlen(const char *buf)
+{
+ int len = 0;
+ while (buf[len])
+ len++;
+ return len;
+}
+
+extern void *__malloc_freelist;
+
int main()
{
- volatile int i = 42;
- const char *text = "constant\n";
- int threshold = 7;
+ __malloc_freelist = 0;
- // Wait for the debugger to get us out of this loop.
+ volatile int i = 0;
+ int j = 0;
+ char *fox = "The quick brown fox jumps of the lazy dog.";
+ unsigned int checksum = 0;
+
+start:
while (i)
- ;
+ j++;
- printf("%s", text);
- for (int y=0; y < 10; y++) {
- print_row(y);
- }
+ rot13(fox);
+ checksum ^= crc32a(fox, strlen(fox));
+ rot13(fox);
+ checksum ^= crc32a(fox, strlen(fox));
+
+ return checksum;
}