· 7 years ago · Oct 11, 2018, 03:06 PM
1NSString *databasePath = @"/var/mobile/Media/Icy/repos.sqlite";
2 const char *cDatabasePath = [databasePath UTF8String];
3 sqlite3 *db = nil;
4 if ([[NSFileManager defaultManager] fileExistsAtPath:databasePath] == NO) {
5 if (sqlite3_open(cDatabasePath, &db) == SQLITE_OK) {
6 const char *sql_statement = "CREATE TABLE IF NOT EXISTS REPO (PACKAGE, NAME, DESCRIPTION, VERSION, FILENAME, DEPICTION)";
7 if (sqlite3_exec(db, sql_statement, NULL, NULL, nil) != SQLITE_OK) NSLog(@"Failed to create database");
8 sqlite3_close(db);
9 } else NSLog(@"Failed to open or create database");
10 }
11 sqlite3_stmt *statement = nil;
12 FILE *file = fopen("/var/mobile/Media/Icy/Repos/BigBoss", "r");
13 char str[999];
14 NSString *lastPackage = nil;
15 NSString *lastName = nil;
16 NSString *lastDescription = nil;
17 NSString *lastVersion = nil;
18 NSString *lastFilename = nil;
19 NSString *lastDepiction = nil;
20 while(fgets(str, 999, file) != NULL) {
21 if(strstr(str, "Package:")) {
22 lastPackage = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
23 lastPackage = [lastPackage substringFromIndex:[lastPackage rangeOfString:@" "].location + 1];
24 }
25 if(strstr(str, "Name:")) {
26 lastName = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
27 lastName = [lastName substringFromIndex:[lastName rangeOfString:@" "].location + 1];
28 }
29 if(strstr(str, "Description:")) {
30 lastDescription = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
31 lastDescription = [lastDescription substringFromIndex:[lastDescription rangeOfString:@" "].location + 1];
32 }
33 if(strstr(str, "Version:")) {
34 lastVersion = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
35 lastVersion = [lastVersion substringFromIndex:[lastVersion rangeOfString:@" "].location + 1];
36 }
37 if(strstr(str, "Filename:")) {
38 lastFilename = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
39 lastFilename = [lastFilename substringFromIndex:[lastFilename rangeOfString:@" "].location + 1];
40 }
41 if(strstr(str, "Depiction:")) {
42 lastDepiction = [NSString stringWithCString:str encoding:NSASCIIStringEncoding];
43 lastDepiction = [lastDepiction substringFromIndex:[lastDepiction rangeOfString:@" "].location + 1];
44 }
45 if(strlen(str) < 2) {
46 if (sqlite3_open(cDatabasePath, &db) == 0) {
47 NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO REPO (PACKAGE, NAME, DESCRIPTION, VERSION, FILENAME, DEPICTION) VALUES (\"%@\", \"%@\", \"%@\", \"%@\", \"%@\", \"%@\")", lastPackage, lastName, lastDescription, lastVersion, lastFilename, lastDepiction];
48 NSLog(@"%@",insertSQL);
49 const char *insert_stmt = [insertSQL UTF8String];
50 sqlite3_prepare_v2(db, insert_stmt, -1, &statement, NULL);
51 } else NSLog(@"It doesn't work...");
52 if (sqlite3_step(statement) == SQLITE_DONE) NSLog(@"Done");
53 else NSLog(@"Error");
54 sqlite3_finalize(statement);
55 sqlite3_close(db);
56 }
57 }
58 fclose(file);