URI: 
       tdevdraw: simplify mac file names - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit db20f89c3286f277945ac4307f789a9980d31bf6
   DIR parent f177c0ba18193fb89ad1b5d84eac2906e8c3b4f1
  HTML Author: Russ Cox <rsc@swtch.com>
       Date:   Wed,  8 Jan 2020 19:54:43 -0500
       
       devdraw: simplify mac file names
       
       Now that we only have Metal, we can drop the -metal.
       Also now that Carbon is gone we can drop the macargv.c,
       and then the -objc from object file names.
       
       Diffstat:
         R src/cmd/devdraw/cocoa-screen-metal… |       0 
         D src/cmd/devdraw/macargv.c           |      90 -------------------------------
         M src/cmd/devdraw/mkfile              |       9 +++------
         M src/cmd/devdraw/mkwsysrules.sh      |       4 ++--
       
       4 files changed, 5 insertions(+), 98 deletions(-)
       ---
   DIR diff --git a/src/cmd/devdraw/cocoa-screen-metal.m b/src/cmd/devdraw/cocoa-screen.m
   DIR diff --git a/src/cmd/devdraw/macargv.c b/src/cmd/devdraw/macargv.c
       t@@ -1,90 +0,0 @@
       -#include <u.h>
       -#include <stdio.h>
       -#include <Carbon/Carbon.h>
       -
       -AUTOFRAMEWORK(Carbon)
       -
       -static OSErr Handler(const AppleEvent *event, AppleEvent *reply, long handlerRefcon);
       -
       -int
       -main(void)
       -{
       -        AEInstallEventHandler(kCoreEventClass, kAEOpenDocuments, Handler, 0, false);
       -        RunApplicationEventLoop();
       -        return 0;
       -}
       -
       -static OSErr
       -GetFullPathname(FSSpec *fss, char *path, int len)
       -{
       -        FSRef fsr;
       -        OSErr err;
       -
       -        *path = '\0';
       -        err = FSpMakeFSRef(fss, &fsr);
       -        if (err == fnfErr) {
       -                /* FSSpecs can point to non-existing files, fsrefs can't. */
       -                FSSpec fss2;
       -                int tocopy;
       -
       -                err = FSMakeFSSpec(fss->vRefNum, fss->parID,
       -                                   (unsigned char*)"", &fss2);
       -                if (err)
       -                        return err;
       -                err = FSpMakeFSRef(&fss2, &fsr);
       -                if (err)
       -                        return err;
       -                err = (OSErr)FSRefMakePath(&fsr, (unsigned char*)path, len-1);
       -                if (err)
       -                        return err;
       -                /* This part is not 100% safe: we append the filename part, but
       -                ** I'm not sure that we don't run afoul of the various 8bit
       -                ** encodings here. Will have to look this up at some point...
       -                */
       -                strcat(path, "/");
       -                tocopy = fss->name[0];
       -                if ((strlen(path) + tocopy) >= len)
       -                        tocopy = len - strlen(path) - 1;
       -                if (tocopy > 0)
       -                        strncat(path, (char*)fss->name+1, tocopy);
       -        }
       -        else {
       -                if (err)
       -                        return err;
       -                err = (OSErr)FSRefMakePath(&fsr, (unsigned char*)path, len);
       -                if (err)
       -                        return err;
       -        }
       -        return 0;
       -}
       -
       -static void
       -chk(int err)
       -{
       -        if(err != 0) {
       -                printf("err %d\n", err);
       -                exit(1);
       -        }
       -}
       -
       -static OSErr
       -Handler(const AppleEvent *event, AppleEvent *reply, long handlerRefcon)
       -{
       -        AEDesc list;
       -        DescType type;
       -        FSSpec f;
       -        AEKeyword keyword;
       -        Size actual;
       -        long len;
       -        char s[1000];
       -
       -        chk(AEGetParamDesc(event, keyDirectObject, typeAEList, &list));
       -        chk(AECountItems(&list, &len));
       -        chk(AEGetNthPtr(&list, 1, typeFSS, &keyword, &type, (Ptr*)&f, sizeof(FSSpec), &actual));
       -        chk(GetFullPathname(&f, s, sizeof s));
       -        printf("%s\n", s);
       -        fflush(stdout);
       -
       -        // uncomment to keep handling more open events
       -        exit(0);
       -}
   DIR diff --git a/src/cmd/devdraw/mkfile b/src/cmd/devdraw/mkfile
       t@@ -37,13 +37,10 @@ latin1.h: $PLAN9/lib/keyboard $O.mklatinkbd
        $O.macargv: $MACARGV
                $LD -o $target $prereq
        
       -cocoa-screen-metal-objc.$O: cocoa-screen-metal.m
       -        $CC $CFLAGS $OBJCFLAGS -o $target cocoa-screen-metal.m
       +%.$O: %.m
       +        $CC $CFLAGS $OBJCFLAGS -o $target $stem.m
        
       -%-objc.$O: %.m
       -        $CC $CFLAGS -o $target $stem.m
       -
       -CLEANFILES=$O.macargv $O.mklatinkbd latin1.h
       +CLEANFILES=$O.devdraw $O.macargv $O.mklatinkbd latin1.h
        
        install: mklatinkbd.install
        install:Q: 
   DIR diff --git a/src/cmd/devdraw/mkwsysrules.sh b/src/cmd/devdraw/mkwsysrules.sh
       t@@ -53,8 +53,8 @@ if [ $WSYSTYPE = x11 ]; then
                echo 'WSYSOFILES=$WSYSOFILES '$XO
        elif [ $WSYSTYPE = osx-cocoa ]; then
                echo 'OBJCFLAGS=$OBJCFLAGS -fobjc-arc'
       -        echo 'WSYSOFILES=$WSYSOFILES osx-draw.o cocoa-screen-metal-objc.o cocoa-srv.o cocoa-thread.o'
       -        echo 'MACARGV=macargv-objc.o'
       +        echo 'WSYSOFILES=$WSYSOFILES osx-draw.o cocoa-screen.o cocoa-srv.o cocoa-thread.o'
       +        echo 'MACARGV=macargv.o'
        elif [ $WSYSTYPE = nowsys ]; then
                echo 'WSYSOFILES=nowsys.o'
        fi