pk_err_t cleanup_action(struct db *db, const char *sql, enum pk_log_type logtype, const char *desc) { struct query *qry; int changes; if (!query(&qry, db, sql, NULL)) { sql_log_err(db, "Couldn't clean %s", desc); return PK_IOERR; } query_row(qry, "d", &changes); query_free(qry); if (changes > 0) pk_log(logtype, "Cleaned %d %s", changes, desc); return PK_SUCCESS; }
int main(int argc, char **argv){ char b[SIZE]; int **board; FILE *f; board = calloc(SIZE, sizeof(int)); int i; for(i=0; i<SIZE; i++){ if (board == NULL) { printf("Memory allocation failed\n"); exit(-1); } board[i] = calloc(SIZE, sizeof(int)); } f = fopen(argv[1], "r"); while ( (fgets(b, SIZE , f) != NULL) ){ char *comm = strtok(b, " "); int roc = 0; int val = 0; if( (strspn(comm, sc) == strlen(sc))){ roc = atoi(strtok(NULL, " ")); val = atoi(strtok(NULL, " ")); set_col(board, roc, val); }else if( (strspn(comm, sr)) == strlen(sr) ){ roc = atoi(strtok(NULL, " ")); val = atoi(strtok(NULL, " ")); set_row(board, roc, val); }else if( (strspn(comm, qc)) == strlen(qc) ){ roc = atoi(strtok(NULL, " ")); printf("%d\n", query_col(board, roc)); }else if( (strspn(comm, qr)) == strlen(qr) ){ roc = atoi(strtok(NULL, " ")); printf("%d\n", query_row(board, roc)); } } for(i=0; i<SIZE; i++){ free(board[i]); } free(board); fclose(f); }