Quote Originally Posted by bithub View Post
Well, one problem is that the ll_new() function is overloaded. While this is perfectly valid C++, it is illegal in C.
I named the one that takes a FILE ll_file().

Quote Originally Posted by bithub View Post
Also, the ll_new() function is returning a reference to a local variable, so that will crash when the application is run.
I made it to create a pointer and return it, instead of creating a LINKED_LINE and returning its address.

But it still produces errors!

Code:
$ gcc editor2.c linked-line.c -lncurses
editor2.c:4: error: expected declaration specifiers or ‘...’ before ‘LINKED_LINE’
editor2.c: In function ‘wprint_ll’:
editor2.c:6: error: ‘LINKED_LINE’ undeclared (first use in this function)
editor2.c:6: error: (Each undeclared identifier is reported only once
editor2.c:6: error: for each function it appears in.)
editor2.c:6: error: ‘temp’ undeclared (first use in this function)
editor2.c:6: error: ‘ll’ undeclared (first use in this function)
editor2.c:9: warning: passing argument 1 of ‘wprintw’ from incompatible pointer type
/usr/include/ncurses.h:771: note: expected ‘struct WINDOW *’ but argument is of type ‘char *’
editor2.c: In function ‘main’:
editor2.c:40: error: ‘LINKED_LINE’ undeclared (first use in this function)
editor2.c:40: error: ‘line’ undeclared (first use in this function)
editor2.c:51: error: ‘ll’ undeclared (first use in this function)
editor2.c:55: error: invalid type argument of ‘->’ (have ‘long unsigned int’)
editor2.c:63: error: ‘text’ undeclared (first use in this function)
In file included from linked-line.c:1:
linked-line.h:10: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
linked-line.c: In function ‘ll_new’:
linked-line.c:6: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:7: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:8: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c:9: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:10: error: ‘LINKED_LINE’ has no member named ‘alloc’
linked-line.c:11: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c: In function ‘ll_file’:
linked-line.c:21: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:22: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:24: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:25: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:28: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c:29: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c: In function ‘ll_realloc’:
linked-line.c:38: error: ‘LINKED_LINE’ has no member named ‘alloc’
linked-line.c:39: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:39: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:40: error: ‘LINKED_LINE’ has no member named ‘alloc’
linked-line.c: In function ‘ll_squash’:
linked-line.c:46: error: ‘LINKED_LINE’ has no member named ‘alloc’
linked-line.c:46: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:47: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:47: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:47: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c: In function ‘ll_get_line_num’:
linked-line.c:55: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c:56: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c: In function ‘ll_get_line_count’:
linked-line.c:66: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c:67: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c:71: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:72: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c: In function ‘ll_ins_char’:
linked-line.c:80: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:81: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:81: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:81: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:82: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:83: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c: In function ‘ll_ins_line’:
linked-line.c:88: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:89: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:90: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:92: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:93: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:94: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:95: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:96: error: ‘LINKED_LINE’ has no member named ‘prev’
linked-line.c:96: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c: In function ‘ll_ins_str’:
linked-line.c:103: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:104: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:104: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:104: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:105: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:106: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c: In function ‘ll_merge_lines’:
linked-line.c:111: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:111: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:112: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:112: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:113: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:114: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c: In function ‘ll_split_line’:
linked-line.c:120: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:121: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:122: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:122: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:122: error: ‘LINKED_LINE’ has no member named ‘len’
linked-line.c:123: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:124: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:124: error: ‘LINKED_LINE’ has no member named ‘next’
linked-line.c:125: error: ‘LINKED_LINE’ has no member named ‘text’
linked-line.c:126: error: ‘LINKED_LINE’ has no member named ‘len’