static void upload_do_del(char *path, char *filename) { char filepath[1024]; if (fixfilename(filename)) http_fatal("无效的文件名,请勿包含特殊字符(问号括号空格等)"); snprintf(filepath, sizeof (filepath), "%s/%s", path, filename); if (unlink(filepath) < 0) { printf("删除文件失败,“%s”<br>\n", filename); } }
int save_attach(char *path, int totalsize) { char *ptr, filename[100], filepath[256], pname[16]; FILE *fp; int i; struct parm_file *parmFile; for (i = 0; i < 10; i++) { sprintf(pname, "file%d", i); parmFile = getparmfile(pname); if (!parmFile) continue; //errlog("%s %d", parmFile->filename, parmFile->len); strsncpy(filename, parmFile->filename, sizeof (filename)); if (strlen(filename) >= 35) { ptr = strrchr(filename, '.'); if (ptr) { int len = strlen(ptr); if (len > 6) { ptr[6] = 0; len = 6; } memmove(filename + 35 - len, ptr, len + 1); } else filename[35] = 0; } if (fixfilename(filename)) { printf("无效的文件名:%s<br>", filename); continue; } if (parmFile->len + totalsize > MAXATTACHSIZE) { printf("文件 %s 过大,上载失败<br>", filename); continue; } sprintf(filepath, "%s/%s", path, filename); mkdir(path, 0760); fp = fopen(filepath, "w"); fwrite(parmFile->content, 1, parmFile->len, fp); fclose(fp); printf("文件 %s (%d字节) 上载成功<br>", filename, parmFile->len); totalsize += parmFile->len; } return totalsize; }
static void plotparam(char *paramname, int xpos, int ypos, int length, int digits) /***************************************/ /* display parameter with paramname at specified x-y position */ { char t[MAXPATHL]; int tree; xpos = (int) ( xpos * ppmm * wcmax / 400.0); tree = (strcmp(paramname,"h1freq")==0) ? SYSTEMGLOBAL : PROCESSED; getdstring(paramname,t,length,digits,tree,1); if ((strcmp(paramname,"file") == 0) && (strrchr( &t[ 0 ], DIRTERMCHAR ) != NULL)) fixfilename(t); if (strcmp(t,"undefined")==0) strcpy(t,"---"); if (xpos + ((int) strlen(t)+1) * xcharpixels > mnumxpnts) xpos = mnumxpnts - (strlen(t)+1) * xcharpixels; if (debug1) Wscrprintf("param %s is %s\n",paramname,t); amove(xpos,(int)(ypos*ppmm/ymultiplier)); dstring(t); }