static void ProcExtsFromExtString(const char *strExtList) { size_t iExtListLen = strlen(strExtList); const char *strExtListEnd = strExtList + iExtListLen; const char *strCurrPos = strExtList; char strWorkBuff[256]; while(*strCurrPos) { /*Get the extension at our position.*/ int iStrLen = 0; const char *strEndStr = strchr(strCurrPos, ' '); int iStop = 0; if(strEndStr == NULL) { strEndStr = strExtListEnd; iStop = 1; } iStrLen = (int)((ptrdiff_t)strEndStr - (ptrdiff_t)strCurrPos); if(iStrLen > 255) return; strncpy(strWorkBuff, strCurrPos, iStrLen); strWorkBuff[iStrLen] = '\0'; LoadExtByName(strWorkBuff); strCurrPos = strEndStr + 1; if(iStop) break; } }
static void ProcExtsFromExtString(const char* strExtList) { do { const char* begin = strExtList; while ((*strExtList != ' ') && *strExtList) strExtList++; LoadExtByName(std::string(begin, strExtList).c_str()); } while (*strExtList++); }