Changeset 38361

Show
Ignore:
Timestamp:
08/26/10 23:17:05 (3 years ago)
Author:
saturday06
Message:

version

Location:
lang/c/NetworkUpdater/trunk/Build
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/c/NetworkUpdater/trunk/Build/Common.c

    r38354 r38361  
    5353 
    5454    return error; 
     55} 
     56 
     57NU_Error NUI_Cancel(NUI_NetworkUpdater* object) 
     58{ 
     59    NU_Option option; 
     60    NUI_CopyOption(&option, &object->option); 
     61    NUI_Destroy(object); 
     62    NUI_Create(object, &option); 
     63    NUI_DestroyOption(&option);     
     64    return NU_NO_ERROR; 
     65} 
     66 
     67NU_Error NUI_CopyOption(NU_Option* d, const NU_Option* s) { 
     68    NU_Error result = NU_ERROR_SYSTEM; 
     69    d->current_version = _tcsdup(s->current_version); 
     70    if (!d->current_version) { 
     71        result = NU_ERROR_BAD_ALLOC; 
     72        goto clean_up; 
     73    } 
     74    d->debug = s->debug; 
     75    d->url = _tcsdup(s->url); 
     76    if (!d->url) { 
     77        result = NU_ERROR_BAD_ALLOC; 
     78        goto clean_up; 
     79    } 
     80 
     81    result = NU_NO_ERROR; 
     82clean_up: 
     83    if (!result) { 
     84        NUI_DestroyOption(d); 
     85    } 
     86    return result; 
     87} 
     88 
     89void NUI_DestroyOption(NU_Option* option) { 
     90    /* 
     91    free((void*)option->current_version); 
     92    free((void*)option->url); 
     93    */ 
     94    memset(option, 0, sizeof(*option)); 
    5595} 
    5696 
  • lang/c/NetworkUpdater/trunk/Build/Common.h

    r38324 r38361  
    9494 
    9595typedef struct NUI_NetworkUpdater_ { 
     96    NU_Option option; 
    9697    NUI_CommonData common; 
    9798    NU_NetworkUpdater* user; 
     
    136137void NUI_RemoveDownload(NUI_DownloadContext* download); 
    137138int NUI_SearchDownload(const NUI_DownloadContext* download); 
     139void NUI_DestroyOption(NU_Option* option); 
     140NU_Error NUI_CopyOption(NU_Option* d, const NU_Option* s); 
    138141 
    139142typedef enum { 
  • lang/c/NetworkUpdater/trunk/Build/MSW.c

    r38335 r38361  
    15551555        CloseHandle(object->common.start_update_event); 
    15561556    } 
     1557    NUI_DestroyOption(&object->option); 
     1558     
    15571559 
    15581560    memset(object, 0, sizeof(*object)); 
     
    21102112} 
    21112113 
    2112  
    2113 NU_Error NUI_Cancel(NUI_NetworkUpdater* object) 
    2114 { 
    2115     NUI_Lock(object->common.shared); 
    2116     object->common.shared->user.pending = 1; 
    2117     NUI_Unlock(object->common.shared); 
    2118     SetEvent(object->common.exit_thread_event); 
    2119     return NU_NO_ERROR; 
    2120 } 
    2121  
    2122  
    21232114NU_Error NUI_Create(NUI_NetworkUpdater* object, const NU_Option* option) 
    21242115{ 
     
    21312122            NUI_IsBadReadPointer(option->url, 2)) { 
    21322123        error = NU_ERROR_INVALID_OPTION; 
     2124        goto clean_up; 
     2125    } 
     2126 
     2127    error = NUI_CopyOption(&object->option, option); 
     2128    if (error) { 
    21332129        goto clean_up; 
    21342130    }