// Copyright (C) 2007-2010 Kai Seidler, oswald@apachefriends.org, GPL-licensed

#include <windows.h>
#include <stdio.h>
#include <process.h>
#include <string.h>

#include "xampp_util.h"

void xampp_call(char *start[10][10])
{
    int s;
    int i;
    char buffer[200];

    i=0;
    s=0;
    while(1)
    {
        if(start[i][0]==NULL)
            break;
        sprintf(buffer,"%s",start[i][0]);
        s=_spawnvp(P_NOWAIT,buffer, start[i]);
        if(s==-1)
        {
            printf("Error while calling %s...\n",buffer);
        }
        i++;
    }
    
    return;
}

void xampp_stop(char *pidfile,char *eventformat)
{
           HANDLE shutdownEvent;
        char shutdownEventName[32];
    FILE *fp;
    long pid;

        fp=fopen(pidfile,"r");
        if(!fp)
        {
                printf("Can't find %s.\n", pidfile);
        }
        else
        {
                fscanf(fp,"%d", &pid);
                fclose(fp);

                sprintf_s(shutdownEventName, sizeof(shutdownEventName), eventformat, pid);
                shutdownEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, shutdownEventName);
                if (shutdownEvent != NULL)
                {
                        SetEvent(shutdownEvent);
                }
                else
                {
                        printf("Can't find process #%d.\n", pid);
                }
        }

}

void xampp_cdx()
{
    char path[1000];
    char *ptr;

    //path[ sizeof(path) -1] = 0;

    GetModuleFileName( NULL, path, sizeof( path ) -1 );
    ptr=strrchr(path,'\\');
    *ptr='\0';

    chdir(path);
    //printf("chdir(%s)\n", path);
}