Browse code

Use cli_writen

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@441 77e5149b-7576-45b1-b177-96237e5ba77b

Nigel Horne authored on 2004/03/26 20:11:41
Showing 2 changed files
... ...
@@ -1,3 +1,8 @@
1
+Fri Mar 26 11:21:34 GMT 2004 (njh)
2
+----------------------------------
3
+  * libclamav/mbox.c:	Use cli_writen()
4
+  * clamav-milter:	Added some debug information to clamd_send()
5
+
1 6
 Fri Mar 26 09:47:50 GMT 2004 (trog)
2 7
   * libclamav: Remove duplicate code. Fix memory leak.
3 8
 
... ...
@@ -17,6 +17,9 @@
17 17
  *
18 18
  * Change History:
19 19
  * $Log: mbox.c,v $
20
+ * Revision 1.59  2004/03/26 11:08:36  nigelhorne
21
+ * Use cli_writen
22
+ *
20 23
  * Revision 1.58  2004/03/25 22:40:46  nigelhorne
21 24
  * Removed even more calls to realloc and some duplicated code
22 25
  *
... ...
@@ -165,7 +168,7 @@
165 165
  * Compilable under SCO; removed duplicate code with message.c
166 166
  *
167 167
  */
168
-static	char	const	rcsid[] = "$Id: mbox.c,v 1.58 2004/03/25 22:40:46 nigelhorne Exp $";
168
+static	char	const	rcsid[] = "$Id: mbox.c,v 1.59 2004/03/26 11:08:36 nigelhorne Exp $";
169 169
 
170 170
 #if HAVE_CONFIG_H
171 171
 #include "clamav-config.h"
... ...
@@ -1763,11 +1766,10 @@ saveTextPart(message *m, const char *dir)
1763 1763
 static bool
1764 1764
 saveFile(const blob *b, const char *dir)
1765 1765
 {
1766
-	unsigned long nbytes = blobGetDataSize(b);
1766
+	const unsigned long nbytes = blobGetDataSize(b);
1767 1767
 	size_t suffixLen = 0;
1768 1768
 	int fd;
1769 1769
 	const char *cptr, *suffix;
1770
-	unsigned char *data;
1771 1770
 	char filename[NAME_MAX + 1];
1772 1771
 
1773 1772
 	assert(dir != NULL);
... ...
@@ -1842,16 +1844,10 @@ saveFile(const blob *b, const char *dir)
1842 1842
 	cli_dbgmsg("Saving attachment as %s (%lu bytes long)\n",
1843 1843
 		filename, nbytes);
1844 1844
 
1845
-	data = blobGetData(b);
1846
-	while(nbytes > 0) {
1847
-		int rc = write(fd, data, (size_t)nbytes);
1848
-		if(rc < 0) {
1849
-			perror(filename);
1850
-			close(fd);
1851
-			return FALSE;
1852
-		}
1853
-		nbytes -= rc;
1854
-		data = &data[rc];
1845
+	if(cli_writen(fd, blobGetData(b), (size_t)nbytes) != nbytes) {
1846
+		perror(filename);
1847
+		close(fd);
1848
+		return FALSE;
1855 1849
 	}
1856 1850
 
1857 1851
 	return (close(fd) >= 0);