/************************************************************ retool.c By: Stephen Vermeulen Copyright (C) 1987 By Stephen Vermeulen Use this tool to set the default tool string of an icon. It has the following syntax: retool file [tool] ************************************************************/ #include #include #include #include #define NO_ICONS 4 extern ULONG IconBase; /************************************************************ The following routine just opens the libraries ************************************************************/ short OpenLibs() { short flags; /* any libraries that do not open get recorded here */ flags = 0; IconBase = (ULONG) OpenLibrary("icon.library", 0L); if (!IconBase) flags |= NO_ICONS; return(flags); } void CloseLibs(flags) short flags; { if (!(flags & NO_ICONS)) CloseLibrary(IconBase); } void main(argc, argv) short argc; char *argv[]; { short lib_flags, icon_type; struct DiskObject *dobj; if (argc == 3) { lib_flags = OpenLibs(); if (!lib_flags) { if (dobj = GetDiskObject(argv[1])) { dobj->do_DefaultTool = argv[2]; PutDiskObject(argv[1], dobj); FreeDiskObject(dobj); } } CloseLibs(lib_flags); } else if (argc == 2) { lib_flags = OpenLibs(); if (!lib_flags) { if (dobj = GetDiskObject(argv[1])) { printf("Default Tool: %s\n", dobj->do_DefaultTool); FreeDiskObject(dobj); } } CloseLibs(lib_flags); } else { printf("Syntax is: retool icon [tool]\n"); printf("This is version 1.00\n"); printf("Written and Copyright (C) 1987 by: Stephen Vermeulen\n"); printf(" 3635 Utah Dr. N.W.,\n"); printf(" Calgary, Alberta,\n"); printf(" CANADA, T2N 4A6\n"); printf("\n (403) 282-7990\n"); printf("\nSupport more Vware, send a donation or a bug report...\n"); printf("This program may be freely distributed so long as no\n"); printf("charge is made for such distribution.\n"); } }