Root/
Source at commit 444 created 13 years 10 months ago. By zef, Fixed calling getBootVolumeDescription() with properly adjusted strMaxLen values. Removed broken optionKey setting. Now using strncat() for adding proper NULL termination in destination strings. | |
---|---|
1 | /*␊ |
2 | * ext2fs.c␊ |
3 | * ␊ |
4 | *␊ |
5 | * Created by mackerintel on 1/26/09.␊ |
6 | * Copyright 2009 __MyCompanyName__. All rights reserved.␊ |
7 | *␊ |
8 | */␊ |
9 | ␊ |
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 |