Subversion Repositories SvarDOS

Rev

Rev 900 | Rev 1132 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 900 Rev 1131
Line 38... Line 38...
38
#include "svarlang.lib\svarlang.h"
38
#include "svarlang.lib\svarlang.h"
39
 
39
 
40
#include "../../pkg/trunk/lsm.h"
40
#include "../../pkg/trunk/lsm.h"
41
 
41
 
42
 
42
 
43
#define PVER "20220219"
43
#define PVER "20220318"
44
#define PDATE "2021-2022"
44
#define PDATE "2021-2022"
45
 
45
 
46
#define HOSTADDR "svardos.org"
46
#define HOSTADDR "svardos.org"
47
 
47
 
48
 
48
 
Line 411... Line 411...
411
 
411
 
412
 
412
 
413
int main(int argc, char **argv) {
413
int main(int argc, char **argv) {
414
  unsigned short bsum = 0;
414
  unsigned short bsum = 0;
415
  long flen;
415
  long flen;
-
 
416
  size_t membufsz = 5000;
416
  int ispost; /* is the request a POST? */
417
  int ispost; /* is the request a POST? */
417
 
418
 
418
  struct {
419
  struct {
419
    unsigned char buffer[5000];
-
 
420
    char ipaddr[64];
420
    char ipaddr[64];
421
    char url[64];
421
    char url[64];
422
    char outfname[16];
422
    char outfname[16];
-
 
423
    unsigned char buffer[1];
423
  } *mem;
424
  } *mem;
424
 
425
 
425
  svarlang_autoload("PKGNET");
426
  svarlang_autoload("PKGNET");
426
 
427
 
-
 
428
  /* look for PKGNETBUFSZ env var to size up the buffer (default=5000 bytes) */
-
 
429
  {
-
 
430
    const char *ptr = getenv("PKGNETBUFSZ");
-
 
431
    if (ptr != NULL) {
-
 
432
      long newsz = atol(ptr);
-
 
433
      if ((newsz > 0) && (newsz < 65500)) {
-
 
434
        membufsz = newsz;
-
 
435
        printf("WILL USE CUSTOM RECV BUFF SIZE = %u\r\n", membufsz);
-
 
436
      }
-
 
437
    }
-
 
438
  }
-
 
439
 
427
  /* allocate memory */
440
  /* allocate memory */
428
  mem = malloc(sizeof(*mem));
441
  mem = malloc(sizeof(*mem) + membufsz);
429
  if (mem == NULL) {
442
  if (mem == NULL) {
430
    putsnls(9, 9); /* "ERROR: out of memory" */
443
    putsnls(9, 9); /* "ERROR: out of memory" */
431
    return(1);
444
    return(1);
432
  }
445
  }
433
 
446
 
Line 452... Line 465...
452
  if (net_dnsresolve(mem->ipaddr, HOSTADDR, 2) != 0) {
465
  if (net_dnsresolve(mem->ipaddr, HOSTADDR, 2) != 0) {
453
    putsnls(9, 12); /* "ERROR: DNS resolution failed" */
466
    putsnls(9, 12); /* "ERROR: DNS resolution failed" */
454
    return(1);
467
    return(1);
455
  }
468
  }
456
 
469
 
457
  flen = htget(mem->ipaddr, mem->url, mem->outfname, &bsum, ispost, mem->buffer, sizeof(mem->buffer));
470
  flen = htget(mem->ipaddr, mem->url, mem->outfname, &bsum, ispost, mem->buffer, membufsz);
458
  if (flen < 1) return(1);
471
  if (flen < 1) return(1);
459
 
472
 
460
  if (mem->outfname[0] != 0) {
473
  if (mem->outfname[0] != 0) {
461
    /* print bsum, size, filename */
474
    /* print bsum, size, filename */
462
    printf(svarlang_strid(0x0200), flen >> 10, mem->outfname, bsum); /* Downloaded %ld KiB into %s (BSUM: %04X) */
475
    printf(svarlang_strid(0x0200), flen >> 10, mem->outfname, bsum); /* Downloaded %ld KiB into %s (BSUM: %04X) */