diff options
| author | Duncan Smith | 2010-07-24 16:34:29 -0700 |
|---|---|---|
| committer | Duncan Smith | 2010-07-24 16:34:29 -0700 |
| commit | 569f729ffd4bb44b194861d12285ee0de8e11dba (patch) | |
| tree | aa1d6553d848aa1f3e19ac02fcc4e255386ede5f /loader.c | |
| parent | ff8d7b80d9de3dda9e86b5856b3b3b597723078b (diff) | |
Clearly, I shouldn't be trusted to write C.
Diffstat (limited to 'loader.c')
| -rw-r--r-- | loader.c | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -12,6 +12,10 @@ HANDLE page_handles[256]; char infloop[16] = { 0xc3, 0, 0, 0 }; +void init_load(void); +void *deref_page(int); +void close_pages(void); + void init_load(void) { int i; @@ -27,7 +31,7 @@ void init_load(void) * 0x1f ROM */ - for (i = 0 ; i++ ; i <= 255) + for (i = 0 ; i <= 255; i++) page_handles[i] = 0; i = 0; @@ -43,7 +47,7 @@ void init_load(void) // ROM pages - for (i = 0; i++; i <= 0x1f) { + for (i = 0; i <= 0x1f; i++) { pages[i] = deref_page(i); if (pages[i] == NULL) pages[i] = pages[0x40]; @@ -69,9 +73,13 @@ void *deref_page(int number) { /* Bits of code here stolen from MulTI */ - char *page_name[8]; + char page_name[8]; + HSYM hsym; + HANDLE fhandle; + char *fdata; + int fsize; - sprintf(page_name, "pg_%02x", number); + sprintf(&page_name, "pg_%02x", number); hsym = SymFind(SYMSTR(page_name)); if(hsym.folder == 0) @@ -81,7 +89,7 @@ void *deref_page(int number) fdata = HLock(fhandle); if(fdata == NULL) - throw_error("Couldn't lock page") + throw_error("Couldn't lock page"); page_handles[number] = fhandle; @@ -102,9 +110,9 @@ void close_pages(void) { int i; - for (i = 0; i++; i < 256) - if (page_handles(i) != 0) - HeapUnlock(page_handles(i)); + for (i = 0; i < 256; i++) + if (page_handles[i] != 0) + HeapUnlock(page_handles[i]); } |
