| 1505 |
MessageBox(NULL, buf, "TTSSH", MB_OK | MB_ICONEXCLAMATION); |
MessageBox(NULL, buf, "TTSSH", MB_OK | MB_ICONEXCLAMATION); |
| 1506 |
} |
} |
| 1507 |
|
|
| 1508 |
return 1; |
return OPTION_CLEAR; |
| 1509 |
|
|
| 1510 |
// ttermpro.exe の /T= 指定の流用なので、大文字も許す (2006.10.19 maya) |
// ttermpro.exe の /T= 指定の流用なので、大文字も許す (2006.10.19 maya) |
| 1511 |
} else if (MATCH_STR_I(option + 1, "t=") == 0) { |
} else if (MATCH_STR_I(option + 1, "t=") == 0) { |
| 1512 |
if (strcmp(option + 3, "2") == 0) { |
if (strcmp(option + 3, "2") == 0) { |
| 1513 |
pvar->settings.Enabled = 1; |
pvar->settings.Enabled = 1; |
| 1514 |
return 1; |
return OPTION_CLEAR; |
| 1515 |
} else { |
} else { |
| 1516 |
pvar->settings.Enabled = 0; |
pvar->settings.Enabled = 0; |
| 1517 |
} |
} |
| 1600 |
} |
} |
| 1601 |
|
|
| 1602 |
} |
} |
| 1603 |
|
else if ((MATCH_STR_I(option, "ssh://") == 0) || |
| 1604 |
|
(MATCH_STR_I(option, "ssh1://") == 0) || |
| 1605 |
|
(MATCH_STR_I(option, "ssh2://") == 0) || |
| 1606 |
|
(MATCH_STR_I(option, "slogin://") == 0) || |
| 1607 |
|
(MATCH_STR_I(option, "slogin1://") == 0) || |
| 1608 |
|
(MATCH_STR_I(option, "slogin2://") == 0)) { |
| 1609 |
|
|
| 1610 |
return 0; |
char *p, *p2, *p3; |
| 1611 |
|
int optlen; |
| 1612 |
|
|
| 1613 |
|
p = strchr(option, ':'); |
| 1614 |
|
optlen = strlen(option); |
| 1615 |
|
|
| 1616 |
|
switch (*(p-1)) { |
| 1617 |
|
case '1': |
| 1618 |
|
pvar->settings.ssh_protocol_version = 1; |
| 1619 |
|
break; |
| 1620 |
|
case '2': |
| 1621 |
|
pvar->settings.ssh_protocol_version = 2; |
| 1622 |
|
break; |
| 1623 |
|
} |
| 1624 |
|
|
| 1625 |
|
p += 3; |
| 1626 |
|
memset(option, ' ', p - option); |
| 1627 |
|
|
| 1628 |
|
if ((p2 = strchr(p, '/')) != NULL) { |
| 1629 |
|
memset(p2, ' ', strlen(option) - (p2 - option)); |
| 1630 |
|
} |
| 1631 |
|
|
| 1632 |
|
if ((p2 = strchr(p, '@')) != NULL) { |
| 1633 |
|
*p2 = 0; |
| 1634 |
|
if ((p3 = strchr(p, ':')) != NULL) { |
| 1635 |
|
*p3 = 0; |
| 1636 |
|
strcpy_s(pvar->ssh2_password, sizeof(pvar->ssh2_password), p3 + 1); |
| 1637 |
|
pvar->ssh2_autologin = 1; |
| 1638 |
|
} |
| 1639 |
|
strcpy_s(pvar->ssh2_username, sizeof(pvar->ssh2_username), p); |
| 1640 |
|
memset(p, ' ', (p2 - p) + 1); |
| 1641 |
|
} |
| 1642 |
|
|
| 1643 |
|
pvar->settings.Enabled = 1; |
| 1644 |
|
|
| 1645 |
|
return OPTION_REPLACE; |
| 1646 |
|
} |
| 1647 |
|
|
| 1648 |
|
return OPTION_NONE; |
| 1649 |
} |
} |
| 1650 |
|
|
| 1651 |
static void FAR PASCAL TTXParseParam(PCHAR param, PTTSet ts, |
static void FAR PASCAL TTXParseParam(PCHAR param, PTTSet ts, |
| 1652 |
PCHAR DDETopic) |
PCHAR DDETopic) |
| 1653 |
{ |
{ |
| 1654 |
// スペースを含むファイル名を認識するように修正 (2006.10.7 maya) |
// スペースを含むファイル名を認識するように修正 (2006.10.7 maya) |
| 1655 |
int i; |
int i, buflen; |
| 1656 |
BOOL inParam = FALSE; |
BOOL inParam = FALSE; |
| 1657 |
BOOL inQuotes = FALSE; |
BOOL inQuotes = FALSE; |
| 1658 |
BOOL inFileParam = FALSE; |
BOOL inFileParam = FALSE; |
| 1679 |
strncat_s(buf, buf_len, option, _TRUNCATE); |
strncat_s(buf, buf_len, option, _TRUNCATE); |
| 1680 |
option[Equal - option + 1] = c; |
option[Equal - option + 1] = c; |
| 1681 |
strncat_s(buf, buf_len, Equal + 2, _TRUNCATE); |
strncat_s(buf, buf_len, Equal + 2, _TRUNCATE); |
| 1682 |
if (parse_option(pvar, *buf == '"' ? buf + 1 : buf)) { |
switch (parse_option(pvar, *buf == '"' ? buf + 1 : buf)) { |
| 1683 |
|
case OPTION_CLEAR: |
| 1684 |
memset(option, ' ', i + 1 - (option - param)); |
memset(option, ' ', i + 1 - (option - param)); |
| 1685 |
} else { |
break; |
| 1686 |
|
case OPTION_REPLACE: |
| 1687 |
|
buflen = strlen(buf); |
| 1688 |
|
memcpy(option, buf, buflen); |
| 1689 |
|
memset(option + buflen, ' ', i + 1 - buflen - (option - param)); |
| 1690 |
|
break; |
| 1691 |
|
default: |
| 1692 |
param[i] = ch; |
param[i] = ch; |
| 1693 |
} |
} |
| 1694 |
free(buf); |
free(buf); |
| 1695 |
} |
} |
| 1696 |
else { |
else { |
| 1697 |
if (parse_option(pvar, *option == '"' ? option + 1 : option)) { |
switch (parse_option(pvar, *option == '"' ? option + 1 : option)) { |
| 1698 |
|
case OPTION_CLEAR: |
| 1699 |
memset(option, ' ', i + 1 - (option - param)); |
memset(option, ' ', i + 1 - (option - param)); |
| 1700 |
} else { |
break; |
| 1701 |
|
default: |
| 1702 |
param[i] = ch; |
param[i] = ch; |
| 1703 |
} |
} |
| 1704 |
} |
} |
| 1743 |
strncat_s(buf, buf_len, option, _TRUNCATE); |
strncat_s(buf, buf_len, option, _TRUNCATE); |
| 1744 |
option[Equal - option + 1] = c; |
option[Equal - option + 1] = c; |
| 1745 |
strncat_s(buf, buf_len, Equal + 2, _TRUNCATE); |
strncat_s(buf, buf_len, Equal + 2, _TRUNCATE); |
| 1746 |
if (parse_option(pvar, *buf == '"' ? buf + 1 : buf)) { |
switch (parse_option(pvar, *buf == '"' ? buf + 1 : buf)) { |
| 1747 |
|
case OPTION_CLEAR: |
| 1748 |
memset(option, ' ', i + 1 - (option - param)); |
memset(option, ' ', i + 1 - (option - param)); |
| 1749 |
|
break; |
| 1750 |
|
case OPTION_REPLACE: |
| 1751 |
|
strcpy_s(option, i - (param - option), buf); |
| 1752 |
|
break; |
| 1753 |
} |
} |
| 1754 |
free(buf); |
free(buf); |
| 1755 |
} |
} |
| 1756 |
else { |
else { |
| 1757 |
if (parse_option(pvar, option)) { |
switch (parse_option(pvar, option)) { |
| 1758 |
|
case OPTION_CLEAR: |
| 1759 |
memset(option, ' ', i - (option - param)); |
memset(option, ' ', i - (option - param)); |
| 1760 |
|
break; |
| 1761 |
} |
} |
| 1762 |
} |
} |
| 1763 |
} |
} |