Lines Matching refs:gs
83 struct gstr gs; in str_new() local
84 gs.s = malloc(sizeof(char) * 64); in str_new()
85 gs.len = 64; in str_new()
86 gs.max_width = 0; in str_new()
87 strcpy(gs.s, "\0"); in str_new()
88 return gs; in str_new()
94 struct gstr gs; in str_assign() local
95 gs.s = strdup(s); in str_assign()
96 gs.len = strlen(s) + 1; in str_assign()
97 gs.max_width = 0; in str_assign()
98 return gs; in str_assign()
102 void str_free(struct gstr *gs) in str_free() argument
104 if (gs->s) in str_free()
105 free(gs->s); in str_free()
106 gs->s = NULL; in str_free()
107 gs->len = 0; in str_free()
111 void str_append(struct gstr *gs, const char *s) in str_append() argument
115 l = strlen(gs->s) + strlen(s) + 1; in str_append()
116 if (l > gs->len) { in str_append()
117 gs->s = realloc(gs->s, l); in str_append()
118 gs->len = l; in str_append()
120 strcat(gs->s, s); in str_append()
125 void str_printf(struct gstr *gs, const char *fmt, ...) in str_printf() argument
131 str_append(gs, s); in str_printf()
136 const char *str_get(struct gstr *gs) in str_get() argument
138 return gs->s; in str_get()