MCPcopy Create free account
hub / github.com/TASEmulators/fceux / FindNext

Function FindNext

src/drivers/win/memview.cpp:2938–3022  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2936 return FALSE;
2937}
2938void FindNext(){
2939 char str[60];
2940 unsigned char data[60];
2941 int datasize = 0, i, j, inputc = -1, found;
2942
2943 if(hMemFind) GetDlgItemText(hMemFind,IDC_MEMVIEWFIND_WHAT,str,60);
2944 else strcpy(str,FindTextBox);
2945
2946 for(i = 0;str[i] != 0;i++){
2947 if(!FindAsText){
2948 if(inputc == -1){
2949 if((str[i] >= 'a') && (str[i] <= 'f')) inputc = str[i]-('a'-0xA);
2950 if((str[i] >= 'A') && (str[i] <= 'F')) inputc = str[i]-('A'-0xA);
2951 if((str[i] >= '0') && (str[i] <= '9')) inputc = str[i]-'0';
2952 } else {
2953 if((str[i] >= 'a') && (str[i] <= 'f')) inputc = (inputc<<4)|(str[i]-('a'-0xA));
2954 if((str[i] >= 'A') && (str[i] <= 'F')) inputc = (inputc<<4)|(str[i]-('A'-0xA));
2955 if((str[i] >= '0') && (str[i] <= '9')) inputc = (inputc<<4)|(str[i]-'0');
2956
2957 if(((str[i] >= 'a') && (str[i] <= 'f')) ||
2958 ((str[i] >= 'A') && (str[i] <= 'F')) ||
2959 ((str[i] >= '0') && (str[i] <= '9'))){
2960 data[datasize++] = inputc;
2961 inputc = -1;
2962 }
2963 }
2964 } else {
2965 for(j = 0;j < 256;j++)if(chartable[j] == str[i])break;
2966 if(j == 256)continue;
2967 data[datasize++] = j;
2968 }
2969 }
2970
2971 if(datasize < 1){
2972 MessageBox(hMemView,"Invalid String","Error", MB_OK);
2973 return;
2974 }
2975 if(!FindDirectionUp){
2976 for(i = CursorStartAddy+1;i+datasize <= MaxSize;i++){
2977 found = 1;
2978 for(j = 0;j < datasize;j++){
2979 if(GetMemViewData(i+j) != data[j])found = 0;
2980 }
2981 if(found == 1){
2982 ChangeMemViewFocus(EditingMode,i, i+datasize-1);
2983 return;
2984 }
2985 }
2986 for(i = 0;i < CursorStartAddy;i++){
2987 found = 1;
2988 for(j = 0;j < datasize;j++){
2989 if(GetMemViewData(i+j) != data[j])found = 0;
2990 }
2991 if(found == 1){
2992 ChangeMemViewFocus(EditingMode,i, i+datasize-1);
2993 return;
2994 }
2995 }

Callers 1

MemFindCallBFunction · 0.85

Calls 3

GetDlgItemTextFunction · 0.85
GetMemViewDataFunction · 0.85
ChangeMemViewFocusFunction · 0.85

Tested by

no test coverage detected