26{
27 bool bRes=false;
29 char szbuff[256],szsec[256];
30 char* ppv;
31
33
34 if((pfile=fopen(szFile,"r"))==nullptr) return false;
35
36
37 memset(szsec,0,sizeof(szsec));
38 if(szSection) strncpy(szsec,szSection,sizeof(szsec)-1);
39
41
42 while(!feof(pfile)){
43 fgets(szbuff,sizeof(szbuff),pfile);
44 if(*(szbuff+strlen(szbuff)-1)=='\n') *(szbuff+strlen(szbuff)-1)=0;
45 if(strcmp(szbuff,szsec) != 0) continue;
46 else{ bRes=true; break; }
47 }
48
49 if(!bRes){
50 fclose(pfile);
51 return 0;
52 }
53
54 while(!feof(pfile)){
55 fgets(szbuff,sizeof(szbuff),pfile);
56 if(*szbuff==0 || *szbuff==' ' || *szbuff=='\n' || *szbuff==';') continue;
57 if(*szbuff=='[') break;
58 if((ppv=strchr(szbuff,'='))==nullptr) continue;
59
60 if(*(szbuff+strlen(szbuff)-1)=='\n') *(szbuff+strlen(szbuff)-1)=0;
61 *ppv=0; ppv++;
62 m_mapParams.insert(StringStringMap::value_type(szbuff,ppv));
63 }
64
65 fclose(pfile);
67
69}