This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

TFTP client: const parameters where appropriate


The attached patch makes the tftp_client_put and tftp_client_get
parameters const where appropriate.

David Vrabel
-- 
David Vrabel, Design Engineer

Arcom, Clifton Road           Tel: +44 (0)1223 411200 ext. 3233
Cambridge CB1 7EA, UK         Web: http://www.arcom.com/
%status
pending
%patch
Index: ecos-working/packages/net/common/current/ChangeLog
===================================================================
--- ecos-working.orig/packages/net/common/current/ChangeLog	2005-09-05 13:52:15.000000000 +0100
+++ ecos-working/packages/net/common/current/ChangeLog	2005-09-05 13:52:26.000000000 +0100
@@ -1,3 +1,10 @@
+2005-09-05  David Vrabel  <dvrabel@arcom.com>
+
+	* src/tftp_client.c, include/tftp_support.h
+	(tftp_client_get, tftp_client_put): const parameters where
+	appropriate.
+	* doc/tcpip.sgml: Update for the above.
+
 2005-03-27  Andrew Lunn  <andrew.lunn@ascom.ch>
 
 	* src/tftp_server.c (tftpd_server): Fixed compiler warning about
Index: ecos-working/packages/net/common/current/include/tftp_support.h
===================================================================
--- ecos-working.orig/packages/net/common/current/include/tftp_support.h	2005-09-05 13:52:15.000000000 +0100
+++ ecos-working/packages/net/common/current/include/tftp_support.h	2005-09-05 13:52:26.000000000 +0100
@@ -77,8 +77,8 @@
  */
 
 /* IPv4 and IPv6 */
-__externC int tftp_client_get(char *, char *, int, char *, int, int, int *);
-__externC int tftp_client_put(char *, char *, int, char *, int, int, int *);
+__externC int tftp_client_get(const char *, const char *, int, char *, int, int, int *);
+__externC int tftp_client_put(const char *, const char *, int, const char *, int, int, int *);
 
 /* IPv4 only */
 __externC int tftp_get(char *, struct sockaddr_in *, char *, int, int, int *);
Index: ecos-working/packages/net/common/current/src/tftp_client.c
===================================================================
--- ecos-working.orig/packages/net/common/current/src/tftp_client.c	2005-09-05 13:52:15.000000000 +0100
+++ ecos-working/packages/net/common/current/src/tftp_client.c	2005-09-05 13:52:26.000000000 +0100
@@ -66,8 +66,8 @@
 // On error, *err will hold the reason.
 // This version uses the server name. This can be a name for DNS lookup
 // or a dotty or colony number format for IPv4 or IPv6.
-int tftp_client_get(char *filename,
-		    char *server,
+int tftp_client_get(const char *filename,
+		    const char *server,
 		    int port,
 		    char *buf,
 		    int len,
@@ -86,7 +86,8 @@
     struct sockaddr local_addr, from_addr;
     char data[SEGSIZE+sizeof(struct tftphdr)];
     struct tftphdr *hdr = (struct tftphdr *)data;
-    char *cp, *fp;
+    const char *fp;
+    char *cp, *bp;
     struct timeval timeout;
     unsigned short last_good_block = 0;
     fd_set fds;
@@ -172,7 +173,7 @@
 	}
 
 	// Read data
-	fp = buf;
+	bp = buf;
 	while (true) {
 	  timeout.tv_sec = TFTP_TIMEOUT_PERIOD;
 	  timeout.tv_usec = 0;
@@ -230,7 +231,7 @@
 		result += actual_len;
 		while (data_len-- > 0) {
 		  if (len-- > 0) {
-		    *fp++ = *cp++;
+		    *bp++ = *cp++;
 		  } else {
 		    // Buffer overflow
 		    *err = TFTP_TOOLARGE;
@@ -349,10 +350,10 @@
 // On error, *err will hold the reason.
 // This version uses the server name. This can be a name for DNS lookup
 // or a dotty or colony number format for IPv4 or IPv6.
-int tftp_client_put(char *filename,
-		    char *server,
+int tftp_client_put(const char *filename,
+		    const char *server,
 		    int port,
-		    char *buf,
+		    const char *buf,
 		    int len,
 		    int mode,
 		    int *err) {
@@ -363,7 +364,8 @@
     struct sockaddr local_addr, from_addr;
     char data[SEGSIZE+sizeof(struct tftphdr)];
     struct tftphdr *hdr = (struct tftphdr *)data;
-    char *cp, *fp, *sfp;
+    const char *fp, *sfp;
+    char *cp;
     struct timeval timeout;
     unsigned short last_good_block = 0;
     fd_set fds;
Index: ecos-working/packages/net/common/current/doc/tcpip.sgml
===================================================================
--- ecos-working.orig/packages/net/common/current/doc/tcpip.sgml	2005-09-05 13:52:15.000000000 +0100
+++ ecos-working/packages/net/common/current/doc/tcpip.sgml	2005-09-05 13:52:26.000000000 +0100
@@ -425,18 +425,18 @@
 <PARA>
 The new API is as follows:
 </PARA>
-<PROGRAMLISTING>int tftp_client_get(char *filename,
-		    char *server,
+<PROGRAMLISTING>int tftp_client_get(const char *filename,
+		    const char *server,
 		    int port,
 		    char *buf,
 		    int len,
 		    int mode,
 		    int *err);
 
-int tftp_client_put(char *filename,
-		    char *server,
+int tftp_client_put(const char *filename,
+		    const char *server,
 		    int port,
-		    char *buf,
+		    const char *buf,
 		    int len,
 		    int mode,
 		    int *err);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]