comparison util.c @ 30:2e0fb4130bfb

new stuff, fixed several issues
author Anselm R. Garbe <garbeam@wmii.de>
date Wed, 12 Jul 2006 17:50:31 +0200
parents 359b6e563b95
children 082c75b937b5
comparison
equal deleted inserted replaced
29:8ad86d0a6a53 30:2e0fb4130bfb
124 execvp(argv[0], argv); 124 execvp(argv[0], argv);
125 fprintf(stderr, "gridwm: execvp %s", argv[0]); 125 fprintf(stderr, "gridwm: execvp %s", argv[0]);
126 perror(" failed"); 126 perror(" failed");
127 } 127 }
128 else { 128 else {
129 n = 0; 129 l = n = 0;
130 close(pfd[1]); 130 close(pfd[1]);
131 while(l > n) { 131 while(n < len) {
132 if((l = read(pfd[0], buf + n, len - n)) < 1) 132 if((l = read(pfd[0], buf + n, len - n)) < 1)
133 break; 133 break;
134 n += l; 134 n += l;
135 } 135 }
136 while(l > n);
136 close(pfd[0]); 137 close(pfd[0]);
137 buf[n < len ? n : len - 1] = 0; 138 buf[n < len ? n : len - 1] = 0;
138 } 139 }
139 wait(0); 140 wait(0);
140 } 141 }