791{
792 CHAR input_line[256];
793 PSTR args_vector[64];
801
804
805 for (;;)
806 {
808 memset(args_vector, 0,
sizeof(args_vector));
809
811
812
814
817 {
818 if (*
ptr ==
_T(
'\"'))
820
822 {
825 }
826 else
827 {
829 {
832 }
834 }
836 }
837
839 {
840 if (
_stricmp(args_vector[0],
"exit") == 0)
841 {
843 }
844 else if ((!
_stricmp(args_vector[0],
"help")) ||
846 {
848 }
849 else if (!
_stricmp(args_vector[0],
"set"))
850 {
852 {
853 if (!
_stricmp(args_vector[1],
"all"))
854 {
856 }
857 else if (!
_stricmp(args_vector[1],
"debug"))
858 {
860 }
861 else if (!
_stricmp(args_vector[1],
"nodebug"))
862 {
865 }
866 else if (!
_stricmp(args_vector[1],
"defname"))
867 {
869 }
870 else if (!
_stricmp(args_vector[1],
"nodefname"))
871 {
873 }
874 else if (!
_stricmp(args_vector[1],
"search"))
875 {
877 }
878 else if (!
_stricmp(args_vector[1],
"nosearch"))
879 {
881 }
882 else if (!
_stricmp(args_vector[1],
"recurse"))
883 {
885 }
886 else if (!
_stricmp(args_vector[1],
"norecurse"))
887 {
889 }
890 else if (!
_stricmp(args_vector[1],
"d2"))
891 {
894 }
895 else if (!
_stricmp(args_vector[1],
"nod2"))
896 {
898 }
899 else if (!
_stricmp(args_vector[1],
"vc"))
900 {
902 }
903 else if (!
_stricmp(args_vector[1],
"novc"))
904 {
906 }
907 else if (!
_stricmp(args_vector[1],
"msxfr"))
908 {
910 }
911 else if (!
_stricmp(args_vector[1],
"nomsxfr"))
912 {
914 }
916 {
920 State.retry = dwValue;
921 }
923 {
927 State.timeout = dwValue;
928 }
930 {
932 }
934 {
935 _tprintf(
_T(
"Option not implemented: srchlist\n"));
936 }
938 {
939 _tprintf(
_T(
"Option not implemented: root\n"));
940 }
942 {
944 {
946 }
948 {
950 }
952 {
954 }
956 {
958 }
960 {
962 }
964 {
966 }
968 {
970 }
972 {
974 }
976 {
978 }
980 {
982 }
983 else
984 {
985 _tprintf(
_T(
"unknown query type: %s"), &args_vector[1][6]);
986 }
987 }
988 else if (!
_strnicmp(args_vector[1],
"querytype=",
strlen(
"querytype=")))
989 {
991 {
993 }
995 {
997 }
999 {
1001 }
1003 {
1005 }
1007 {
1009 }
1011 {
1013 }
1015 {
1017 }
1019 {
1021 }
1023 {
1025 }
1027 {
1029 }
1030 else
1031 {
1032 _tprintf(
_T(
"unknown query type: %s"), &args_vector[1][11]);
1033 }
1034 }
1036 {
1038 {
1040 }
1042 {
1044 }
1045 else
1046 {
1047 _tprintf(
_T(
"unknown query class: %s"), &args_vector[1][7]);
1048 }
1049 }
1051 {
1052 _tprintf(
_T(
"Option not implemented: ixfrver\n"));
1053 }
1054 else
1055 {
1056 _tprintf(
_T(
"*** Invalid option: %s.\n"), args_vector[1]);
1057 }
1058 }
1059 }
1060 else if (!
_stricmp(args_vector[0],
"server"))
1061 {
1062 _tprintf(
_T(
"Command not implemented: server\n"));
1063 }
1064 else if (!
_stricmp(args_vector[0],
"lserver"))
1065 {
1066 _tprintf(
_T(
"Command not implemented: lserver\n"));
1067 }
1068 else if (!
_stricmp(args_vector[0],
"finger"))
1069 {
1070 _tprintf(
_T(
"Command not implemented: finger\n"));
1071 }
1072 else if (!
_stricmp(args_vector[0],
"root"))
1073 {
1074 _tprintf(
_T(
"Command not implemented: root\n"));
1075 }
1076 else if (!
_stricmp(args_vector[0],
"ls"))
1077 {
1078 _tprintf(
_T(
"Command not implemented: ls\n"));
1079 }
1080 else if (!
_stricmp(args_vector[0],
"view"))
1081 {
1082 _tprintf(
_T(
"Command not implemented: view\n"));
1083 }
1084 else
1085 {
1087 {
1089 }
1091 {
1092 CHAR BackupServerAddress[16];
1093 CHAR BackupServer[256];
1094
1095 CopyMemory(BackupServerAddress,
State.DefaultServerAddress,
sizeof(BackupServerAddress));
1097
1099 {
1101 State.DefaultServerAddress[
min(16,
strlen(args_vector[1]))] =
'\0';
1102
1104 State.DefaultServer);
1105 }
1106 else
1107 {
1110
1112 State.DefaultServerAddress);
1113 }
1114
1116
1117 CopyMemory(
State.DefaultServerAddress, BackupServerAddress,
sizeof(BackupServerAddress));
1119 }
1120 else
1121 {
1126 }
1127 }
1128 }
1129
1130 if (bDone)
1131 break;
1132 }
1133
1134}
#define _strnicmp(_String1, _String2, _MaxCount)
char *CDECL fgets(char *s, int size, FILE *file)
_ACRTIMP __msvcrt_ulong __cdecl strtoul(const char *, char **, int)
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP int __cdecl strncmp(const char *, const char *, size_t)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ LPWSTR _In_ DWORD dwArgCount
BOOL PerformInternalLookup(PCHAR pAddr, PCHAR pResult)
void PerformLookup(PCHAR pAddr)
BOOL IsValidIP(PCHAR pInput)
_In_opt_ LPCSTR _In_opt_ LPCSTR pszValue