Esempio n. 1
0
int main(int argc, const char *argv[])
{
    int fd;
    char filename[MAX_FILENAME];
    static META_DATA meta;

    //File specified in command line
    if (argc == 2)
    {
        memcpy(filename, argv[1], MAX_FILENAME);
        getLock(filename);
        if (open(filename, O_RDONLY, 0600)  == -1){
            printf("ERROR: File doesn't exist\n");
            close(fd);
            removeLock(filename);
            exit(1);
        }
        close(fd);
        removeLock(filename);
    }

    if (argc == 1)
    {
        //Read filename from .draw_config
        getLock(filename);
        fd = open (".draw_config", O_RDONLY, 0600);
        read (fd, filename, MAX_FILENAME);
        close (fd);
        removeLock(filename);
    }

    if (argc == 1 || argc == 2)
    {
        initCurses();

        //Open canvas file
        fd = open (filename, O_RDONLY, 0600);

        //read metadata from file
        read (fd, &meta, sizeof(META_DATA));

        //read first FIGURE from file
        if(meta.numP > 0)
        {
            showPeople(fd, meta);
        }
    }
    close(fd);
    removeLock(filename);
    refresh();
    endCurses();
    return 0;
}
void SerialPortMacOS::closeLink()
{
    if (isOpen() == true)
    {
        this->flush();
        close(ttyDeviceFileDescriptor);
        ttyDeviceFileDescriptor = -1;

        removeLock();
    }
}
void SerialPortWindows::closeLink()
{
    if (isOpen())
    {
        this->flush();
        CloseHandle(ttyDeviceFileDescriptor);
        ttyDeviceFileDescriptor = INVALID_HANDLE_VALUE;

        removeLock();
    }
}