Root/
Source at commit 943 created 13 years 1 month ago. By azimutz, Replace getc by getchar. | |
---|---|
1 | /*␊ |
2 | * ext2fs.c␊ |
3 | * ␊ |
4 | *␊ |
5 | * Created by mackerintel on 1/26/09.␊ |
6 | * Copyright 2009 __MyCompanyName__. All rights reserved.␊ |
7 | *␊ |
8 | */␊ |
9 | #ifndef OPTION_ROM␊ |
10 | #include "libsaio.h"␊ |
11 | #include "sl.h"␊ |
12 | #include "ext2fs.h"␊ |
13 | ␊ |
14 | #define EX2ProbeSize␉2048␊ |
15 | ␊ |
16 | bool EX2Probe (const void *buf)␊ |
17 | {␊ |
18 | ␉return (OSReadLittleInt16(buf+0x438,0)==0xEF53);␊ |
19 | }␊ |
20 | ␊ |
21 | void EX2GetDescription(CICell ih, char *str, long strMaxLen)␊ |
22 | {␊ |
23 | ␉char * buf=malloc (EX2ProbeSize);␊ |
24 | ␉str[0]=0;␊ |
25 | ␉if (!buf)␊ |
26 | ␉␉return;␊ |
27 | ␉Seek(ih, 0);␊ |
28 | ␉Read(ih, (long)buf, EX2ProbeSize);␊ |
29 | ␉if (!EX2Probe (buf))␊ |
30 | ␉{␊ |
31 | ␉␉free (buf);␊ |
32 | ␉␉return;␊ |
33 | ␉}␊ |
34 | ␉if (OSReadLittleInt32 (buf+0x44c,0)<1)␊ |
35 | ␉{␊ |
36 | ␉␉free (buf);␊ |
37 | ␉␉return;␊ |
38 | ␉}␊ |
39 | ␉str[strMaxLen]=0;␊ |
40 | ␉strncpy (str, buf+0x478, min (strMaxLen, 16));␊ |
41 | ␉free (buf);␊ |
42 | }␊ |
43 | #endif |