🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.c
Article #4545

Re: How to copy .pag file.

#4545
From: Kenichi Makino
Date: Wed, 10 Jun 1992 04:32
145 lines
7122 bytes
$@KRLn!w%;%$%3!<%(%W%=%s$G$9!#(J

$@@hF|%]%9%H$7$?(J dbm() $@%i(J$@%$%V%i%j$G$G$-$k(J.pag$@%U%!%$%k$NJ#@=$r:n$k$K$O!)(J
$@$H$$$&<ALd$KBP$7$FF#0f!w#S#R#A$5$s$h$j2sEz$r$$$?$@$-$^(J$@$7$?!#8fK\?M$NN;(J
$@2r$r$$$?$@$-$^$7$?$N$GE>:\$7$^$9!#(J

$@7kO@$H$7$F$OJ*M}E*$KA4$/F1$8$K$O$J$i$J$$$,(J cp $@$G(J$@$bJ#@=$O:n$l$k$N$G$O!)(J
$@$H$$$&;v$G$7$?!#(J

$@0J2<!"F#0f!w#S#R#A$5$s$+$i$N%a!<%k$NE>:\(J

$@!v!v!v!v!v!v!v!v!v(J$@!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v(J
From: s-fujii@sramha.sra.co.jp (Seigo Fujii)
                           $@%[!<%k$N7o(J

$@F#0f@68c!w#S#R#A$H$$$&$b$N$G$9!#(J

$@ITJY6/$G40A4$K$OEz$($i$l$^$;$s!#!V;W(J$@$&!W!"!V5$$,$9$k!W$H$$$C$?0h(J
$@$r=P$^$;$s$,!"B>$K%U%)%m!<$,=P$F$$$J$$$h$&$J$N$G!"@bL@$7$F$_$^$9!#(J 

In article <MAKINO.92Jun4101603@icphimiko.icphimiko.ic.epson.co.jp> you write:
>dbm()$@%i%$%V%i%j$r;H$C$F%G(J$@!<%?%Y!<%9=hM}$r$7$h$&$H$7$F$$$k$N$G$9$,!"(J
>.pag $@%U%!%$%k$NJ#@=$r:n$kI,MW$,$G$F$-$^$7$?!#$H$3$m$,(J SunOS4.1.1 $@$N%^(J
>$@%K%e%"%k$K$O0J2<$N$h$&$J5-=R$,$5$l$F$$$^$9!#(J
>
>---------------------------------------------------------------------
>.pag $@%U%!%$%k$K$O%[!<%k$,$"$j!"8+$+$1$N%5%$%:$,<B:]$NFbMF$NLs(J4$@G\$K$J$C(J
>$@$F$$$^$9!#(JUNIX $@%*%Z%l!<%F%#%s%0!&%7%9%F%`$N5l%P!<%8%g%s$O!"$3$l$i$N%[!<(J
>$@%k$KC#$9$k$H<B%U%!%$%k!&%V(J$@%m%C%/$r:n@.$9$k$3$H$,$"$j$^$9!#$3$l$i$N%U%!(J
>$@%$%k$O!"%[!<%k$rKd$a$J$$$H!"DL>o$N<jCJ(J(cp(1),cat(1V),tar(1),ar(1V))$@$G(J
>$@$O%3%T!<$G$-$^$;$s!#(J
>---------------------------------------------------------------------
>
>$@$3$3$K=P$F$/$k!V%[!<%k!W$H$O2?$G$7$g$&$+!)(J

/* sample code A */
/* data $@$N<($9$H$3$m$K2?$,$7(J$@$+%G!<%?$,$"$k$b$N$H$9$k$H(J */
#define HOLESIZE (1024*8)
#define DATASIZE (1024)

fd = open("/tmp/hole", O_RDWR | O_CREAT, 0644);	/* 1 */
lseek(fd, HOLESIZE, L_SET);			/* 2 */
write(fd, data, DATASIZE);			/* 3 */
close(fd);

$@$H$9$k$H!"(J
    1. $@%U%!%$%k(J /tmp/hole $@$,=PMh$F!"(J
    2. $@%U%!%$%k$N=q$-9~$_0LCV$,(J$@%U%!%$%k$N@hF,$+$i(J 8K $@8e$m$K$J$C$F!"(J
    3. 1K $@$N%G!<%?$r=q$-9~$`!"(J($@%5%$%:(J 9 K $@$N%U%!%$%k$H$J$k!#(J)

$@0J(J$@2<$N=hM}$r$7$?>l9g$H308+>e$OF1$8$K$J$j$^$9!#(J

/* sample code B */
/* nulldata $@$N<($9$H$3$m$K(J NULL $@$,(J HOLESIZE $@J,$"$k$b$N$H$7$F(J */
fd = open("/tmp/hole", O_RDWR | O_CREAT, 0644);	/* 1 */
write(fd, nulldata, HOLESIZE);			/* 2 */
write(fd, data, DATASIZE);			/* 3 */

A $@$N%1!<%9$G$O!"$?$V$s%U%!%$%k$N@hF,$N(J 8K $@$NJ,$OJ*M}E*$K%G%#%9%/(J
$@$NNN0h$O3d$jEv$F$i$l$J$$$H;W$$$^$9!#$3$NItJ,$r%[!<%k$H8F$s$G$$$k(J
$@$N$@$H;W$$(J$@$^$9!#%[!<%k$NItJ,$O%G!<%?$r=q$$$F$$$J$$$N$G$9$,!"(J unix
$@$G$O$3$NItJ,$rFI$_=P$9$H(J NULL $@%G!<%?(J ( $@CM(J 0) $@$NO"B3$H$7$FFI$_=P$;(J
$@$k$3$H$K$J$C$F$$$^$9!#(J 

$@%U%!%$%k%7%9%F%`$N%V%m%C%/%5%$%:$N6-3&$NC10L$G%[!<%k$K$J(J$@$k$h$&$J(J
$@5$$,$7$^$9!#$?$H$($P@h$N%W%m%0%i%`(J A $@$N(J HOLESIZE $@$r(J 1 $@$H$9$k$H!"(J
$@%U%!%$%k$N@hF,$N(J 1 $@%P%$%H$O(J$@%[!<%k$K$O$J$i$J$$$H;W$$$^$9!#(J 

$@$3$3$^$G$G!"%[!<%k$N@bL@$H!"(J

>.pag $@%U%!%$%k$K$O%[!<%k$,$"$j!"8+$+$1(J$@$N%5%$%:$,<B:]$NFbMF$NLs(J4$@G\$K$J$C(J
>$@$F$$$^$9!#(J

$@$N@bL@$K$J$j$^$9$+!)(J

dbm $@%U%!%$%k$G$O!"%-!<$K$h$j%O%C(J$@%7%e$7$F5a$a$?%U%!%$%k0LCV$K(J lseek(1)
$@$7$F%"%/%;%9$7$F$k$H;W$&$N$G!"%[!<%k$,=PMh$k$N$G$7$g$&!#$J$<(J 4 $@G\(J
$@$J$N$+$O!";d$K$O$o$+$j$^$;$s!#(J 

>          UNIX $@%*%Z%l!<%F%#%s%0!&%7%9%F%`$N5l%P!<%8%g%s$O!"$3$l$i(J$@$N%[!<(J
>$@%k$KC#$9$k$H<B%U%!%$%k!&%V%m%C%/$r:n@.$9$k$3$H$,$"$j$^$9!#(J

$@$3$l$ONI$/$o$+$j$^$;$s!#Lu$,0-$$$h(J$@$&$J5$$b$7$^$9!#1Q8l$N(J man $@$G$O(J
Older UNIX systems may create real file blocks for these holes when
touched. $@$G$9$M!#(J

    $@5lHG$N(J unix $@$G$O!"=q$-9~$_$N:]$K(J (???)(when touched) $@!"%U%!%$(J
    $@%k$N<B%V%m%C%/(J ( $@J*M}%G%#%9%/(J ) $@$r:n@.(J ( $@3d$jEv$F(J ) $@$9$k$3$H(J
    $@$,$"$k!#(J 

$@$H$$$&0UL#$N$h$&$J5$$b$7$^$9!#(J

>                                                          $@$3$l$i$N%U%!(J
>$@%$%k$O!"%[!<%k$rKd$a$J$$$H!"DL>o$N<j(J$@CJ(J(cp(1),cat(1V),tar(1),ar(1V))$@$G(J
>$@$O%3%T!<$G$-$^$;$s!#(J

$@1Q8l$G$O!"(J These files cannot be copied by normal means (cp, cat,
tp, tar, ar) without filling in the holes. $@$G$9$M!#(J

    $@$3$l$i$N%U%!%$%k$O!"DL(J$@>o$N<jCJ(J (cp(1),cat(1V),tar(1),ar(1V))
    $@$G$O!"%[!<%k$rKd$a$k$3$H$rH<$o$:$K%3%T!<$9$k$3$H$O$G$-$J$$(J$@!#(J 

$@$H$$$&0UL#$@$H;W$$$^$9!#(J

cp $@$bB>$N%3%T!<$K$D$+$($k%3%^%s%I$b%=!<%9%U%!%$%k$+$i(J read(2) $@$7(J
$@$F%G%#(J$@%9%F%#%M!<%7%g%s%U%!%$%k$X(J write(2) $@$7$^$9$h$M!#$3$l$G$O!"(J
$@>e$N(J sample code B $@$HF1$8$G%[!<%k$O$G$-$^$;(J$@$s$h$M!#(J 

>$@J#@=$r:n$k$K$O6qBNE*$K$I$&$9$l$P$$$$$N$G$7$g$&$+!)(J

$@$G$9$+$i!"DL>o$N<jCJ(J (cp(1),cat(1V),tar(1),ar(1V)) $@$GJ#@=$,$G$-$k(J
$@$N$G$O$J$$$G$7$g$&$+!#$?$@$7!"%[!<%k$OK~$?$5$l$F$7$^$&(J ( $@%G%#%9%/(J
$@$r?)$&(J ) $@!#(J 

$@DL>o$N<jCJ0J30$K$O!"<!$N$h$&$JJ}K!$,9M$($i$l$^$9$h$M!#(J
$@$3$l$@$H!"%[!<%k$r;}$C$?%U%!%$%k$,:n$i(J$@$l$k$H;W$$$^$9!#(J

    $@%=!<%9B&!"%G%#%9%F%#%M!<%7%g%sB&$N(J dbm $@%U%!%$%k$r%*!<%W%s(J(dbminit())$@$7!"(J
    (firstkey() $@$H(J nextkey() $@$rMQ$$$F(J ) $@%=!<%9B&$N(J dbm $@%U%!%$%k$+$i(J
    $@A4$F$N%-!<$H%G!<%?$r!"(J 
	$@FI$_=P$7(J(fetch())$@$F!"(J
	$@%G%#%9%F%#%M!<%7%g%sB&$N(J dbm $@%U%!%$%k$K=q$/(J(store())$@!"(J

$@$?$@$7!"(J cmp(1) $@$GHf3S$7$FF1$8%U(J$@%!%$%k$,$G$-$k$+$I$&$+$O!";d$K$O(J
$@$o$+$j$^$;$s!#(J (dbm $@%i%$%V%i%j$GFI$`J,$K$OF1$87k2L$,F@$i$l$k$H;W(J
$@$&$1(J$@$I!#(J ) $@M}M3$H$7$F$O!"(J 

    forstkey(), nextkey() $@$O!"(J store() $@$7$?=g$K$O%-!<$rJV$5$J$$$@(J
    $@$m$&$7!"(J store() $@$N=g$K$h$C$F%U%!%$%k$NCf?H$,0c$C$F$/$k$+$b$7(J
    $@$l$J$$$N$H!"(J 

    delete() $@$5$l$?%4%_%G!<%?(J$@$,%=!<%9(J dbm $@$K$O$"$C$F!"%G%#%9%F%#%M!<(J
    $@%7%g%s(J dbm $@$K$O$G$-$J$$$@$m$+$i!#(J

$@$G$9!#(J

P.S.
perl $@$+$i(J dbm $@$"$D$+$&$H4JC1$G$9$h$M!#(J($@<B$O$3$l$7$+$d$C$?$3$H$J$$!#(J)
--
s-fujii@sra.co.jp $@F#0f@68c!w#S#R#A(J
$@!v!v(J$@!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v(J
$@0J>eE>:\=*N;(J
--
  $@KRLn(J  $@8,0l(J
  makino@icphimiko.ic.epson.co.jp
Technical Details
Message-ID: <MAKINO.92Jun10133206@icphimiko.icphimiko.ic.epson.co.jp>
Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!epsongw!icphimiko!icphimiko!makino
References: <MAKINO.92Jun4101603@icphimiko.icphimiko.ic.epson.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 106434,f77a4bfe26ba7f78
X-Google-Attributes: gid106434,public
X-Google-ArrivalTime: 1992-06-10 07:38:28 PST
Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!epsongw!icphimiko!icphimiko!makino
From: makino@icphimiko.ic.epson.co.jp (Kenichi Makino)
Newsgroups: fj.lang.c
Subject: Re: How to copy .pag file.
Message-ID: <MAKINO.92Jun10133206@icphimiko.icphimiko.ic.epson.co.jp>
Date: 10 Jun 92 04:32:06 GMT
References: <MAKINO.92Jun4101603@icphimiko.icphimiko.ic.epson.co.jp>
Sender: news@icphimiko.hino.ic.epson.co.jp
Distribution: fj
Organization: SEIKO EPSON Corp., Nagano, Japan.
Lines: 145
In-Reply-To: makino@icphimiko.ic.epson.co.jp's message of Thu, 4 Jun 1992 01:16:03 GMT