📄 makefsdata
字号:
#!/usr/bin/perlopen(OUTPUT, "> fsdata.c");chdir("fs");open(FILES, "find . -type f -o -name CVS -a -prune -type f |");while($file = <FILES>) { chop($file); open(HEADER, "> /tmp/header") || die $!; print(HEADER "HTTP/1.0 200 OK\r\n"); if($file =~ /\.html$/) { print(HEADER "Content-Type: text/html\r\n"); } elsif($file =~ /\.gif$/) { print(HEADER "Content-Type: image/gif\r\n"); } elsif($file =~ /\.png$/) { print(HEADER "Content-Type: image/png\r\n"); } elsif($file =~ /\.jpg$/) { print(HEADER "Content-Type: image/jpeg\r\n"); } else { print(HEADER "Content-Type: text/plain\r\n"); } print(HEADER "\r\n"); close(HEADER); system("cat /tmp/header $file > /tmp/file"); open(FILE, "/tmp/file"); unlink("/tmp/file"); unlink("/tmp/header"); $file =~ s/\.//; $fvar = $file; $fvar =~ s-/-_-g; $fvar =~ s-\.-_-g; print(OUTPUT "static const char data".$fvar."[] = {\n"); $i = 0; while(read(FILE, $data, 1)) { if($i == 0) { print(OUTPUT "\t"); } printf(OUTPUT "%#02x, ", unpack("C", $data)); $i++; if($i == 10) { print(OUTPUT "\n"); $i = 0; } } print(OUTPUT "};\n\n"); close(FILE); push(@fvars, $fvar); push(@files, $file);}for($i = 0; $i < @fvars; $i++) { $file = $files[$i]; $fvar = $fvars[$i]; if($i == 0) { $prevfile = "NULL"; } else { $prevfile = "file" . $fvars[$i - 1]; } print(OUTPUT "static const struct fsdata_file file".$fvar."[] = {{$prevfile, \"$file\", "); print(OUTPUT "data$fvar, sizeof(data$fvar)}};\n\n");}print(OUTPUT "#define FS_ROOT file$fvars[$i - 1]\n\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -