aboutsummaryrefslogtreecommitdiff
path: root/06/part2.c
diff options
context:
space:
mode:
Diffstat (limited to '06/part2.c')
-rw-r--r--06/part2.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/06/part2.c b/06/part2.c
index 38c8ecc..f707d96 100644
--- a/06/part2.c
+++ b/06/part2.c
@@ -44,6 +44,7 @@ char scan_column(StringVector *mat, int x, int *n) {
out = out * 10 + c - '0';
have_digit = 1;
} else {
+ puts(mat->buffer[y]);
PANIC;
}
}
@@ -65,15 +66,9 @@ int main() {
for (int i = 0; i < lines.size; i++) {
long len = strlen(lines.buffer[i]);
if (len < maxlen) {
- char *spaces = malloc(maxlen - len + 1);
- memset(spaces, '0', maxlen - len);
- spaces[maxlen - len] = '\0';
- char *ns = malloc(maxlen + 1);
- strcat(ns, lines.buffer[i]);
- strcat(ns + len, spaces);
- free(spaces);
- free((void*)lines.buffer[i]);
- lines.buffer[i] = ns;
+ lines.buffer[i] = realloc((void*)lines.buffer[i], maxlen + 1);
+ memset((void*)lines.buffer[i]+len, ' ', maxlen-len);
+ ((char*)lines.buffer[i])[maxlen] = '\0';
}
}
long ret = 0;