Ignore:
Timestamp:
Nov 4, 2000, 8:55:45 PM (25 years ago)
Author:
umoeller
Message:

Updated string helpers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/helpers/xprf2.c

    r8 r12  
    220220    if (!pszNew)
    221221        arc = ERROR_INVALID_PARAMETER;
    222 
    223     if (arc == NO_ERROR)
    224     {
    225 
     222    else
     223    {
    226224        DosDelete(pszNew);
    227225
    228226        // open new profile
    229 
    230227        arc = xprfOpenProfile(pszNew,
    231228                              &pxiniNew);
    232     }
    233 
    234     // get size of applications list
    235     if (arc == NO_ERROR)
    236     {
    237         if (!PrfQueryProfileSize(hOld, NULL, NULL, &ulSizeOfAppsList))
    238             arc = PRFERR_APPSLIST;
    239         else
    240             if (ulSizeOfAppsList == 0)
     229
     230        // get size of applications list
     231        if (arc == NO_ERROR)
     232        {
     233            if (!PrfQueryProfileSize(hOld, NULL, NULL, &ulSizeOfAppsList))
    241234                arc = PRFERR_APPSLIST;
    242     }
    243 
    244     if (arc == NO_ERROR)
    245     {
    246         // get applications list
    247         PSZ pApps = (PSZ)malloc(ulSizeOfAppsList);
    248         PSZ pApp2 = pApps;
    249         if (!PrfQueryProfileData(hOld,
    250                                  NULL,
    251                                  NULL,
    252                                  pApps,
    253                                  &ulSizeOfAppsList))
    254             arc = PRFERR_APPSLIST;
    255 
    256         // applications loop
    257 
    258         while (   (*pApp2 != 0)
    259                && (arc == NO_ERROR)
    260               )
    261         {
    262             CHAR szErrorKey[1000];
    263             // copy application (this will call prfhCopyKey in turn)
    264             arc = xprfCopyApp(hOld,
    265                               pApp2,
    266                               pxiniNew,
    267                               pApp2,
    268                               szErrorKey);
    269 
     235            else
     236                if (ulSizeOfAppsList == 0)
     237                    arc = PRFERR_APPSLIST;
     238
     239            if (arc == NO_ERROR)
     240            {
     241                // get applications list
     242                PSZ pApps = (PSZ)malloc(ulSizeOfAppsList);
     243                PSZ pApp2 = pApps;
     244                if (!PrfQueryProfileData(hOld,
     245                                         NULL,
     246                                         NULL,
     247                                         pApps,
     248                                         &ulSizeOfAppsList))
     249                    arc = PRFERR_APPSLIST;
     250
     251                // applications loop
     252
     253                while (   (*pApp2 != 0)
     254                       && (arc == NO_ERROR)
     255                      )
     256                {
     257                    CHAR szErrorKey[1000];
     258                    // copy application (this will call prfhCopyKey in turn)
     259                    arc = xprfCopyApp(hOld,
     260                                      pApp2,
     261                                      pxiniNew,
     262                                      pApp2,
     263                                      szErrorKey);
     264
     265                    if (pfnProgressCallback)
     266                    {
     267                        ULONG ulNow2, ulMax2;
     268                        ulNow2 = ((1000*(pApp2-pApps)) / ulSizeOfAppsList) + (ulCount*1000);
     269                        ulMax2 = (ulMax+1)*1000;
     270                        if (!pfnProgressCallback(ulUser, ulNow2, ulMax2))
     271                            // aborted:
     272                            arc = PRFERR_ABORTED;
     273                    }
     274
     275                    // go for next app
     276                    pApp2 += strlen(pApp2)+1;
     277
     278                } // end while (*pApp2 != 0) && MBID_NOERROR
     279
     280                if (pApps)
     281                    free(pApps);
     282            }
     283
     284            xprfCloseProfile(pxiniNew);
     285
     286            // progress
    270287            if (pfnProgressCallback)
    271             {
    272                 ULONG ulNow2, ulMax2;
    273                 ulNow2 = ((1000*(pApp2-pApps)) / ulSizeOfAppsList) + (ulCount*1000);
    274                 ulMax2 = (ulMax+1)*1000;
    275                 if (!pfnProgressCallback(ulUser, ulNow2, ulMax2))
    276                     // aborted:
    277                     arc = PRFERR_ABORTED;
    278             }
    279 
    280             // go for next app
    281             pApp2 += strlen(pApp2)+1;
    282 
    283         } // end while (*pApp2 != 0) && MBID_NOERROR
    284 
    285         if (pApps)
    286             free(pApps);
    287     }
    288 
    289     xprfCloseProfile(pxiniNew);
    290 
    291     // progress
    292     if (pfnProgressCallback)
    293         pfnProgressCallback(ulUser, (ulCount+1) * 1000, (ulMax+1) * 1000);
     288                pfnProgressCallback(ulUser, (ulCount+1) * 1000, (ulMax+1) * 1000);
     289        }
     290    }
    294291
    295292    return (arc);
     
    461458    }
    462459
    463     if (    (Profiles.pszSysName)
    464          && (Profiles.pszUserName)
    465        )
    466     {
     460    if (Profiles.pszSysName)
    467461        free(Profiles.pszSysName);
     462    if (Profiles.pszUserName)
    468463        free(Profiles.pszUserName);
    469     }
    470464
    471465    return (arc);
Note: See TracChangeset for help on using the changeset viewer.