summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/code2/stdlib/String/String.c
diff options
context:
space:
mode:
Diffstat (limited to 'comp/lucas-standen-NEA/code2/stdlib/String/String.c')
-rw-r--r--comp/lucas-standen-NEA/code2/stdlib/String/String.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/comp/lucas-standen-NEA/code2/stdlib/String/String.c b/comp/lucas-standen-NEA/code2/stdlib/String/String.c
index 2814a1c..6f11119 100644
--- a/comp/lucas-standen-NEA/code2/stdlib/String/String.c
+++ b/comp/lucas-standen-NEA/code2/stdlib/String/String.c
@@ -11,6 +11,16 @@ void __stringfree(string *self){
free(self);
}
+void __stringprint(string *self){
+ printf("%s\n", self->_str);
+}
+
+void __stringinput(string *self, size_t len){
+ char *tmp = calloc(0, len);
+ fgets(tmp, len, stdin);
+ self->fromcstring(self, tmp);
+}
+
void __stringappendchar(string *self, char c){
self->_len++;
self->_str = realloc(self->_str, self->_len);
@@ -132,6 +142,8 @@ string *String(char *cstring){ // returns an allocated String from a C string in
str->fromcstring = &__stringfromcstring;
str->tocstring = &__stringtocstring;
str->split = &__stringsplit;
+ str->print = &__stringprint;
+ str->input = &__stringinput;
return str;
}