• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src/router/busybox/libbb/

Lines Matching refs:dumper

45 	priv_dumper_t *dumper = xzalloc(sizeof(*dumper));
46 dumper->pub.dump_length = -1;
47 dumper->pub.dump_vflag = FIRST;
48 dumper->get__ateof = 1;
49 return &dumper->pub;
99 static NOINLINE void rewrite(priv_dumper_t *dumper, FS *fs)
218 dumper->endfu = fu;
302 if (!fu->nextfu && fs->bcnt < dumper->blocksize
305 fu->reps += (dumper->blocksize - fs->bcnt) / fu->bcnt;
321 static void do_skip(priv_dumper_t *dumper, const char *fname, int statok)
330 && dumper->pub.dump_skip >= sbuf.st_size
333 dumper->pub.dump_skip -= sbuf.st_size;
334 dumper->address += sbuf.st_size;
338 if (fseek(stdin, dumper->pub.dump_skip, SEEK_SET)) {
341 dumper->address += dumper->pub.dump_skip;
342 dumper->savaddress = dumper->address;
343 dumper->pub.dump_skip = 0;
346 static NOINLINE int next(priv_dumper_t *dumper)
351 if (*dumper->argv) {
352 dumper->next__done = statok = 1;
353 if (!(freopen(*dumper->argv, "r", stdin))) {
354 bb_simple_perror_msg(*dumper->argv);
355 dumper->exitval = 1;
356 ++dumper->argv;
360 if (dumper->next__done)
362 dumper->next__done = 1;
365 if (dumper->pub.dump_skip)
366 do_skip(dumper, statok ? *dumper->argv : "stdin", statok);
367 if (*dumper->argv)
368 ++dumper->argv;
369 if (!dumper->pub.dump_skip)
375 static unsigned char *get(priv_dumper_t *dumper)
379 int blocksize = dumper->blocksize;
381 if (!dumper->get__curp) {
382 dumper->address = (off_t)0; /*DBU:[dave@cray.com] initialize,initialize..*/
383 dumper->get__curp = xmalloc(blocksize);
384 dumper->get__savp = xzalloc(blocksize); /* need to be initialized */
386 unsigned char *tmp = dumper->get__curp;
387 dumper->get__curp = dumper->get__savp;
388 dumper->get__savp = tmp;
389 dumper->savaddress += blocksize;
390 dumper->address = dumper->savaddress;
400 if (!dumper->pub.dump_length || (dumper->get__ateof && !next(dumper))) {
404 if (dumper->pub.dump_vflag != ALL && !memcmp(dumper->get__curp, dumper->get__savp, nread)) {
405 if (dumper->pub.dump_vflag != DUP) {
410 memset(dumper->get__curp + nread, 0, need);
411 dumper->eaddress = dumper->address + nread;
412 return dumper->get__curp;
414 n = fread(dumper->get__curp + nread, sizeof(unsigned char),
415 dumper->pub.dump_length == -1 ? need : MIN(dumper->pub.dump_length, need), stdin);
418 bb_simple_perror_msg(dumper->argv[-1]);
420 dumper->get__ateof = 1;
423 dumper->get__ateof = 0;
424 if (dumper->pub.dump_length != -1) {
425 dumper->pub.dump_length -= n;
429 if (dumper->pub.dump_vflag == ALL || dumper->pub.dump_vflag == FIRST
430 || memcmp(dumper->get__curp, dumper->get__savp, blocksize)
432 if (dumper->pub.dump_vflag == DUP || dumper->pub.dump_vflag == FIRST) {
433 dumper->pub.dump_vflag = WAIT;
435 return dumper->get__curp;
437 if (dumper->pub.dump_vflag == WAIT) {
440 dumper->pub.dump_vflag = DUP;
441 dumper->savaddress += blocksize;
442 dumper->address = dumper->savaddress;
531 static void display(priv_dumper_t* dumper)
541 while ((bp = get(dumper)) != NULL) {
542 fs = dumper->pub.fshead;
544 saveaddress = dumper->address;
545 for (; fs; fs = fs->nextfs, bp = savebp, dumper->address = saveaddress) {
551 for (pr = fu->nextpr; pr; dumper->address += pr->bcnt,
553 if (dumper->eaddress && dumper->address >= dumper->eaddress
565 printf(pr->fmt, (unsigned) dumper->address);
651 if (dumper->endfu) {
656 if (!dumper->eaddress) {
657 if (!dumper->address) {
660 dumper->eaddress = dumper->address;
662 for (pr = dumper->endfu->nextpr; pr; pr = pr->nextpr) {
665 printf(pr->fmt, (unsigned) dumper->eaddress);
675 #define dumper ((priv_dumper_t*)pub_dumper)
683 tfs = dumper->pub.fshead;
691 dumper->blocksize = blocksize;
694 for (tfs = dumper->pub.fshead; tfs; tfs = tfs->nextfs) {
695 rewrite(dumper, tfs);
698 dumper->argv = argv;
699 display(dumper);
701 return dumper->exitval;
715 if (!dumper->pub.fshead) {
716 dumper->pub.fshead = tfs;
718 FS *fslast = dumper->pub.fshead;