Mesa (master): glsl/glcpp: Use stdio.h instead of unistd.h.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Fri Mar 4 13:14:59 UTC 2011


Module: Mesa
Branch: master
Commit: 12d17bcadf79d473b29c902c1ac949dcc65ff354
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12d17bcadf79d473b29c902c1ac949dcc65ff354

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Mar  4 12:53:14 2011 +0000

glsl/glcpp: Use stdio.h instead of unistd.h.

---

 src/glsl/glcpp/glcpp.c |   40 +++++++++++++++-------------------------
 1 files changed, 15 insertions(+), 25 deletions(-)

diff --git a/src/glsl/glcpp/glcpp.c b/src/glsl/glcpp/glcpp.c
index 564194c..3252891 100644
--- a/src/glsl/glcpp/glcpp.c
+++ b/src/glsl/glcpp/glcpp.c
@@ -21,10 +21,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
+#include <stdio.h>
 #include <string.h>
 #include <errno.h>
 #include "glcpp.h"
@@ -40,16 +37,16 @@ _mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr,
    *ptr = sh;
 }
 
-/* Read from fd until EOF and return a string of everything read.
+/* Read from fp until EOF and return a string of everything read.
  */
 static char *
-load_text_fd (void *ctx, int fd)
+load_text_fp (void *ctx, FILE *fp)
 {
 #define CHUNK 4096
 	char *text = NULL;
-	ssize_t text_size = 0;
-	ssize_t total_read = 0;
-	ssize_t bytes;
+	size_t text_size = 0;
+	size_t total_read = 0;
+	size_t bytes;
 
 	while (1) {
 		if (total_read + CHUNK + 1 > text_size) {
@@ -60,19 +57,12 @@ load_text_fd (void *ctx, int fd)
 				return NULL;
 			}
 		}
-		bytes = read (fd, text + total_read, CHUNK);
-		if (bytes < 0) {
-			fprintf (stderr, "Error while reading: %s\n",
-				 strerror (errno));
-			ralloc_free (text);
-			return NULL;
-		}
+		bytes = fread (text + total_read, 1, CHUNK, fp);
+		total_read += bytes;
 
-		if (bytes == 0) {
+		if (bytes < CHUNK) {
 			break;
 		}
-
-		total_read += bytes;
 	}
 
 	text[total_read] = '\0';
@@ -84,21 +74,21 @@ static char *
 load_text_file(void *ctx, const char *filename)
 {
 	char *text;
-	int fd;
+	FILE *fp;
 
 	if (filename == NULL || strcmp (filename, "-") == 0)
-		return load_text_fd (ctx, STDIN_FILENO);
+		return load_text_fp (ctx, stdin);
 
-	fd = open (filename, O_RDONLY);
-	if (fd < 0) {
+	fp = fopen (filename, "r");
+	if (fp == NULL) {
 		fprintf (stderr, "Failed to open file %s: %s\n",
 			 filename, strerror (errno));
 		return NULL;
 	}
 
-	text = load_text_fd (ctx, fd);
+	text = load_text_fp (ctx, fp);
 
-	close(fd);
+	fclose(fp);
 
 	return text;
 }




More information about the mesa-commit mailing list