Subversion Repositories Kolibri OS

Rev

Rev 914 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 914 Rev 1066
Line 40... Line 40...
40
int __stdcall strncmp(const char *s1, const char *s2, size_t n);
40
int __stdcall strncmp(const char *s1, const char *s2, size_t n);
Line 41... Line 41...
41
 
41
 
Line 42... Line -...
42
bool link_image(addr_t img_base);
-
 
Line 43... Line 42...
43
 
42
bool link_image(addr_t img_base);
44
md_t* __fastcall load_image(const char *path);
43
 
45
 
44
 
46
/*
45
/*
Line 107... Line 106...
107
 
106
 
Line 108... Line 107...
108
    return true;
107
    return true;
109
}
108
}
Line 110... Line 109...
110
 
109
 
111
md_t* __fastcall load_image(const char *path)
110
addr_t __fastcall load_image(const char *path)
112
{
111
{
113
    PIMAGE_DOS_HEADER     dos;
112
    PIMAGE_DOS_HEADER     dos;
Line 114... Line 113...
114
    PIMAGE_NT_HEADERS32   nt;
113
    PIMAGE_NT_HEADERS32   nt;
Line 115... Line 114...
115
 
114
 
116
    md_t    *img_md;
115
 //   md_t    *img_md;
117
 
116
 
Line 145... Line 144...
145
    nt =  MakePtr( PIMAGE_NT_HEADERS32, dos, dos->e_lfanew);
144
    nt =  MakePtr( PIMAGE_NT_HEADERS32, dos, dos->e_lfanew);
146
 
145
 
Line 147... Line 146...
147
    img_size  =  nt->OptionalHeader.SizeOfImage;
146
    img_size  =  nt->OptionalHeader.SizeOfImage;
Line 148... Line 147...
148
 
147
 
Line -... Line 148...
-
 
148
//    img_md  = md_alloc(img_size, PG_SW);
Line 149... Line 149...
149
    img_md  = md_alloc(img_size, PG_SW);
149
 
150
 
150
    img_base = mem_alloc(img_size, PG_SW);
151
 
151
 
152
    if( !img_md)
152
    if( !img_base)
153
    {
153
    {
Line 154... Line 154...
154
        mem_free(raw);
154
        mem_free(raw);
Line 155... Line 155...
155
        return NULL;
155
        return NULL;
Line 156... Line 156...
156
    };
156
    };
Line 157... Line 157...
157
 
157
 
158
    img_base = img_md->base;
158
//    img_base = img_md->base;
Line 159... Line 159...
159
 
159
 
160
    create_image(img_base, (addr_t)raw, true);
160
    create_image(img_base, (addr_t)raw, true);
Line 161... Line 161...
161
 
161
 
162
    mem_free(raw);
162
    mem_free(raw);