add: if ((ResourcesPntr = AppResources ()) != NULL && (ResourceData = ResourcesPntr->LoadResource ('CURS', "Busy Cursor", &ResourceSize)) != NULL && ResourceSize >= 68 ) g_BusyCursor = new BCursor (ResourceData);
context: ABSApp::ABSApp (): BApplication (g_ABSAppSignature),  m_DatabaseHasChanged (false),  m_SettingsHaveChanged (false){  status_t    ErrorCode;  int         HalvingCount;  int         i;  MakeDatabaseEmpty ();  /* Set up the pathname which identifies our settings directory.  Note that  the actual settings are loaded later on (or set to defaults) by the main()  function, before this BApplication starts running.  So we don't bother  initialising the other setting related variables here. */  ErrorCode =    find_directory (B_USER_SETTINGS_DIRECTORY, &m_SettingsDirectoryPath);  if (ErrorCode == B_OK)    ErrorCode = m_SettingsDirectoryPath.Append (g_SettingsDirectoryName);  if (ErrorCode != B_OK)    m_SettingsDirectoryPath.SetTo (".");  /* Set up the table which identifies which characters are spaces and which  are not.  Spaces are all control characters and all punctuation except for:  apostrophe (so "it's" and possessive versions of words get stored), dash (for  hyphenated words), dollar sign (for cash amounts), period (for IP addresses,  we later remove trailing periods). */  memset (m_SpaceCharacters, 1, sizeof (m_SpaceCharacters));  m_SpaceCharacters['\''] = false;  m_SpaceCharacters['-'] = false;  m_SpaceCharacters['$'] = false;  m_SpaceCharacters['.'] = false;  for (i = '0'; i <= '9'; i++)    m_SpaceCharacters[i] = false;  for (i = 'A'; i <= 'Z'; i++)    m_SpaceCharacters[i] = false;  for (i = 'a'; i <= 'z'; i++)    m_SpaceCharacters[i] = false;  /* Find out the smallest usable double by seeing how small we can make it. */  m_SmallestUseableDouble = 1.0;  HalvingCount = 0;  while (HalvingCount < 10000 && m_SmallestUseableDouble > 0.0)  {    HalvingCount++;    m_SmallestUseableDouble /= 2;  }  /* Recreate the number.  But don't make quite as small, we want to allow some  precision bits and a bit of extra margin for intermediate results in future  calculations. */  HalvingCount -= 50 + sizeof (double) * 8;  m_SmallestUseableDouble = 1.0;  while (HalvingCount > 0)  {    HalvingCount--;    m_SmallestUseableDouble /= 2;  }}