void nsStyleLinkElement::ParseLinkTypes(const nsAString& aTypes, nsStringArray& aResult) { nsAString::const_iterator start, done; aTypes.BeginReading(start); aTypes.EndReading(done); if (start == done) return; nsAString::const_iterator current(start); PRBool inString = !nsCRT::IsAsciiSpace(*current); nsAutoString subString; while (current != done) { if (nsCRT::IsAsciiSpace(*current)) { if (inString) { ToLowerCase(Substring(start, current), subString); aResult.AppendString(subString); inString = PR_FALSE; } } else { if (!inString) { start = current; inString = PR_TRUE; } } ++current; } if (inString) { ToLowerCase(Substring(start, current), subString); aResult.AppendString(subString); } }
//---------------------------------------------------------------------- nsresult GlobalPrinters::InitializeGlobalPrinters () { if (PrintersAreAllocated()) return NS_OK; mGlobalNumPrinters = 0; #ifdef USE_POSTSCRIPT mGlobalPrinterList = new nsStringArray(); if (!mGlobalPrinterList) return NS_ERROR_OUT_OF_MEMORY; /* add an entry for the default printer (see nsPostScriptObj.cpp) */ mGlobalPrinterList->AppendString( nsString(NS_ConvertASCIItoUCS2(NS_POSTSCRIPT_DRIVER_NAME "default"))); mGlobalNumPrinters++; /* get the list of printers */ char *printerList = nsnull; /* the env var MOZILLA_PRINTER_LIST can "override" the prefs */ printerList = PR_GetEnv("MOZILLA_PRINTER_LIST"); if (!printerList) { nsresult rv; nsCOMPtr<nsIPref> pPrefs = do_GetService(NS_PREF_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) { (void) pPrefs->CopyCharPref("print.printer_list", &printerList); } } if (printerList) { char *tok_lasts; char *name; /* PL_strtok_r() will modify the string - copy it! */ printerList = strdup(printerList); if (!printerList) return NS_ERROR_OUT_OF_MEMORY; for( name = PL_strtok_r(printerList, " ", &tok_lasts) ; name != nsnull ; name = PL_strtok_r(nsnull, " ", &tok_lasts) ) { mGlobalPrinterList->AppendString( nsString(NS_ConvertASCIItoUCS2(NS_POSTSCRIPT_DRIVER_NAME)) + nsString(NS_ConvertASCIItoUCS2(name))); mGlobalNumPrinters++; } free(printerList); } #endif /* USE_POSTSCRIPT */ if (mGlobalNumPrinters == 0) return NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE; return NS_OK; }
nsresult NameSpaceManagerImpl::GetNameSpaceURI(PRInt32 aNameSpaceID, nsAString& aURI) { NS_PRECONDITION(aNameSpaceID >= 0, "Bogus namespace ID"); PRInt32 index = aNameSpaceID - 1; // id is index + 1 if (index < 0 || index >= mURIArray.Count()) { aURI.Truncate(); return NS_ERROR_ILLEGAL_VALUE; } mURIArray.StringAt(index, aURI); return NS_OK; }
nsresult NameSpaceManagerImpl::AddNameSpace(const nsAString& aURI, const PRInt32 aNameSpaceID) { if (aNameSpaceID < 0) { // We've wrapped... Can't do anything else here; just bail. return NS_ERROR_OUT_OF_MEMORY; } NS_ASSERTION(aNameSpaceID - 1 == mURIArray.Count(), "BAD! AddNameSpace not called in right order!"); if (!mURIArray.AppendString(aURI)) { return NS_ERROR_OUT_OF_MEMORY; } const nsString* uri = mURIArray.StringAt(aNameSpaceID - 1); if (!mURIToIDTable.Put(uri, aNameSpaceID)) { mURIArray.RemoveStringAt(aNameSpaceID - 1); return NS_ERROR_OUT_OF_MEMORY; } return NS_OK; }
nsresult GlobalPrinters::InitializeGlobalPrinters () { if (PrintersAreAllocated()) return NS_OK; mGlobalNumPrinters = 0; mGlobalNumPrinters = nsDeviceContextSpecOS2::PrnDlg.GetNumPrinters(); if (!mGlobalNumPrinters) return NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE; mGlobalPrinterList = new nsStringArray(); if (!mGlobalPrinterList) return NS_ERROR_OUT_OF_MEMORY; nsresult rv; nsCOMPtr<nsIPrefBranch> pPrefs = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv); BOOL prefFailed = NS_FAILED(rv); // don't return on failure, optional feature for (ULONG i = 0; i < mGlobalNumPrinters; i++) { nsXPIDLCString printer; nsDeviceContextSpecOS2::PrnDlg.GetPrinter(i, getter_Copies(printer)); nsAutoChar16Buffer printerName; PRInt32 printerNameLength; rv = MultiByteToWideChar(0, printer, strlen(printer), printerName, printerNameLength); mGlobalPrinterList->AppendString(nsDependentString(printerName.Elements())); // store printer description in prefs for the print dialog if (!prefFailed) { nsCAutoString printerDescription; printerDescription = nsCAutoString(nsDeviceContextSpecOS2::PrnDlg.GetPrintDriver(i)->szDeviceName); printerDescription += " ("; printerDescription += nsCAutoString(nsDeviceContextSpecOS2::PrnDlg.GetDriverType(i)); printerDescription += ")"; pPrefs->SetCharPref(nsPrintfCString(256, "print.printer_%s.printer_description", printer.get()).get(), printerDescription.get()); } } return NS_OK; }
nsresult NameSpaceManagerImpl::RegisterNameSpace(const nsAString& aURI, PRInt32& aNameSpaceID) { if (aURI.IsEmpty()) { aNameSpaceID = kNameSpaceID_None; // xmlns="", see bug 75700 for details return NS_OK; } nsresult rv = NS_OK; if (!mURIToIDTable.Get(&aURI, &aNameSpaceID)) { aNameSpaceID = mURIArray.Count() + 1; // id is index + 1 rv = AddNameSpace(aURI, aNameSpaceID); if (NS_FAILED(rv)) { aNameSpaceID = kNameSpaceID_Unknown; } } NS_POSTCONDITION(aNameSpaceID >= -1, "Bogus namespace ID"); return rv; }
//---------------------------------------------------------------------- nsresult GlobalPrinters::InitializeGlobalPrinters () { if (PrintersAreAllocated()) { return NS_OK; } mGlobalPrinterList = new nsStringArray(); if (!mGlobalPrinterList) return NS_ERROR_OUT_OF_MEMORY; nsresult rv; nsCOMPtr<nsIPrefBranch> pPrefs = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv); if (NS_FAILED(rv)) return rv; #ifdef USE_POSTSCRIPT nsPSPrinterList psMgr; if (NS_SUCCEEDED(psMgr.Init()) && psMgr.Enabled()) { /* Get the list of PostScript-module printers */ nsCStringArray printerList; psMgr.GetPrinterList(printerList); printerList.EnumerateForwards(GlobalPrinterEnumFunc, mGlobalPrinterList); } #endif /* USE_POSTSCRIPT */ /* If there are no printers available after all checks, return an error */ if (!mGlobalPrinterList->Count()) { /* Make sure we do not cache an empty printer list */ FreeGlobalPrinters(); return NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE; } return NS_OK; }
PRBool nsAbIPCCard::Equals(nsABCOMCardStruct * card, nsStringArray & differingAttrs) { if(!card) return PR_FALSE; differingAttrs.Clear(); if(card->firstName) if (Compare(nsDependentString(card->firstName), m_FirstName, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kFirstNameColumn)); if(card->lastName) if (Compare(nsDependentString(card->lastName), m_LastName, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kLastNameColumn)); if(card->displayName) if (Compare(nsDependentString(card->displayName), m_DisplayName, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kDisplayNameColumn)); if(card->nickName) if (Compare(nsDependentString(card->nickName), m_NickName, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kNicknameColumn)); if(card->primaryEmail) if (Compare(nsDependentString(card->primaryEmail), m_PrimaryEmail, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kPriEmailColumn)); if(card->secondEmail) if (Compare(nsDependentString(card->secondEmail), m_SecondEmail, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(k2ndEmailColumn)); if(card->workPhone) if (Compare(nsDependentString(card->workPhone), m_WorkPhone, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkPhoneColumn)); if(card->homePhone) if (Compare(nsDependentString(card->homePhone), m_HomePhone, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomePhoneColumn)); if(card->faxNumber) if (Compare(nsDependentString(card->faxNumber), m_FaxNumber, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kFaxColumn)); if(card->pagerNumber) if (Compare(nsDependentString(card->pagerNumber), m_PagerNumber, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kPagerColumn)); if(card->cellularNumber) if (Compare(nsDependentString(card->cellularNumber), m_CellularNumber, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kCellularColumn)); // card has home and work addresses joined, but "this" has them split if(card->homeAddress) if (Compare(nsDependentString(card->homeAddress), m_HomeAddress, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomeAddressColumn)); if(card->homeAddress2) if (Compare(nsDependentString(card->homeAddress2), m_HomeAddress2, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomeAddress2Column)); if(card->homeCity) if (Compare(nsDependentString(card->homeCity), m_HomeCity, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomeCityColumn)); if(card->homeState) if (Compare(nsDependentString(card->homeState), m_HomeState, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomeStateColumn)); if(card->homeZipCode) if (Compare(nsDependentString(card->homeZipCode), m_HomeZipCode, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomeZipCodeColumn)); if(card->homeCountry) if (Compare(nsDependentString(card->homeCountry), m_HomeCountry, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kHomeCountryColumn)); // card->workAddress is Joined, m_workAddress and m_workAddress2 are split if(card->workAddress) if (Compare(nsDependentString(card->workAddress), m_WorkAddress, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkAddressColumn)); if(card->workAddress2) if (Compare(nsDependentString(card->workAddress2), m_WorkAddress2, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkAddress2Column)); if(card->workCity) if (Compare(nsDependentString(card->workCity), m_WorkCity, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkCityColumn)); if(card->workState) if (Compare(nsDependentString(card->workState), m_WorkState, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkStateColumn)); if(card->workZipCode) if (Compare(nsDependentString(card->workZipCode), m_WorkZipCode, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkZipCodeColumn)); if(card->workCountry) if (Compare(nsDependentString(card->workCountry), m_WorkCountry, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWorkCountryColumn)); if(card->jobTitle) if (Compare(nsDependentString(card->jobTitle), m_JobTitle, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kJobTitleColumn)); if(card->department) if (Compare(nsDependentString(card->department), m_Department, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kDepartmentColumn)); if(card->company) if (Compare(nsDependentString(card->company), m_Company, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kCompanyColumn)); if(card->webPage1) if (Compare(nsDependentString(card->webPage1), m_WebPage1, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWebPage1Column)); if(card->webPage2) if (Compare(nsDependentString(card->webPage2), m_WebPage2, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kWebPage2Column)); if(card->birthYear) if (Compare(nsDependentString(card->birthYear), m_BirthYear, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kBirthYearColumn)); if(card->birthMonth) if (Compare(nsDependentString(card->birthMonth), m_BirthMonth, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kBirthMonthColumn)); if(card->birthDay) if (Compare(nsDependentString(card->birthDay), m_BirthDay, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kBirthDayColumn)); if(card->custom1) if (Compare(nsDependentString(card->custom1), m_Custom1, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kCustom1Column)); if(card->custom2) if (Compare(nsDependentString(card->custom2), m_Custom2, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kCustom2Column)); if(card->custom3) if (Compare(nsDependentString(card->custom3), m_Custom3, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kCustom3Column)); if(card->custom4) if (Compare(nsDependentString(card->custom4), m_Custom4, nsCaseInsensitiveStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kCustom4Column)); if (card->isMailList != m_IsMailList) differingAttrs.AppendString(NS_LITERAL_STRING(kMailListName)); if(card->mailListURI) { nsCAutoString str(card->mailListURI); if (str.Equals(m_MailListURI, nsCaseInsensitiveCStringComparator())) differingAttrs.AppendString(NS_LITERAL_STRING(kMailListDescription)); } return (differingAttrs.Count() == 0); }