amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator) (03/14/91)
Submitted-by: d0pbm@dtek.chalmers.se (Per Bergehed) Posting-number: Volume 91, Issue 059 Archive-name: utilities/bytes-1.10/part01 This program will display the number of free bytes on selected drive: Syntax: Bytes [DRIVE:] #!/bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 1 (of 1)." # Contents: bytes.c # Wrapped by tadguy@ab20 on Wed Mar 13 20:17:23 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'bytes.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bytes.c'\" else echo shar: Extracting \"'bytes.c'\" \(3040 characters\) sed "s/^X//" >'bytes.c' <<'END_OF_FILE' X/*-------------------------------------------------------------------------*/ X/* Bytes v1.10 Released to the Public Domain 1991.01.04 /PBM/ Per Bergehed */ X/*-------------------------------------------------------------------------*/ X/* s-nail: Per Bergehed * This code is not a "good" example of */ X/* Richertsgatan 2C/3003 * C Programming, but hopefully there */ X/* 412 81 Gothenburg * is something usable !? */ X/* SWEDEN * There shouldn't be any problems if */ X/* e-mail: d0pbm@dtek.chalmers.se * you want to modify it to not use ARP */ X/*-------------------------------------------------------------------------*/ X/* X This program will display the number of free bytes on selected drive: X X Syntax: Bytes [DRIVE:] X*/ X/*-------------------------------------------------------------------------*/ X/* X I compiled this source with Lattice C as follows: X X LC -v Bytes.c X BLINK LIB:arpc.o RAM:bytes.o TO RAM:Bytes LIB lib:arp.lib,lib:amiga.lib,lib:lc.lib SD SC ND X X*/ X/*-------------------------------------------------------------------------*/ X X#include <exec/types.h> X#include <stdlib.h> X#include <string.h> X#include <dos.h> X#include <libraries/arpbase.h> X#include <libraries/arp_pragmas.h> X#include <arpfunctions.h> X X X X#define Kb 1024L X#define Mb (Kb*Kb) X X X Xchkabort (void) {} /* dummy to get rid of chkabort() */ X X X Xstruct DISKINFO info; X X X Xvoid _main(argv) Xregister char *argv; X{ X register char MyPath[255]; X register char *myptr = MyPath; X X while (*argv != ' ') X argv++; X while (*argv == ' ') X argv++; /* argv now points to command line argument */ X X if ( *argv == '\x0a' ) /* no argument -> get current directory */ X { X if (getcd(0,MyPath)) goto error; /* getcd() - AMIGA function */ X } X else /* get argument */ X { X while (*argv != '\x0a') X { X *myptr = *argv; X myptr++; X argv++; X } X myptr = MyPath; X } X X if (!getdfs (myptr,&info)) /* getdfs() - AMIGA function */ X { X register long bytes = (long) (info.id_NumBlocks - info.id_NumBlocksUsed) * info.id_BytesPerBlock; X X Printf("%s ",myptr); X X if (bytes > Mb) X { X register long Mbytes = bytes / Mb; X register long Kbytes = (bytes % Mb) / 100000; X Printf("%ld.%ld Mb",Mbytes,Kbytes); X } X else Printf("%ld bytes",bytes); X X Printf(" free.\n"); X return; /* normal exit */ X } X Xerror: X X Printf("\n\2331;33m Bytes\2330m\2331;31m Version 1.10 Public Domain 1990 /PBM/ Per Bergehed.\2330m\n"); X Printf(" - to contact me send e-mail to: d0pbm@dtek.chalmers.se -\n"); X Printf("\n Syntax:\2331;33m Bytes\2330m [DRIVE:]\n\n"); X Xreturn; /* error exit! */ X} X//*-------------------------------------------------------------------------*/ X X X END_OF_FILE if test 3040 -ne `wc -c <'bytes.c'`; then echo shar: \"'bytes.c'\" unpacked with wrong size! fi # end of 'bytes.c' fi echo shar: End of archive 1 \(of 1\). cp /dev/null ark1isdone MISSING="" for I in 1 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have the archive. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Mail submissions (sources or binaries) to <amiga@uunet.uu.net>. Mail comments to the moderator at <amiga-request@uunet.uu.net>. Post requests for sources, and general discussion to comp.sys.amiga.misc.