mirror of
git://projects.qi-hardware.com/gmenu2x.git
synced 2024-11-22 07:02:29 +02:00
Cleaned up code that loads a manual from an OPK file
Most of it is for readability only, but there is also a leak that was plugged: opk_close() is now called if extraction fails.
This commit is contained in:
parent
00d3c3b570
commit
510d67359c
@ -414,28 +414,21 @@ void LinkApp::showManual() {
|
|||||||
|
|
||||||
#ifdef HAVE_LIBOPK
|
#ifdef HAVE_LIBOPK
|
||||||
if (isOPK) {
|
if (isOPK) {
|
||||||
vector<string> readme;
|
struct OPK *opk = opk_open(opkFile.c_str());
|
||||||
char *ptr;
|
|
||||||
struct OPK *opk;
|
|
||||||
int err;
|
|
||||||
void *buf;
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
opk = opk_open(opkFile.c_str());
|
|
||||||
if (!opk) {
|
if (!opk) {
|
||||||
WARNING("Unable to open OPK to read manual\n");
|
WARNING("Unable to open OPK to read manual\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = opk_extract_file(opk, manual.c_str(), &buf, &len);
|
void *buf;
|
||||||
|
size_t len;
|
||||||
|
int err = opk_extract_file(opk, manual.c_str(), &buf, &len);
|
||||||
|
opk_close(opk);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
WARNING("Unable to read manual from OPK\n");
|
WARNING("Unable to extract manual from OPK\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
opk_close(opk);
|
string str((char *) buf, len);
|
||||||
|
|
||||||
ptr = (char *) buf;
|
|
||||||
string str(ptr, len);
|
|
||||||
free(buf);
|
free(buf);
|
||||||
|
|
||||||
if (manual.substr(manual.size()-8,8)==".man.txt") {
|
if (manual.substr(manual.size()-8,8)==".man.txt") {
|
||||||
|
Loading…
Reference in New Issue
Block a user