35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
INCLUDE "NSLOG.INCL"
|
|
|
|
LOCAL FN RUNTERMINALCOMMAND( CMD AS CFSTRINGREF ) AS CFSTRINGREF
|
|
CFSTRINGREF OUTPUTSTR = NULL
|
|
|
|
TASKREF TASK = FN TASKINIT
|
|
TASKSETEXECUTABLEURL( TASK, FN URLFILEURLWITHPATH( FN STRINGLOWERCASESTRING( @"/BIN/ZSH" ) ) )
|
|
CFSTRINGREF CMDSTR = FN STRINGWITHFORMAT( @"%@", FN STRINGLOWERCASESTRING( CMD ) )
|
|
CFARRAYREF ARGS = FN ARRAYWITHOBJECTS( FN STRINGLOWERCASESTRING( @"-C" ), CMDSTR, NULL )
|
|
TASKSETARGUMENTS( TASK, ARGS )
|
|
|
|
PIPEREF P = FN PIPEINIT
|
|
TASKSETSTANDARDOUTPUT( TASK, P )
|
|
TASKSETSTANDARDERROR( TASK, P )
|
|
FILEHANDLEREF FH = FN PIPEFILEHANDLEFORREADING( P )
|
|
|
|
FN TASKLAUNCH( TASK, NULL )
|
|
TASKWAITUNTILEXIT( TASK )
|
|
|
|
ERRORREF ERR
|
|
CFDATAREF DTA = FN FILEHANDLEREADDATATOENDOFFILE( FH, @ERR )
|
|
IF ERR THEN NSLOG( @"%@", FN ERRORLOCALIZEDDESCRIPTION( ERR ) ) : EXIT FN
|
|
OUTPUTSTR = FN STRINGWITHDATA( DTA, NSUTF8STRINGENCODING )
|
|
OUTPUTSTR = FN STRINGUPPERCASESTRING( OUTPUTSTR )
|
|
END FN = OUTPUTSTR
|
|
|
|
VOID LOCAL FN BUILDSNOOPYCALENDAR
|
|
CFSTRINGREF CALSTR = FN STRINGWITHFORMAT( FN STRINGLOWERCASESTRING( @"\n%37S\n\n%@" ), FN STRINGUTF8STRING( @"[SNOOPY HERE]" ), FN RUNTERMINALCOMMAND( FN STRINGLOWERCASESTRING( @"CAL 1969" ) ) )
|
|
NSLOG( @"%@", CALSTR )
|
|
END FN
|
|
|
|
FN BUILDSNOOPYCALENDAR
|
|
|
|
HANDLEEVENTS
|