This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
TFTP client: const parameters where appropriate
- From: David Vrabel <dvrabel at arcom dot com>
- To: eCos Patches <ecos-patches at ecos dot sourceware dot org>
- Date: Mon, 05 Sep 2005 14:22:13 +0100
- Subject: 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);