Forráskód Böngészése

"Fix" this so that at least things will link when threading is disabled.
Also fix the sizeof() issue since the change to a dynamicly allocated buf.
Note! This is still broken wrt threading, but so is the glibc version.
I'm just commiting this for new until I can test my rewrite.

Manuel Novoa III 20 éve
szülő
commit
b3ae173353
1 módosított fájl, 8 hozzáadás és 4 törlés
  1. 8 4
      libc/misc/ttyent/getttyent.c

+ 8 - 4
libc/misc/ttyent/getttyent.c

@@ -34,6 +34,10 @@
 #include <stdio_ext.h>
 #include <ctype.h>
 #include <string.h>
+#include <stdlib.h>
+#ifdef __UCLIBC_HAS_THREADS__
+#include <pthread.h>
+#endif
 
 static char zapchar;
 static FILE *tf;
@@ -110,11 +114,11 @@ struct ttyent * getttyent(void)
 		    abort();
     }
 
-    flockfile (tf);
+	__STDIO_ALWAYS_THREADLOCK(tf);
 
     for (;;) {
-	if (!fgets_unlocked(p = line, sizeof(line), tf)) {
-	    funlockfile (tf);
+	if (!fgets_unlocked(p = line, BUFSIZ, tf)) {
+		__STDIO_ALWAYS_THREADUNLOCK(tf);
 	    return (NULL);
 	}
 	/* skip lines that are too big */
@@ -159,7 +163,7 @@ struct ttyent * getttyent(void)
 	    break;
     }
     /* We can release the lock only here since `zapchar' is global.  */
-    funlockfile(tf);
+	__STDIO_ALWAYS_THREADUNLOCK(tf);
 
     if (zapchar == '#' || *p == '#')
 	while ((c = *++p) == ' ' || c == '\t')