Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: GETDATE, A simple utility to display the datestamp for a dir/file Message-ID: <8711030254.AA00892@cory.Berkeley.EDU> Date: Mon, 2-Nov-87 21:54:25 EST Article-I.D.: cory.8711030254.AA00892 Posted: Mon Nov 2 21:54:25 1987 Date-Received: Fri, 6-Nov-87 21:54:14 EST Sender: daemon@ucbvax.BERKELEY.EDU Lines: 221 This simply gets a lock on a file, Examine's it, and displays the timestamp. It works on files, directories, or volumes. Mainly a hacker's tool. GETDATE DF1: -Matt #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # getdate.c # getdate.uue # This archive created: Mon Nov 2 18:49:39 1987 export PATH; PATH=/bin:/usr/bin:$PATH echo shar: "extracting 'getdate.c'" '(1198 characters)' if test -f 'getdate.c' then echo shar: "will not over-write existing file 'getdate.c'" else cat << \!Funky!Stuff! > 'getdate.c' /* * Examine a path and return the date */ typedef struct FileInfoBlock FIB; extern void *malloc(); extern char *datetos(); main(ac,av) char *av[]; { char buf[64]; long lock; FIB *fib = malloc(sizeof(FIB)); strcpy(buf, "error"); if (lock = Lock(av[1], ACCESS_READ)) { if (Examine(lock, fib)) strcpy(buf, datetos(&fib->fib_Date)); UnLock(lock); } puts(buf); } char * datetos(d) register struct DateStamp *d; { static char stamp[64]; static char dim[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; static char *Month[12] = { "Jan","Feb","Mar","Apr","May","Jun","Jul", "Aug","Sep","Oct","Nov","Dec" }; register long day, month, year, scr; day = d->ds_Days; /* iteration (could be done w/equations) */ year = 1978; while (day >= (scr = ((year&3)|!(year%100)) ? 365 : 366)) { ++year; day -= scr; } dim[1] = ((year&3)|!(year%100)) ? 28 : 29; for (month = 0; day >= dim[month]; (day -= dim[month]), ++month); sprintf(stamp, "%2ld %s %2ld:%02ld:%02ld.%02ld %4ld", day + 1, Month[month], d->ds_Minute/60, d->ds_Minute%60, d->ds_Tick/50, (d->ds_Tick%50)<<2, year); return (stamp); } !Funky!Stuff! fi # end of overwriting check echo shar: "extracting 'getdate.uue'" '(7978 characters)' if test -f 'getdate.uue' then echo shar: "will not over-write existing file 'getdate.uue'" else cat << \!Funky!Stuff! > 'getdate.uue' begin 644 getdate M```#\P`````````#``````````(```3:````QP````$```/I```$VD[Z`=). M5?^X2'@!!$ZZ#KY83RM`_[A(>@!F2&W_P$ZZ!7)03TAX__X@;0`,+R@`!$ZZ M$BY03RM`_[QG-"\M_[@O+?^\3KH1[%!/2H!G&"!M_[A(:`"$82Q83R\`2&W_ MP$ZZ!3!03R\M_[Q.NA(<6$](;?_`3KH%+%A/3EU.=65RZ@!@$$'L@`(0,%@`2(!(P)B`4H5![(`"$#!8 M`$B`2,"X@&S@+P8@*@`(9@PN/``#@`=.KO^48`1.N@`:4$].=61O`/M M2'H`+$ZZ#Q!03R!L@N(A0``,+RR"\B\L@O9.NOR,4$]"ITZZ#0Y83R1?3EU. M=2H`3E4``$CG##`D;0`0(&T`""`H`*SE@"@`($0@*``0Y8`F0!`32(!(P-"M M``Q4@"E`@OI"IR\L@OI.N@\(4$\I0(+^9@A,WPPP3EU.=1`32(!(P"\`($M2 MB"\(+RR"_DZZ`5I/[P`,2'H!4!`32(!(P-"L@OXO`$ZZ`8Y03R\M``PO"B\L M@OY.N@%:3^\`#$*L@O8F;(+^)$L0$TB`2,`J`+"\````(&<@NKP````)9QBZ MO`````QG$+J\````#6<(NKP````*9@12BV#,#!,`(&T``(P,$P`B9C)2BR!+ M4HL0$$B`2,`J`&<@($I2BA"%NKP````B9A`,$P`B9@12BV`&0BK__V`"8-)@ M1"!+4HL0$$B`2,`J`&@`F;(+^8!H@!>6`(&R"\B&+ M"``O"TZZ!DY83U*`U\!2A;JL@O9MX"`%Y8`@;(+R0K`(`&``_HX@`$SO`P`` M!"`((B\`#&`"$-E7R?_\9P9206`"0AA1R?_\3G4P/'__8`0P+P`.(&\`!$H8 M9OQ32")O``A30!#95\C__&<"0A`@+P`$3G4@;P`$(`@B;P`($-EF_$YU3E4` M`"\*)&T`"$H29R0@2E**$!!(@$C`+P!.N@7&6$^PO/____]F"'#_)%].74YU M8-A(>``*3KH%JEA/8.Q.50``2.<.,"1M``A"ITAZ`(Y.N@T84$\I0(,:9@A, MWPQP3EU.=2!M``PB:``D+RD`!$ZZ#4A83R@`9U)(>@!M($0O*``V3KH-&E!/ M)D!*@&@`X3KH,%%!/)4``H"\$3KH,YEA/+RR#&DZZ#$I83T*L@QI@@&EC;VXN;&EB M0!724Y$3U<`*@!.50``+P0I;0`(@LY(;0`0+RT`#$AZ`!I.N@"\3^\` M#"@`(&R"SD(0(`0H'TY=3G5.50``(&R"SE*L@LX0+0`+$(!(@$C`P+P```#_ M3EU.=4Y5``!(YP@@)&T`$`RM````!``49@@@;0`(*!!@%$JM``QO""!M``@H M$&`&(&T`""@00JT`%$JM``QL$D2M``Q*A&P*1(0K?`````$`%"(M``P@!$ZZ M`])![(`^4XH4L`@`(BT`#"`$3KH#RB@`9MY*K0`49P93BA2\`"T@"DS?!!!. M74YU3E7_%$CG"#`D;0`()FT`#$*M__@K;0`0__P@2U*+$!!(@$C`*`!G``,P MN+P````E9@`#"D(M_R(K?`````'_]"M\````(/_P*WP``"<0_^P@2U*+$!!( M@$C`*`"PO````"UF$$*M__0@2U*+$!!(@$C`*`"XO````#!F%"M\````,/_P M($M2BQ`02(!(P"@`N+P````J9AH@;?_\6*W__"M0_^@@2U*+$!!(@$C`*`!@ M-$*M_^A@(G(*("W_Z$ZZ"<#0A)"\````,"M`_^@@2U*+$!!(@$C`*`!![(!1 M"#```D@`9M*XO````"YF8B!+4HL0$$B`2,`H`+"\````*F8:(&W__%BM__PK M4/_L($M2BQ`02(!(P"@`8#1"K?_L8")R"B`M_^Q.N@E6T(20O````#`K0/_L M($M2BQ`02(!(P"@`0>R`40@P``)(`&;2*WP````$_^2XO````&QF%B!+4HL0 M$$B`2,`H`"M\````!/_D8!2XO````&AF#"!+4HL0$$B`2,`H`"`$8'XK?``` M``C_X&`<*WP````*_^!@$BM\````$/_@8`@K?/____;_X"\M_^1(;?\B+RW_ MX"\M__Q.NOVT3^\`$"M`_]P@+?_DT:W__&!:(&W__%BM__PK4/_<+RW_W$ZZ M`AQ83RM`_^1@2B!M__Q8K?_\*!!![?\A*TC_W!"$8"B0O````&-GXE.`9Y20 MO`````MG`/]N68!GM%6`9P#_;E>`9P#_W_(I'M_]PK2/_D("W_Y+"M M_^QO!BMM_^S_Y$JM__1G<"!M_]P,$``M9PHB;?_<#!$`*V8T#*T````P__!F M*E.M_^@@;?_<4JW_W!`02(!(P"\`3I)83["\_____V8*``@"F8*R"XDJ$;0XP+(**2,"X M@&P$2I)F$BE\`````H,*!``0J=.N@+J4$\K0/_\"```#&<22JR"ZF8(("W__$Y=3G5.N@`& M<`!@]$Y5``!(>``$2'H`'DZZ`A`O`$ZZ`B)/[P`,2'@``4ZZ``Q83TY=3G5> M0PH`3E4``$JL@P)G!B!L@P).D"\M``A.N@`(6$].74YU3E7__"\$*VT`"/_\ M2JR"XF`!@"B\$3KH`SEA/4H0P+(**2,"X@&WL,"R"BL'\``8O`"\L@N). MN@(*4$]*K(,&9P8@;(,&3I!*K(,.9PHO+(,.3KH!P%A/2JR#$F<*+RR#$DZZ M`;!83TJL@Q9G"B\L@Q9.N@&@6$\L>``$""X`!`$I9Q0O#4OZ``I.KO_B*E]@ M!D*G\U].3N[_?"(O``0L;(+>3N[_*$[Z``),[P`&``0L;(+>3N[_K$SO``8`!"QL M@MY.[O_B+&R"WD[N_\1.^@`"(B\`!"QL@MY.[O^F3.\`#@`$+&R"WD[N_]!( MYP$$3.\@@``,+&R"VDZN_Y1,WR"`3G5.^@`"(F\`!"QL@MI.[OYB3.\``P`$ M+&R"VD[N_SHB;P`$+&R"VD[N_MHL;(+:3N[_?")O``0@+P`(+&R"VD[N_RX@ M;P`$+&R"VD[N_HPL;(+:(F\`!"`O``A.[OW8(F\`!"QL@MI.[OZ&3.\``P`$ M+&R"VD[N_LX@;P`$+&R"VD[N_H!,[P,```0L;(,:3N[_H"!O``0L;(,:3N[_ MIB!O``0L;(,:3N[_L@```^P````!`````0```D@````````#\@```^H```"C M'QP?'A\>'Q\>'QX?```!@````80```&(```!C````9````&4```!F````9P` M``&@```!I````:@```&L,#$R,S0U-C