

#include <dos/dos.h>
#include <workbench/startup.h>
#include <workbench/workbench.h>
#include <workbench/icon.h>
#include <clib/exec_protos.h>
#include <clib/icon_protos.h>

#define VERSION 33
#define PRGTEXT "\nProgram: "
#define NAMNTEXT "\nNamn: "
#define ICONTEXT "\nIkon: "
#define SHELLTEXT "\nStarta ifrån Workbench!\n"

extern struct WBStartup *WBenchMsg;

struct Library *IconBase;

int main(int argc, char **argv)
{
 struct WBArg      *wbarg;
 struct DiskObject *dobj;
 UBYTE             **tools,*textp;
 BPTR		   fh;
 LONG		   argnum;

 if(!argc) {
	if(!(fh = Open("CON:10/10/400/100/WBtest",MODE_NEWFILE)))
		exit(10);
        IconBase = OpenLibrary((UBYTE *)"icon.library",VERSION);
	if(!IconBase) {
		Close(fh);
		exit(10);
	}
        wbarg = WBenchMsg->sm_ArgList;
	argnum = WBenchMsg->sm_NumArgs;

	Write(fh,PRGTEXT,strlen(PRGTEXT));
	Write(fh,wbarg->wa_Name,strlen(wbarg->wa_Name));

        dobj = GetDiskObject((UBYTE *)wbarg->wa_Name);
        tools = (UBYTE **)dobj->do_ToolTypes;
        if(textp = FindToolType(tools,(UBYTE *)"NAMN")) {
		Write(fh,NAMNTEXT,strlen(NAMNTEXT));
		Write(fh,textp,strlen(textp));
	}
	FreeDiskObject(dobj);

	for(wbarg++; --argnum; wbarg++) {
		Write(fh,ICONTEXT,strlen(ICONTEXT));
		Write(fh,wbarg->wa_Name,strlen(wbarg->wa_Name));
	}

	CloseLibrary(IconBase);
	Delay(200);
	Close(fh);
 }
 else
	Write(Output(),SHELLTEXT,strlen(SHELLTEXT));
}
