From 56e46ac1c16ad46fd3d49b87e56b2e71aca33d1c Mon Sep 17 00:00:00 2001
From: miinjung <laura126@ajou.ac.kr>
Date: Fri, 15 Jun 2018 21:46:18 +0900
Subject: [PATCH] finish

---
 alloc.c   | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 alloc.h   |  16 +++++-
 input.txt |   7 +++
 main      | Bin 0 -> 17824 bytes
 main.c    |  46 +++++++++++++++-
 5 files changed, 222 insertions(+), 3 deletions(-)
 create mode 100644 input.txt
 create mode 100755 main

diff --git a/alloc.c b/alloc.c
index 931b9fd..3c60061 100644
--- a/alloc.c
+++ b/alloc.c
@@ -1 +1,157 @@
 #include "alloc.h"
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+
+void *m_malloc(uint32_t size){
+  meta* temp;
+  if(size%4 != 0)
+    size += (4-size%4);
+
+  if(head == NULL){
+    temp = sbrk(size);
+    temp -> next_memory = NULL;
+    temp -> prev_memory = NULL;
+    temp -> size = size;
+    temp -> free = 0;
+    strcpy(temp -> comment,tmp_comment);
+    temp -> fit= fit;
+
+    head = temp;
+    first = temp;
+  }
+  else{
+    meta* prev = NULL;
+    meta* next = NULL;
+    meta* tmp_head = head;
+      while(1){
+	if(tmp_head->next_memory == NULL){
+	  if(prev == NULL){
+	    prev = tmp_head;
+	  }
+	  break;
+	}
+	else if(tmp_head -> next_memory -> free == 1 && tmp_head -> next_memory -> size > size){
+          if( prev == NULL){
+	    prev = tmp_head;
+	    if(fit == "F")
+	      break;
+	  }
+	  else{
+	    if(fit == "B")
+	      prev = (prev -> size < tmp_head -> next_memory -> size) ? prev : tmp_head;
+	    else if(fit == "W")
+	      prev = (prev -> size > tmp_head -> next_memory -> size) ? prev : tmp_head;
+	  }
+	}
+	tmp_head = tmp_head-> next_memory;
+      }
+    tmp_head = prev -> next_memory;
+    next = tmp_head -> next_memory;
+    if(tmp_head -> size == size){
+      prev -> next_memory -> free = 0;
+    }
+    else{
+      temp -> prev_memory = prev;
+      temp -> next_memory = tmp_head;
+      temp -> size = size;
+      temp -> free = 0;
+      strcpy(temp -> comment,tmp_comment);
+      temp -> fit = fit;
+
+      tmp_head -> size -= size; 
+      tmp_head -> prev_memory = temp;
+
+      prev -> next_memory = temp;
+    }
+  }
+}
+
+void m_realoc(void* p,uint32_t size){
+  if(size%4 != 0)
+    size += (4-size%4);
+
+  int index = *(int *)p;
+  int count = 0;
+  meta* temp = head;
+
+  while(1){
+    if(count == index)
+      break;
+    
+    temp = temp -> next_memory;
+    if(temp -> free == 0)
+      count++;
+  }
+  if(temp -> next_memory == NULL){
+    temp -> size = size;
+  }
+  else if(size < (temp -> next_memory -> size) + temp -> size){
+	temp -> next_memory -> size -= (size - temp->size);
+	temp -> size = size;
+  }
+  else if(size = (temp -> next_memory -> size) + temp -> size){
+  	temp -> size = size;
+	temp -> next_memory = temp -> next_memory -> next_memory;
+  }
+  else
+    m_malloc(size);
+}
+
+void m_free(void *ptr){
+  int index = *(int *)ptr;
+  int count = 0;
+  meta* temp = head;
+  int size = head -> size;
+  int break_point = 0;
+   
+  while(1){
+    if(count == index)
+      break;
+		 
+  temp = temp -> next_memory;
+  if(temp -> free == 0)
+       count++;
+  }
+  while(1){
+    if(temp -> next_memory == NULL){
+      if(temp -> next_memory -> free == 1){
+        size += temp -> next_memory -> size;
+        temp -> next_memory = temp -> next_memory -> next_memory;
+      }
+      else
+        break;
+    }
+    else
+      break;
+  }
+  while(1){
+    if(temp -> prev_memory == NULL){
+      if(temp -> prev_memory -> free == 1){
+        size += temp -> prev_memory -> size;
+        temp -> prev_memory = temp -> prev_memory -> prev_memory;
+      }
+    else
+      break;
+    }
+    else
+      break;
+  }
+  temp -> free = 1;
+  strcpy(temp -> comment," ");
+  if( index == 0)
+    head == temp -> next_memory;
+}
+
+
+void read(){
+  meta* temp = first;
+  
+  while(1){
+    if(temp -> next_memory == NULL)
+      break;
+
+    printf("%d %d %s\n", temp -> free, temp -> size, temp -> comment);
+  }
+}
diff --git a/alloc.h b/alloc.h
index 3245f55..60f9bd5 100644
--- a/alloc.h
+++ b/alloc.h
@@ -1,8 +1,22 @@
 #ifndef _ALLOC_H_
 #define _ALLOC_H_
 
-typedef struct meta_struct {
+#include <stdint.h>
 
+typedef struct meta_struct {
+  struct meta_struct* prev_memory;
+  struct meta_struct* next_memory;
+  uint32_t free;
+  uint32_t size;
+  char *comment;
+  char fit; 
 } meta;
 
+char fit;
+char *tmp_comment;
+
+meta* head;
+meta* first;
+
+
 #endif
diff --git a/input.txt b/input.txt
new file mode 100644
index 0000000..92308ca
--- /dev/null
+++ b/input.txt
@@ -0,0 +1,7 @@
+3 f
+S THink like a man of action and act like man of thought.
+s Courage is very important. LIke a muscle, it is strngthened by use.
+s Life is the art if drqwing sufficient conclusions from insufficientpremises.
+2 F
+f 0
+r 1
diff --git a/main b/main
new file mode 100755
index 0000000000000000000000000000000000000000..90eb02129370e40d37a4f7e2bd1d6f380ec0e167
GIT binary patch
literal 17824
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

literal 0
HcmV?d00001

diff --git a/main.c b/main.c
index b5fba06..f526ffe 100644
--- a/main.c
+++ b/main.c
@@ -1,6 +1,48 @@
 #include "alloc.h"
 
-int main()
-{
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char *argv[]){
+  uint32_t size_index,size_data;
+  char type_fit, type_data;
+  char temp[256];
+  int num, index;
+  FILE *fp = fopen("input.txt","rb");
+
+  if(fp == NULL){
+    perror("Can't open the file");
+    exit(1);
+  }
+  else{
+  while(1){
+  if(EOF == fscanf(fp,"%d %c",size_index,type_fit))
+    break;
+  
+  for(int i = 0; i < size_index; i++){
+    fscanf(fp,"%c",type_data);
+    if(type_data == "f"){
+      fscanf(fp,"%d",index);
+      m_free(index);
+    }
+    else if(type_data == "r"){
+       fscanf(fp,"%d %d",index,size_data);
+       m_realoc(index,size_data);
+    }
+    else if(type_data == "s"){
+      fscanf(fp,"%s",temp);
+      if(temp != NULL){
+        strcpy(tmp_comment,temp);
+        size_data = strlen(tmp_comment);
+      }
+      m_malloc(size_data);
+    }
+  }
+  read();
+  }
+  }
+  fclose(fp);
+
   return 0;
 }
-- 
GitLab