Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(int argc, char *argv[], char *environ[]) {
- int rv;
- size_t mem_used = 0, mem_rollback;
- g_memory.used = 0; g_memory.max = MB(10);
- unsigned int shmid_ = shmget(IPC_PRIVATE, g_memory.max, IPC_CREAT | 0777);
- g_memory.base = shmat(shmid_, 0, 0);
- g_memory.name = "main_memory";
- struct buffer print_buffer = buffer_child(&g_memory, KB(512), "print_main");
- {
- u64 start = print_buffer.used;
- buffer_copy_string(&print_buffer, "READY FOR LIFTOFF!\n");
- cvt_int_to_string(&print_buffer, 100);
- buffer_copy_string(&print_buffer, "\n");
- write(0, print_buffer.base + start, (print_buffer.used - start));
- }
- #if 1
- char *xauthority_path = "/home/ian/.Xauthority";
- #else
- char *xauthority_path = NULL;
- for (int i = 0; environ[i]; ++i) {
- if (strcmp("XAUTHORITY", environ[i])) {
- int len = strlen(environ[i] + 11);
- xauthority_path = (char *)g_memory.base + g_memory.used;
- for (int j = 0; j < len; ++j)
- xauthority_path[j] = environ[i][11 + j];
- xauthority_path[len] = '\0';
- g_memory.used = len + 1;
- my_assert(g_memory.used < g_memory.max);
- }
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement