This is trafo.m in view mode; [Download] [Up]
// leicht modifiziert, liest jetzt aus angegebenem Pasteboard statt aus Datei #import <appkit/appkit.h> #import "PBTypes.h" #import "PBNames.h" int main (int argc, char * argv []) { [Application new]; // anscheinend nötig... if (argc > 1) { id pb; NXAtom type; char * buf; int len; id src; NXAtom pbKey; pbKey = argv[1][0] == '-' ? [[PBNames new] key:argv[1]+1] : NXUniqueString(argv[1]); src = [Pasteboard newName:pbKey]; if (! (pb = [Pasteboard newByFilteringTypesInPasteboard:src])) fprintf(stderr, "%s: cannot filter\n", *argv), exit(1); if (argc > 2) type = argv[2][0] == '-' ? [[PBTypes new] type:argv[2]+1] : NXUniqueString(argv[2]); else { char * p = strrchr(argv[0], '/'); if (! p) p = argv[0]; else ++ p; type = [[PBTypes new] type:p]; } if (! (type = [pb findAvailableTypeFrom:&type num:1])) [pb error:"no type\n"]; else if ([pb readType:type data:&buf length:&len]) { fwrite(buf, len, 1, stdout); [pb deallocatePasteboardData:buf length:len]; } else [pb error:"no data\n"]; } return 0; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.