/*ARGSUSED*/ void dover(Char **v, struct command *c) { Char *p; setname(short2str(*v++)); if (!*v) { if (!(p = tgetenv(STRSYSTYPE))) stderror(ERR_NAME | ERR_STRING, CGETS(23, 29, "System type is not set")); xprintf("%S\n", p); } else { tsetenv(STRSYSTYPE, getv(*v) ? STRbsd43 : STRsys53); dohash(NULL, NULL); } }
/* fix_version(): * Print a reasonable version string, printing all compile time * options that might affect the user. */ void fix_version(void) { #ifdef WIDE_STRINGS # define SSSTR "wide" #elif defined (SHORT_STRINGS) # define SSSTR "8b" #else # define SSSTR "7b" #endif #ifdef NLS # define NLSSTR ",nls" #else # define NLSSTR "" #endif #ifdef LOGINFIRST # define LFSTR ",lf" #else # define LFSTR "" #endif #ifdef DOTLAST # define DLSTR ",dl" #else # define DLSTR "" #endif #ifdef VIDEFAULT # define VISTR ",vi" #else # define VISTR "" #endif #ifdef TESLA # define DTRSTR ",dtr" #else # define DTRSTR "" #endif #ifdef KAI # define BYESTR ",bye" #else # define BYESTR "" #endif #ifdef AUTOLOGOUT # define ALSTR ",al" #else # define ALSTR "" #endif #ifdef KANJI # define KANSTR ",kan" #else # define KANSTR "" #endif #ifdef SYSMALLOC # define SMSTR ",sm" #else # define SMSTR "" #endif #ifdef HASHBANG # define HBSTR ",hb" #else # define HBSTR "" #endif #ifdef NEWGRP # define NGSTR ",ng" #else # define NGSTR "" #endif #ifdef REMOTEHOST # define RHSTR ",rh" #else # define RHSTR "" #endif #ifdef AFS # define AFSSTR ",afs" #else # define AFSSTR "" #endif #ifdef NODOT # define NDSTR ",nd" #else # define NDSTR "" #endif #ifdef COLOR_LS_F # define COLORSTR ",color" #else /* ifndef COLOR_LS_F */ # define COLORSTR "" #endif /* COLOR_LS_F */ #ifdef DSPMBYTE # define DSPMSTR ",dspm" #else # define DSPMSTR "" #endif #ifdef COLORCAT # define CCATSTR ",ccat" #else # define CCATSTR "" #endif #if defined(FILEC) && defined(TIOCSTI) # define FILECSTR ",filec" #else # define FILECSTR "" #endif /* if you want your local version to say something */ #ifndef LOCALSTR # define LOCALSTR "" #endif /* LOCALSTR */ char *version; const Char *machtype = tgetenv(STRMACHTYPE); const Char *vendor = tgetenv(STRVENDOR); const Char *ostype = tgetenv(STROSTYPE); if (vendor == NULL) vendor = STRunknown; if (machtype == NULL) machtype = STRunknown; if (ostype == NULL) ostype = STRunknown; version = xasprintf( "%s" #ifdef CATCH_EXEC "(%s)" #endif " %d.%.2d.%.2d (%s) %s (%S-%S-%S) options %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", PROG_NAME, #ifdef CATCH_EXEC GDI_VERSION, #endif REV, VERS, PATCHLEVEL, ORIGIN, DATE, machtype, vendor, ostype, SSSTR, NLSSTR, LFSTR, DLSTR, VISTR, DTRSTR, BYESTR, ALSTR, KANSTR, SMSTR, HBSTR, NGSTR, RHSTR, AFSSTR, NDSTR, COLORSTR, DSPMSTR, CCATSTR, FILECSTR, LOCALSTR); cleanup_push(version, xfree); setcopy(STRversion, str2short(version), VAR_READWRITE); cleanup_until(version); version = xasprintf("%d.%.2d.%.2d", REV, VERS, PATCHLEVEL); cleanup_push(version, xfree); setcopy(STRtcsh, str2short(version), VAR_READWRITE); cleanup_until(version); }
/* fix_version(): * Print a reasonable version string, printing all compile time * options that might affect the user. */ void fix_version() { #ifdef SHORT_STRINGS # define SSSTR "8b" #else # define SSSTR "7b" #endif #ifdef NLS # define NLSSTR ",nls" #else # define NLSSTR "" #endif #ifdef LOGINFIRST # define LFSTR ",lf" #else # define LFSTR "" #endif #ifdef DOTLAST # define DLSTR ",dl" #else # define DLSTR "" #endif #ifdef VIDEFAULT # define VISTR ",vi" #else # define VISTR "" #endif #ifdef TESLA # define DTRSTR ",dtr" #else # define DTRSTR "" #endif #ifdef KAI # define BYESTR ",bye" #else # define BYESTR "" #endif #ifdef AUTOLOGOUT # define ALSTR ",al" #else # define ALSTR "" #endif #ifdef KANJI # define KANSTR ",kan" #else # define KANSTR "" #endif #ifdef SYSMALLOC # define SMSTR ",sm" #else # define SMSTR "" #endif #ifdef HASHBANG # define HBSTR ",hb" #else # define HBSTR "" #endif #ifdef NEWGRP # define NGSTR ",ng" #else # define NGSTR "" #endif #ifdef REMOTEHOST # define RHSTR ",rh" #else # define RHSTR "" #endif #ifdef AFS # define AFSSTR ",afs" #else # define AFSSTR "" #endif /* if you want your local version to say something */ #ifndef LOCALSTR # define LOCALSTR "" #endif /* LOCALSTR */ char version[BUFSIZE]; Char *machtype = tgetenv(STRMACHTYPE); Char *vendor = tgetenv(STRVENDOR); Char *ostype = tgetenv(STROSTYPE); if (vendor == NULL) vendor = STRunknown; if (machtype == NULL) machtype = STRunknown; if (ostype == NULL) ostype = STRunknown; (void) xsprintf(version, "tcsh %d.%.2d.%.2d (%s) %s (%S-%S-%S) options %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", REV, VERS, PATCHLEVEL, ORIGIN, DATE, machtype, vendor, ostype, SSSTR, NLSSTR, LFSTR, DLSTR, VISTR, DTRSTR, BYESTR, ALSTR, KANSTR, SMSTR, HBSTR, NGSTR, RHSTR, AFSSTR, LOCALSTR); set(STRversion, SAVE(version), VAR_READWRITE); (void) xsprintf(version, "%d.%.2d.%.2d", REV, VERS, PATCHLEVEL); set(STRtcsh, SAVE(version), VAR_READWRITE); }
Ptr<ExtendEntityManager> &EntityApp::entityManager() { if (!entityManager_.isNull()) return entityManager_; PosixStorageManager *sm = new PosixStorageManager("OSFILE", systemCharset_.desc(), #ifndef SP_WIDE_SYSTEM codingSystem(), #endif 5); size_t i; for (i = 0; i < searchDirs_.size(); i++) sm->addSearchDir(convertInput(searchDirs_[i])); { const AppChar *e = tgetenv(SP_T("SGML_SEARCH_PATH")); if (!e) e = SGML_SEARCH_PATH_DEFAULT; if (*e) { StringC str(convertInput(e)); size_t i = 0; size_t start = 0; for (;;) { if (i == str.size() || str[i] == FILE_SEP) { sm->addSearchDir(StringC(str.data() + start, i - start)); if (i == str.size()) break; start = ++i; } else i++; } } } entityManager_ = ExtendEntityManager::make(sm, codingSystem()); entityManager_ ->registerStorageManager(new PosixFdStorageManager("OSFD", systemCharset_.desc())); entityManager_->registerStorageManager(new URLStorageManager("URL")); entityManager_->registerStorageManager(new LiteralStorageManager("LITERAL")); for (i = 0;; i++) { const char *s; const CodingSystem *p = codingSystem(i, s); if (!p) break; entityManager_->registerCodingSystem(s, p); } #ifdef SP_MULTI_BYTE for (i = 0; i < SIZEOF(inputCodingSystems); i++) entityManager_->registerCodingSystem(inputCodingSystems[i].name, inputCodingSystems[i].cs); #endif Vector<StringC> v; for (i = 0; i < catalogSysids_.size(); i++) // filenames specified on command-line must exist v.push_back(convertInput(catalogSysids_[i])); { const AppChar *e = tgetenv(SP_T("SGML_CATALOG_FILES")); if (!e) e = SGML_CATALOG_FILES_DEFAULT; if (*e) { StringC str(convertInput(e)); size_t i = 0; size_t start = 0; for (;;) { if (i == str.size() || str[i] == FILE_SEP) { v.push_back(StringC(str.data() + start, i - start)); if (i == str.size()) break; start = ++i; } else i++; } } } entityManager_->setCatalogManager(SOCatalogManager::make(v, catalogSysids_.size(), systemCharset_, systemCharset_)); return entityManager_; }