if(strchr(dsn, '=')) { extractFromDsn("server=", dsn, imp_dbh->server, 64); ... blah blah blah ... extractFromDsn("host=", dsn, imp_dbh->host, 64); extractFromDsn("port=", dsn, imp_dbh->port, 20); extractFromDsn("maxConnect=", dsn, imp_dbh->maxConnect, 25);