#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string>

using namespace std;

ifstream fin;
ifstream finn;

int dividi_stringa(char *da_dividere, char *divisore, char *diviso_1,char *diviso_2);
void stringaMinuscola(char *stringa, char *stringa_modificata);
bool checkStringHeader(char *string,char *header);
bool strcut(char *string,char *stringMod,int cutter);
bool getWMPPath(char *programPath);

int main(int argc, char *argv[])
{
  
  char buffer[250] = "";
  char buffer1[250] = "";
  char command[5000] = "";
  char programPath[250]="";

                                                         
  getWMPPath(programPath);
  strcat(command,programPath);
  finn.open(argv[1]);
  //fin.open("file.pls");
   
  while(finn.getline(buffer, 2000,'\n'))
  {
    if(checkStringHeader(buffer,"file"))
    {
        strcut(buffer, buffer1,6);
        strcat(command," ");
        strcat(command,buffer1);
        //cout<<buffer1<<"\n";
        
        
    }    
  }
  finn.close();
  //cout<<command;
  system(command);
  //system("PAUSE");
  return 0;
}

bool getWMPPath(char *programPath){
  fin.open("C:\\Programmi\\Openpls\\settings.txt");
  if(fin.fail())
  {
    fin.open("C:\\settings.txt");  
    if(fin.fail())
    {
        cout<<"ops: non riesco a trovare il file di configurazione";
        return false;
    }
  }
  fin.getline(programPath,2000,'\n');
  fin.close(); 
return true;
}

bool strcut(char *string,char *stringMod,int cutter)
{
    int i=-1;
    do
    {
        i++;
        stringMod[i]=string[i+cutter];
    }while(string[i+cutter]!='\0');
}


bool checkStringHeader(char *string,char *header)
{
    char stringMod[250] = "";
    stringaMinuscola(string,stringMod);
    int i=0;
    while(header[i]!='\0')
    {
        if(header[i]!=stringMod[i])
        {
             return false;
        }
        i++;
    } 
    return true;
}


void stringaMinuscola(char *stringa, char *stringa_modificata)
{
    int i=-1;
    strcpy(stringa_modificata,stringa);
    do{
        i++;
        if((stringa_modificata[i]>=65)&&(stringa_modificata[i]<=90))
        {
            (stringa_modificata[i])+=32;
        }
    }while((stringa_modificata[i])!=0);
}
