еееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееA DF еC C еTAGS_1  ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее dbmap bitmap.c /^dbmap(str)$/ delete delete.c /^delete(cmdline)$/ dispdir dirhdl.c /^dispdir()$/ dump hexdmp.c /^dump(cmdlinееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее$/ c_flsbuf cflsbuf.c /^c_flsbuf(c, fptr)$/ c_flush cflsbuf.c /^c_flush(fptr)$/ c_open copen.c /^c_open(name, ext, mode)$/ cееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееe)$/ ffc ffc.c /^ffc(start, len, field)$/ fixname ccreat.c /^fixname(name, ext)$/ gen_sktab gensktab.c /^gen_sktab()$/ getblееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее_write cflsbuf.c /^c_write(fptr, buf, cnt)$/ checkname ccreat.c /^checkname(s)$/ chkcmd cmdhdl.c /^chkcmd(cmd)$/ clean cmdhdlееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееock blockio.c /^getblock(blockno, buffer, nsect)$/ getdir dirhdl.c /^getdir()$/ getnext extent.c /^getnext(cur)$/ getpsect phееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее.c /^clean(str, len)$/ cmdinp cmdhdl.c /^cmdinp(cmd)$/ copy copy.c /^copy(cpmfile, unixfile, bin)$/ copybin copy.c /^copybin(ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееMcpm cpm.c /^main(argc, argv)$/ alloc bitmap.c /^alloc()$/ blks_used bitmap.c /^blks_used()$/ build_bmap bitmap.c /^build_bmaееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееysio.c /^getpsect(tr, sect, buf)$/ help cmdhdl.c /^help()$/ hexdump hexdmp.c /^hexdump(fp)$/ initcpm physio.c /^initcpm(name)ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееcid, ufid)$/ copyc copy.c /^copyc(cmdline, bin)$/ copytext copy.c /^copytext(cid, ufid)$/ creext extent.c /^creext(curext)$/ ееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееp()$/ c_close cclose.c /^c_close(fptr)$/ c_creat ccreat.c /^c_creat(name, ext, flag)$/ c_fillbuf cfillbuf.c /^c_fillbuf(fptr)$/ interact interact.c /^interact()$/ intrpt interact.c /^intrpt()$/ namesep cmdhdl.c /^namesep(fname, name, ext)$/ number ce)$/ ffc ffc.c /^ffc(start, len, field)$/ fixname ccreat.c /^fixname(name, ext)$/ gen_sktab gensktab.c /^gen_sktab()$/ getbl_write cflsbuf.c /^c_write(fptr, buf, cnt)$/ checkname ccreat.c /^checkname(s)$/ chkcmd cmdhdl.c /^chkcmd(cmd)$/ clean cmdhdl++) { ch = *(char *)i; putchar((int)ch); } } #endif if (iflag > 0) { interact(); exit(0); } if (dflag if ((maxdir < 64) || (tracks >1024 )) { fprintf(stderr, "cpm: illegal value of m-flag: %d\n",maxdir); exit(1); bin)$/ piptext pip.c /^piptext(cid, ufid)$/ printline hexdmp.c /^printline(cbuf, nc)$/ putblock blockio.c /^putblock(blockno,pm.c /^number(big)$/ pip pip.c /^pip(cmdline, bin)$/ pipbin pip.c /^pipbin(cid, ufid)$/ pipc pip.c /^pipc(unixfile, cpmfile, ock blockio.c /^getblock(blockno, buffer, nsect)$/ getdir dirhdl.c /^getdir()$/ getnext extent.c /^getnext(cur)$/ getpsect ph.c /^clean(str, len)$/ cmdinp cmdhdl.c /^cmdinp(cmd)$/ copy copy.c /^copy(cpmfile, unixfile, bin)$/ copybin copy.c /^copybin(> 0) dispdir(); if (cflag > 0) { copy(cpmname, unixname, Bflag); exit(0); } if (Cflag > 0) { pipc(unixname, cMcpm cpm.c /^main(argc, argv)$/ alloc bitmap.c /^alloc()$/ blks_used bitmap.c /^blks_used()$/ build_bmap bitmap.c /^build_bma buffer, nsect)$/ putpsect physio.c /^putpsect(tr, sect, buf)$/ rename rename.c /^rename(cmdline)$/ savedir dirhdl.c /^savedibin)$/ piptext pip.c /^piptext(cid, ufid)$/ printline hexdmp.c /^printline(cbuf, nc)$/ putblock blockio.c /^putblock(blockno,ysio.c /^getpsect(tr, sect, buf)$/ help cmdhdl.c /^help()$/ hexdump hexdmp.c /^hexdump(fp)$/ initcpm physio.c /^initcpm(name)cid, ufid)$/ copyc copy.c /^copyc(cmdline, bin)$/ copytext copy.c /^copytext(cid, ufid)$/ creext extent.c /^creext(curext)$/ pmname, Bflag); exit(0); } if (tflag > 0) { copy(cpmname, stdout, 0); exit(0); } } number(big) { registep()$/ c_close cclose.c /^c_close(fptr)$/ c_creat ccreat.c /^c_creat(name, ext, flag)$/ c_fillbuf cfillbuf.c /^c_fillbuf(fptr)r()$/ searchdir dirhdl.c /^searchdir(name,ext)$/ usage cpm.c /^usage()$/  buffer, nsect)$/ putpsect physio.c /^putpsect(tr, sect, buf)$/ rename rename.c /^rename(cmdline)$/ savedir dirhdl.c /^savedi$/ interact interact.c /^interact()$/ intrpt interact.c /^intrpt()$/ namesep cmdhdl.c /^namesep(fname, name, ext)$/ number c dbmap bitmap.c /^dbmap(str)$/ delete delete.c /^delete(cmdline)$/ dispdir dirhdl.c /^dispdir()$/ dump hexdmp.c /^dump(cmdlinr char *cs; long n; cs = string; n = 0; while(*cs >= '0' && *cs <= '9') n = n*10 + *cs++ - '0'; for(;;) switch($/ c_flsbuf cflsbuf.c /^c_flsbuf(c, fptr)$/ c_flush cflsbuf.c /^c_flush(fptr)$/ c_open copen.c /^c_open(name, ext, mode)$/ c if (xflag > 0) { int i; char ch; dbmap("current bitmap:\n"); for (i = (int)dirbuf; i< (int)dirbuf+maxdir*32; ir()$/ searchdir dirhdl.c /^searchdir(name,ext)$/ usage cpm.c /^usage()$/ pm.c /^number(big)$/ pip pip.c /^pip(cmdline, bin)$/ pipbin pip.c /^pipbin(cid, ufid)$/ pipc pip.c /^pipc(unixfile, cpmfile, *cs++) { case 'k': n *= 1024; continue; case 'w': n *= sizeof(int); continue; case 'b': n *= 512; elp cmdhdl.c /^help()$/ hexdump hexdmp.c /^hexdump(fp)$/ initcpm physio.c /^initcpm(name)$/ interact interact.c /^interact()$mdline, bin)$/ copytext copy.c /^copytext(cid, ufid)$/ creext extent.c /^creext(curext)$/ dbmap bitmap.c /^dbmap(str)$/ dele$/ c_flsbuf cflsbuf.c /^c_flsbuf(c, fptr)$/ c_flush cflsbuf.c /^c_flush(fptr)$/ c_open copen.c /^ c_open(name, ext, mode)$/ p()$/ c_close cclose.c /^c_close(fptr)$/ c_creat ccreat.c /^c_creat(name, ext, flag)$/ c_fillbuf cfillbuf.c /^c_fillbuf(fptr)(name,ext)$/ usage cpm.c /^usage()$/ continue; case '*': case 'x': string = cs; n *= number(BIG); case '\0': if (n >= big || n < 0) { fprintf(/ intrpt interact.c /^intrpt()$/ namesep cmdhdl.c /^namesep(fname, name, ext)$/ number cpm.c /^number(big)$/ pip pip.c /^pipte delete.c /^delete(cmdline)$/ dispdir dirhdl.c /^dispdir()$/ dump hexdmp.c /^dump(cmdline)$/ ffc ffc.c /^ffc(start, len, fic_write cflsbuf.c /^c_write(fptr, buf, cnt)$/ chkcmd cmdhdl.c /^chkcmd(cmd)$/ clean cmdhdl.c /^clean(str, len)$/ cmdinp cmdhd$/ c_flsbuf cflsbuf.c /^c_flsbuf(c, fptr)$/ c_flush cflsbuf.c /^c_flush(fptr)$/ c_open copen.c /^ c_open(name, ext, mode)$/ stderr,"cpm: number: argument %d out of range\n", n); exit(1); } return (n); } } usage() { printf("Usage: cpm(cmdline, bin)$/ pipbin pip.c /^pipbin(cid, ufid)$/ pipc pip.c /^pipc(unixfile, cpmfile, bin)$/ piptext pip.c /^piptext(cid, eld)$/ fnfound copen.c /^fnfound(name, ext)$/ gen_sktab gensktab.c /^gen_sktab()$/ getblock blockio.c /^getblock(blockno, bufl.c /^cmdinp(cmd)$/ copy copy.c /^copy(cpmfile, unixfile, bin)$/ copybin copy.c /^copybin(cid, ufid)$/ copyc copy.c /^copyc(cc_write cflsbuf.c /^c_write(fptr, buf, cnt)$/ chkcmd cmdhdl.c /^chkcmd(cmd)$/ clean cmdhdl.c /^clean(str, len)$/ cmdinp cmdhdMcpm cpm.c /^main(argc, argv)$/ alloc bitmap.c /^alloc()$/ blks_used bitmap.c /^blks_used()$/ build_bmap bitmap.c /^build_bma [-i][-d][-p name][-c|C name1 name2] file-name\n"); exit(1); } ufid)$/ printline hexdmp.c /^printline(cbuf, nc)$/ putblock blockio.c /^putblock(blockno, buffer, nsect)$/ putpsect physio.c fer, nsect)$/ getdir dirhdl.c /^getdir()$/ getnext extent.c /^getnext(cur)$/ getpsect physio.c /^getpsect(tr, sect, buf)$/ hmdline, bin)$/ copytext copy.c /^copytext(cid, ufid)$/ creext extent.c /^creext(curext)$/ dbmap bitmap.c /^dbmap(str)$/ delel.c /^cmdinp(cmd)$/ copy copy.c /^copy(cpmfile, unixfile, bin)$/ copybin copy.c /^copybin(cid, ufid)$/ copyc copy.c /^copyc(cp()$/ c_close cclose.c /^c_close(fptr)$/ c_creat ccreat.c /^c_creat(name, ext, flag)$/ c_fillbuf cfillbuf.c /^c_fillbuf(fptr)Mcpm cpm.c /^main(argc, argv)$/ alloc bitmap.c /^alloc()$/ blks_used bitmap.c /^blks_used()$/ build_bmap bitmap.c /^build_bma/^putpsect(tr, sect, buf)$/ rename rename.c /^rename(cmdline)$/ savedir dirhdl.c /^savedir()$/ searchdir dirhdl.c /^searchdirte delete.c /^delete(cmdline)$/ dispdir dirhdl.c /^dispdir()$/ dump hexdmp.c /^dump(cmdline)$/ ffc ffc.c /^ffc(start, len, fi(cmdline, bin)$/ pipbin pip.c /^pipbin(cid, ufid)$/ pipc pip.c /^pipc(unixfile, cpmfile, bin)$/ piptext pip.c /^piptext(cid, eld)$/ fnfound copen.c /^fnfound(name, ext)$/ gen_sktab gensktab.c /^gen_sktab()$/ getblock blockio.c /^getblock(blockno, bufufid)$/ printline hexdmp.c /^printline(cbuf, nc)$/ putblock blockio.c /^putblock(blockno, buffer, nsect)$/ putpsect physio.c fer, nsect)$/ getdir dirhdl.c /^getdir()$/ getnext extent.c /^getnext(cur)$/ getpsect physio.c /^getpsect(tr, sect, buf)$/ h/^putpsect(tr, sect, buf)$/ rename rename.c /^rename(cmdline)$/ savedir dirhdl.c /^savedir()$/ searchdir dirhdl.c /^searchdirelp cmdhdl.c /^help()$/ hexdump hexdmp.c /^hexdump(fp)$/ initcpm physio.c /^initcpm(name)$/ interact interact.c /^interact()$(name,ext)$/ usage cpm.c /^usage()$/ / intrpt interact.c /^intrpt()$/ namesep cmdhdl.c /^namesep(fname, name, ext)$/ number cpm.c /^number(big)$/ pip pip.c /^pip