pinosaur
/
taskasaur.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f4c2725
)
read into char pointer array instead
author
Daniel Liu
<mr.picklepinosaur@gmail.com>
Sun, 13 Dec 2020 06:14:10 +0000
(
01:14
-0500)
committer
Daniel Liu
<mr.picklepinosaur@gmail.com>
Sun, 13 Dec 2020 06:14:10 +0000
(
01:14
-0500)
main.c
patch
|
blob
|
history
diff --git
a/main.c
b/main.c
index
3b219ec
..
077bf9f
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-8,7
+8,7
@@
void winch_handler(int sig);
void winch_handler(int sig);
-char* read_todo(FILE* file);
+char*
*
read_todo(FILE* file);
WINDOW* create_list_win(int height, int width, int y, int x);
WINDOW* create_list_win(int height, int width, int y, int x);
@@
-38,10
+38,8
@@
main(int argc, char** argv)
return 1;
}
return 1;
}
- char* lineptr = read_todo(board_file);
- printf("lineptr: %p\n", lineptr);
- printf("first: %c\n", *lineptr);
- free(lineptr);
+ char** todos = read_todo(board_file);
+ printf(todos[0]);
fclose(board_file);
break;
fclose(board_file);
break;
@@
-120,21
+118,31
@@
winch_handler(int sig)
}
}
-char*
+char*
*
read_todo(FILE* file)
{ // apparently getline isn't rly that portable, so consider other options
read_todo(FILE* file)
{ // apparently getline isn't rly that portable, so consider other options
+ char** out_arr;
+ int out_len;
char* lineptr;
size_t len;
ssize_t nread;
char* lineptr;
size_t len;
ssize_t nread;
+ out_arr = NULL;
+ out_len = 0;
lineptr = NULL;
len = 0;
while ((nread = getline(&lineptr, &len, file)) != -1) {
lineptr = NULL;
len = 0;
while ((nread = getline(&lineptr, &len, file)) != -1) {
- printf("Read line of size %zd\n", nread);
+ out_len++;
+ out_arr = realloc(out_arr, (sizeof(char*))*out_len); // bad to keep resizing?
+ printf("Pointer set to: %p\n", lineptr);
+ out_arr[out_len-1] = lineptr;
+
+ lineptr = NULL;
+ len = 0;
}
}
- return
linept
r;
+ return
out_ar
r;
}
WINDOW*
}
WINDOW*