#line 1 "/src.code/printer.dumper/util.c"#include #include #include #pragma lint -1#pragma optimize -1#pragma noroot/* these are prototyped in the Orca/C manual, but not in any header */extern pascal void SystemQuitFlags (unsigned int);extern pascal void SystemQuitPath (GSString255Ptr);extern void exit(int);/* * rexit - from GNO/ME's libraries */void rexit (int code){ SystemQuitFlags (0x4000); SystemQuitPath (NULL); exit(code);}GSString255 * __P2GSMalloc(const char *cp){Word i;GSString255* tmp; tmp = NULL; i = cp ? *cp : 0; // pstring if (i) { tmp = (GSString255 *)malloc(i+2); if (tmp) { tmp->length = i; memcpy(tmp->text, cp + 1, i); } } return tmp;}/* * like gno/me has * */GSString255* __C2GSMalloc(const char *cp){GSString255 * tmp;Word i; i = cp ? strlen(cp) : 0; tmp = i ? malloc(i+2) : NULL; if (tmp) { tmp->length = i; memcpy(tmp->text, cp, i); } return tmp;}char * Basename(const GSString255 *gstr){register Word i;Word disp = 0;char *ret;word len; for (i = 0; i < gstr->length; i++) { if (gstr->text[i] == ':' || gstr->text[i] == '/') disp = i + 1; } len = gstr->length - disp; ret = (char *)malloc(len + 1); memcpy(ret, gstr->text + disp, len); ret[len] = (char)0; return ret;}