#pragma noroot/* (C) 1998, 1999 Kelvin W Sherlock * * 1WSW sucks * */#define sfFileTypeEntriesLength 0x0001#include #include #include #include #include "pd.h"#pragma optimize -1#pragma lint -1/* * present a dialog box & send all selected files to the the printer * * * */// allow all files to be selectedSFTypeList2 List ={ 1, { 0xC000, 0, 0 } }; //Word LList[] = {1, 0xc000, 0, 0, 0 };MultiReplyRecord Reply;void DoOpen(void){Word i;//'volatile' prevents wrongly optimizing by O/C// (the inline assembly confuses it)fileEntryRec *volatile p;Word count;GSString255 *tmp; SFMultiGet2 ( 0x78, 0x2b, 0, (Ref)"\pSelect files to dump:", NULL, // filterproc &List, &Reply); if (count = Reply.good) { //asm { brk 0xea } HLock((Handle)Reply.namesHandle); p = *((fileEntryRec **)Reply.namesHandle); asm //move past the header (word) { lda #2 clc adc

fileType != 0x0f) { tmp = __P2GSMalloc(&p->nameLength); if (tmp) { do_it(tmp); free(tmp); } } asm // move to the next entry { ldy #6 // offset to prefix byte; lda [p],y // pstring - length of string and #0xff // strip it clc // +2 for ftype, +4 for aux + 1 for length byte adc #7 adc