void printSuConfig(const char *SuConfig) { char dbuf[2048], *text; if (decodeConfig(SuConfig, (BYTE *)dbuf, sizeof(dbuf))) { printf("!! SuConfig.dat invalid\n"); } else if ((text=gbk2utf(dbuf, strlen(dbuf))) != NULL) { printf("%s\n", text); free(text); } }
static void showRuijieMsg(const u_char *buf, unsigned bufLen) { char *serverMsg; int length = buf[0x1b]; if (length > 0) { for (serverMsg=(char *)(buf+0x1c); *serverMsg=='\r'||*serverMsg=='\n'; serverMsg++,length--); /* 跳过开头的换行符 */ if (strlen(serverMsg) < length) length = strlen(serverMsg); if (length>0 && (serverMsg=gbk2utf(serverMsg, length))!=NULL) { if (strlen(serverMsg)) { print_log(_("$$ 系统提示:\n%s\n"), serverMsg); #ifndef NO_NOTIFY if (showNotify && show_notify(_("MentoHUST - 系统提示"), serverMsg, 1000*showNotify) < 0) showNotify = 0; #endif } free(serverMsg); } } if ((length=0x1c+buf[0x1b]+0x69+39) < bufLen) { serverMsg=(char *)(buf+length); if (buf[length-1]-2 > bufLen-length) length = bufLen - length; else length = buf[length-1]-2; for (; *serverMsg=='\r'||*serverMsg=='\n'; serverMsg++,length--); if (length>0 && (serverMsg=gbk2utf(serverMsg, length))!=NULL) { if (strlen(serverMsg)) { print_log(_("$$ 计费提示:\n%s\n"), serverMsg); #ifndef NO_NOTIFY if (showNotify && show_notify(_("MentoHUST - 计费提示"), serverMsg, 1000*showNotify) < 0) showNotify = 0; #endif } free(serverMsg); } } }
static void showCernetMsg(const u_char *buf) { char *serverMsg = (char *)(buf+0x17); int length = ntohs(*(u_int16_t *)(buf+0x14)) - 5; if (strlen(serverMsg) < length) length = strlen(serverMsg); if (length>0 && (serverMsg=gbk2utf(serverMsg, length))!=NULL) { printf("$$ 系统提示:\t%s\n", serverMsg); #ifndef NO_NOTIFY if (showNotify) show_notify("MentoHUST - 系统提示", serverMsg); #endif free(serverMsg); } fflush(stdout); }