aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rw-r--r--badroff.c1
-rw-r--r--sb.c67
-rw-r--r--sb.h10
4 files changed, 2 insertions, 81 deletions
diff --git a/Makefile b/Makefile
index 466814b..3698477 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,9 @@
.POSIX:
.PHONY: all clean
-OBJS = badroff.o sb.o buf.o
+OBJS = badroff.o buf.o
badroff: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
-badroff.o: badroff.c sb.h
-sb.o: sb.c sb.h
+badroff.o: badroff.c buf.h
buf.o: buf.c buf.h
clean:
rm -f badroff $(OBJS)
diff --git a/badroff.c b/badroff.c
index 323cba2..8a7f825 100644
--- a/badroff.c
+++ b/badroff.c
@@ -1,5 +1,4 @@
#include <stdio.h>
-#include "sb.h"
#include "buf.h"
#include <string.h>
#include <stdlib.h>
diff --git a/sb.c b/sb.c
deleted file mode 100644
index 0353545..0000000
--- a/sb.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include "sb.h"
-
-struct node{ // linked list, but strings don't have to be max size
- size_t cap;
- size_t len;
- char* text;
- node* next;
-};
-
-// malloc might fail, but the entire program should just crash if it does
-node* newsb(size_t cap){
- node* sb;
- sb = malloc(sizeof(node));
- sb->text = malloc(sizeof(char)*cap);
- sb->len = 0; sb->cap = cap;
- sb->next = NULL;
- return sb;
-}
-
-node* extendsb(node* tail){
- tail->next = newsb(tail->cap*2);
- return tail->next;
-}
-
-node* appendsb(node* tail, const char* str){
- for (int i=0; str[i] != '\0'; i++){
- if (tail->len == tail->cap) tail = extendsb(tail); // if full, extend
- *(tail->text + tail->len) = str[i]; // copy str[i] to last open spot
- tail->len++;
- }
- return tail;
-}
-///////// i want to prevent this duplication but cant figure out how :(
-
-node* addchrsb(node* tail, char chr){
- if (tail->len == tail->cap) tail = extendsb(tail); // if full, extend
- *(tail->text + tail->len) = chr; // copy str[i] to last open spot
- tail->len++;
- return tail;
-}
-
-char* tostr(node* head){ // destructive; frees the whole chain
- int len;
- char* str;
- len = lensb(head);
- str = malloc((len+1)*sizeof(char)); // need +1 for null terminator
- str[len] = '\0';
-
- len = 0; //controls progression through str
- do {
- strncpy(str+len, head->text, head->len);
- len += head->len;
- head = head->next;
- free(head);
- } while ( head != NULL);
- return str;
-}
-
-int lensb(node* head){ // how much space do i need to concat all strings
- int len = 0;
- do {
- len += head->len;
- } while ( (head = head->next) != NULL);
- return len;
-}
diff --git a/sb.h b/sb.h
deleted file mode 100644
index 522f25d..0000000
--- a/sb.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _SB_INCLUDE
-#define _SB_INCLUDE
-
-typedef struct node node;
-node* newsb(size_t cap);
-node* appendsb(node* tail, const char* str);
-char* tostr(node* head);
-int lensb(node* head);
-
-#endif