📄 parser.c
字号:
/* Author:eveson <eveson.hu@gmail.com> website:http://eveson.cublog.cn */ #include "parser.h"int readconfig(const char filename[],char *key[],int len,char value[][255]){ FILE *fp; char buffer[255],row[255],temp[255],*p,*q; int i,m,n,k; if((fp = fopen(filename,"rb")) == NULL) { perror ("file open failed.\n"); return -1; } i = k = 0; while (fgets(row,255,fp) != NULL) { //delete the space char. q = row; m = n = 0; while(*q != '\0') { if(*q != ' ') { buffer[m] = row[n]; m++; n++; } else n++; q++; } buffer[m - 1] = '\0'; //delete the \n char. //part the variable and relevant value. p = buffer; k = 0; while (*p != '\0') { temp[k] = *p; if(*p == '=') { temp[k] = '\0'; for (i = 0;i < len;i++) { if(strcmp(temp,key[i]) == 0) { strcpy(value[i],p + 1); break; } } } k++; p++; } } fclose (fp); return 1;}void parser(char *s,char res[][255]){ int i,j = 0; for (i = 0;s[i] != '\r';i++) /* obtain the first line in http protocol head */ ; s[i] = '\0'; for (i = 0,j = 0;i < 3;i++,j++) /* divide the protocol head in blank */ { strcpy(res[j],strsep(&s," ")); }}int is_picture(char file[],char type[]){ char *fname,*p; int i,j = 0;; for (p = &file[strlen(file) + 1];*p != '/';p--) ; fname = p + 1; for (i = 0;fname[i] != '\0';i++) { if (fname[i] == '.') { strcpy(type,&fname[i + 1]); break; } } if (strcmp(type,"jpg") == 0 || strcmp(type,"png") == 0 || strcmp(type,"gif") == 0) return 1; else return 0;}void sig_child() /* clean child process */{ wait(NULL);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -