char buf[10];
char buf[18];
LoadDirsIntoArray(nsIFile* aComponentsList, nsCOMArray<nsIFile>& aDirectories){  nsINIParser parser;  nsCOMPtr<nsILocalFile> lf(do_QueryInterface(aComponentsList));  parser.Init(lf);  char parserBuf[MAXPATHLEN];  nsresult rv = parser.GetString("Extra Files", "Count", parserBuf, MAXPATHLEN);  if (NS_SUCCEEDED(rv)) {    PRInt32 count = atoi(parserBuf);    char buf[10];    nsCOMPtr<nsIFile> parent;    aComponentsList->GetParent(getter_AddRefs(parent));    for (PRInt32 i = 0; i < count; ++i) {      sprintf(buf, "File%d", i);      rv = parser.GetString("Extra Files", buf, parserBuf, MAXPATHLEN);      if (NS_SUCCEEDED(rv)) {        nsCOMPtr<nsILocalFile> lfParent(do_QueryInterface(parent));        nsCOMPtr<nsILocalFile> dir(do_CreateInstance("@mozilla.org/file/local;1"));        dir->SetRelativeDescriptor(lfParent, nsDependentCString(parserBuf));        nsCOMPtr<nsIFile> dirAsFile(do_QueryInterface(dir));        aDirectories.AppendObject(dirAsFile);      }    }  }}