Fix glibc/eglibc getline() conflicting functions.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---

diff -Nura thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c
--- thttpd-2.25b.orig/extras/htpasswd.c	2001-12-18 21:08:08.000000000 -0300
+++ thttpd-2.25b/extras/htpasswd.c	2011-11-25 11:42:47.198582812 -0300
@@ -49,7 +49,7 @@
     while((line[y++] = line[x++]));
 }
 
-static int getline(char *s, int n, FILE *f) {
+static int get_line(char *s, int n, FILE *f) {
     register int i=0;
 
     while(1) {
@@ -189,7 +189,7 @@
     strcpy(user,argv[2]);
 
     found = 0;
-    while(!(getline(line,MAX_STRING_LEN,f))) {
+    while(!(get_line(line,MAX_STRING_LEN,f))) {
         if(found || (line[0] == '#') || (!line[0])) {
             putline(tfp,line);
             continue;
