Subversion Repositories SvarDOS

Compare Revisions

Ignore whitespace Rev 1131 → Rev 1132

/pkgnet/trunk/pkgnet.c
246,7 → 246,7
* is ispost is non-zero, then the request is a POST and its body data is
* obtained through repeated calls to checkupdata()
* returns the length of data obtained, or neg value on error */
static long htget(const char *ipaddr, const char *url, const char *outfname, unsigned short *bsum, int ispost, unsigned char *buffer, size_t buffersz) {
static long htget(const char *ipaddr, const char *url, const char *outfname, unsigned short *bsum, int ispost, unsigned char *buffer, size_t buffersz, unsigned short tcpbuflen) {
struct net_tcpsocket *sock;
time_t lastactivity, lastprogressoutput = 0;
int httpcode = -1, ischunked = 0;
260,7 → 260,7
buffersz -= sizeof(*unchstate);
memset(unchstate, 0, sizeof(*unchstate));
 
sock = net_connect(ipaddr, 80);
sock = net_connect(ipaddr, 80, tcpbuflen);
if (sock == NULL) {
printf(svarlang_strid(0x0902), HOSTADDR); /* "ERROR: failed to connect to " HOSTADDR */
puts("");
413,14 → 413,14
int main(int argc, char **argv) {
unsigned short bsum = 0;
long flen;
size_t membufsz = 5000;
unsigned short tcpbufsz = (16 * 1024);
int ispost; /* is the request a POST? */
 
struct {
unsigned char buffer[5000];
char ipaddr[64];
char url[64];
char outfname[16];
unsigned char buffer[1];
} *mem;
 
svarlang_autoload("PKGNET");
430,15 → 430,15
const char *ptr = getenv("PKGNETBUFSZ");
if (ptr != NULL) {
long newsz = atol(ptr);
if ((newsz > 0) && (newsz < 65500)) {
membufsz = newsz;
printf("WILL USE CUSTOM RECV BUFF SIZE = %u\r\n", membufsz);
if ((newsz >= 0) && (newsz < 65500)) {
tcpbufsz = newsz;
printf("WILL USE CUSTOM TCP BUFF SIZE = %u\r\n", tcpbufsz);
}
}
}
 
/* allocate memory */
mem = malloc(sizeof(*mem) + membufsz);
mem = malloc(sizeof(*mem));
if (mem == NULL) {
putsnls(9, 9); /* "ERROR: out of memory" */
return(1);
467,7 → 467,7
return(1);
}
 
flen = htget(mem->ipaddr, mem->url, mem->outfname, &bsum, ispost, mem->buffer, membufsz);
flen = htget(mem->ipaddr, mem->url, mem->outfname, &bsum, ispost, mem->buffer, sizeof(mem->buffer), tcpbufsz);
if (flen < 1) return(1);
 
if (mem->outfname[0] != 0) {