Lines Matching refs:gs
81 struct gstr gs; in str_new() local
82 gs.s = malloc(sizeof(char) * 64); in str_new()
83 gs.len = 64; in str_new()
84 gs.max_width = 0; in str_new()
85 strcpy(gs.s, "\0"); in str_new()
86 return gs; in str_new()
92 struct gstr gs; in str_assign() local
93 gs.s = strdup(s); in str_assign()
94 gs.len = strlen(s) + 1; in str_assign()
95 gs.max_width = 0; in str_assign()
96 return gs; in str_assign()
100 void str_free(struct gstr *gs) in str_free() argument
102 if (gs->s) in str_free()
103 free(gs->s); in str_free()
104 gs->s = NULL; in str_free()
105 gs->len = 0; in str_free()
109 void str_append(struct gstr *gs, const char *s) in str_append() argument
113 l = strlen(gs->s) + strlen(s) + 1; in str_append()
114 if (l > gs->len) { in str_append()
115 gs->s = realloc(gs->s, l); in str_append()
116 gs->len = l; in str_append()
118 strcat(gs->s, s); in str_append()
123 void str_printf(struct gstr *gs, const char *fmt, ...) in str_printf() argument
129 str_append(gs, s); in str_printf()
134 const char *str_get(struct gstr *gs) in str_get() argument
136 return gs->s; in str_get()