/* * This is the main global constructor for the app. Call this before * _any_ libcurl usage. If this fails, *NO* libcurl functions may be * used, or havoc may be the result. */ static CURLcode main_init(struct GlobalConfig *config) { CURLcode result = CURLE_OK; #if defined(__DJGPP__) || defined(__GO32__) /* stop stat() wasting time */ _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE; #endif /* Initialise the global config */ config->showerror = -1; /* Will show errors */ config->errors = stderr; /* Default errors to stderr */ /* Allocate the initial operate config */ config->first = config->last = malloc(sizeof(struct OperationConfig)); if(config->first) { /* Perform the libcurl initialization */ result = curl_global_init(CURL_GLOBAL_DEFAULT); if(!result) { /* Get information about libcurl */ result = get_libcurl_info(); if(!result) { /* Get a curl handle to use for all forthcoming curl transfers */ config->easy = curl_easy_init(); if(config->easy) { /* Initialise the config */ config_init(config->first); config->first->easy = config->easy; config->first->global = config; } else { helpf(stderr, "error initializing curl easy handle\n"); result = CURLE_FAILED_INIT; free(config->first); } } else { helpf(stderr, "error retrieving curl library information\n"); free(config->first); } } else { helpf(stderr, "error initializing curl library\n"); free(config->first); } } else { helpf(stderr, "error initializing curl\n"); result = CURLE_FAILED_INIT; } return result; }
CURLcode get_args(struct OperationConfig *config, const size_t i) { CURLcode result = CURLE_OK; bool last = (config->next ? FALSE : TRUE); /* Check we have a password for the given host user */ if(config->userpwd && !config->oauth_bearer) { result = checkpasswd("host", i, last, &config->userpwd); if(result) return result; } /* Check we have a password for the given proxy user */ if(config->proxyuserpwd) { result = checkpasswd("proxy", i, last, &config->proxyuserpwd); if(result) return result; } /* Check we have a user agent */ if(!config->useragent) { config->useragent = my_useragent(); if(!config->useragent) { helpf(config->global->errors, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; } } return result; }
void main() { int i,x,y,key,ca,cb,j,aA,aB,bA,bB; char ch; Start: helpf(); gotoxy(15,16); printf("请按任意键开始游戏(按Q键退出)..."); ch=getch(); if(ch=='Q'||ch=='q') { window(1,1,25,80); textbackground(BLACK); textcolor(LIGHTGRAY); clrscr(); exit(0); } helpf(); for(i=0;i<3;i++) a[i]='A'; for(i=3;i<6;i++) a[i]='B'; for(i=0;i<6;i++) b[i]='0'; printcase(a,b); while(1) { gotoxy(20,18); printf("输入去彼岸商人的人数: "); scanf("%d",&x); gotoxy(20,18); printf("输入去彼岸随从的人数: "); scanf("%d",&y); for(ca=0,cb=0,i=0;i<6;i++) { if(a[i]=='A') ca++; else if(a[i]=='B') cb++; } if(x<0 || x>ca || y<0 || y>cb || x+y<1 ||x+y>2) { gotoxy(15,21); printf("输入有误!!按任意键重新开始..."); getch(); goto Start; } for(i=1;i<=x;i++) { for(j=0;j<6;j++) if(a[j]=='A') { a[j]='0'; break; } } for(i=1;i<=x;i++) { for(j=0;j<6;j++) if(b[j]=='0') { b[j]='A'; break; } } for(i=1;i<=y;i++) { for(j=0;j<6;j++) if(a[j]=='B') { a[j]='0'; break; } } for(i=1;i<=y;i++) { for(j=0;j<6;j++) if(b[j]=='0') { b[j]='B'; break; } } for(aA=0,aB=0,i=0;i<6;i++) { if(a[i]=='A') aA++; else if(a[i]=='B') aB++; } for(bA=0,bB=0,i=0;i<6;i++) { if(b[i]=='A') bA++; else if(b[i]=='B') bB++; } if((aA==3) ||(bA==3) || (aA==aB) || (bA==bB)) { helpf(); printcase(a,b); } else { gotoxy(15,21); printf("商人被杀,按任意键重新开始..."); getch(); goto Start; } gotoxy(20,18); printf("输入回此岸商人的人数: "); scanf("%d",&x); gotoxy(20,18); printf("输入回此岸随从的人数: "); scanf("%d",&y); for(ca=0,cb=0,i=0;i<6;i++) { if(b[i]=='A') ca++; else if(b[i]=='B') cb++; } if(x<0 || x>ca || y<0 || y>cb || x+y<1 || x+y>2) { gotoxy(15,21); printf("输入有误!!按任意键重新开始..."); getch(); goto Start; } for(i=1;i<=x;i++) { for(j=0;j<6;j++) if(b[j]=='A') { b[j]='0'; break; } } for(i=1;i<=x;i++) { for(j=0;j<6;j++) if(a[j]=='0') { a[j]='A'; break; } } for(i=1;i<=y;i++) { for(j=0;j<6;j++) if(b[j]=='B') { b[j]='0'; break; } } for(i=1;i<=y;i++) { for(j=0;j<6;j++) if(a[j]=='0') { a[j]='B'; break; } } for(aA=0,aB=0,i=0;i<6;i++) { if(a[i]=='A') aA++; else if(a[i]=='B') aB++; } for(bA=0,bB=0,i=0;i<6;i++) { if(b[i]=='A') bA++; else if(b[i]=='B') bB++; } if((aA==3) ||(bA==3) || (aA==aB) || (bA==bB)) { helpf(); printcase(a,b); } else { gotoxy(15,21); printf("商人被杀,按任意键重新开始..."); getch(); goto Start; } } }