[Nice-commit] Nice/src/nice/tools/doc htmlwriter.nice,1.13,1.14
Brought to you by:
bonniot
From: Francis B. <fb...@us...> - 2004-08-08 10:17:05
|
Update of /cvsroot/nice/Nice/src/nice/tools/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20458/src/nice/tools/doc Modified Files: htmlwriter.nice Log Message: Filenames should now be compatible with all operating systems. Index: htmlwriter.nice =================================================================== RCS file: /cvsroot/nice/Nice/src/nice/tools/doc/htmlwriter.nice,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** htmlwriter.nice 4 Aug 2004 14:54:21 -0000 1.13 --- htmlwriter.nice 8 Aug 2004 10:16:56 -0000 1.14 *************** *** 33,38 **** */ class HTMLWriter { ! //mainPackage = mainPackage.deleteAtEnd("/").replace('/', "."); ! /** * Default implementation - does nothing --- 33,37 ---- */ class HTMLWriter { ! /** * Default implementation - does nothing *************** *** 59,62 **** --- 58,63 ---- //this should also work when "." is not found fileName = fileName.substring(fileName.lastIndexOf(".") + 1); + //escape any characters that might be illegal for the filesystem + fileName = escapeFilename(fileName); BufferedWriter writer = new BufferedWriter (new FileWriter(new File(dir, fileName + ".html"))); *************** *** 139,143 **** BufferedWriter writer = new BufferedWriter ! (new FileWriter(new File(dir, "gv_" gv.getName() ".html"))); writer.write(getHeader(gv.getName().toString())); --- 140,144 ---- BufferedWriter writer = new BufferedWriter ! (new FileWriter(new File(dir, "gv_" escapeFilename("" gv.getName()) ".html"))); writer.write(getHeader(gv.getName().toString())); *************** *** 170,174 **** BufferedWriter writer = new BufferedWriter ! (new FileWriter(new File(dir, calculateMethodFilename(m)))); writer.write(getHeader(m.getName().toString())); --- 171,175 ---- BufferedWriter writer = new BufferedWriter ! (new FileWriter(new File(dir, escapeFilename(getMethodFilename(m)) + ".html"))); writer.write(getHeader(m.getName().toString())); *************** *** 237,241 **** if(index != s.length()-1) s = s.substring(index+1); ! writer.write("<li><a href='" + s + ".html'>" + s + "</a></li>\n"); } writer.write("</ul>\n"); --- 238,242 ---- if(index != s.length()-1) s = s.substring(index+1); ! writer.write("<li><a href='" + escapeFilename(s) + ".html'>" + s + "</a></li>\n"); } writer.write("</ul>\n"); *************** *** 247,251 **** writer.write("<ul>\n"); for(MethodDeclaration m : methods) { ! writer.write("<li><a href='" calculateMethodFilename(m) "'>" m.getName() "</a>" + ": " m.getType() "</li>\n"); } --- 248,252 ---- writer.write("<ul>\n"); for(MethodDeclaration m : methods) { ! writer.write("<li><a href='" escapeFilename(getMethodFilename(m)) ".html'>" m.getName() "</a>" + ": " m.getType() "</li>\n"); } *************** *** 258,262 **** writer.write("<ul>\n"); for(GlobalVarDeclaration gv : globalVars) { ! writer.write("<li><a href='gv_" gv.getName() ".html'>" gv.getName() "</a></li>\n"); } writer.write("</ul>\n"); --- 259,263 ---- writer.write("<ul>\n"); for(GlobalVarDeclaration gv : globalVars) { ! writer.write("<li><a href='gv_" escapeFilename("" gv.getName()) ".html'>" gv.getName() "</a></li>\n"); } writer.write("</ul>\n"); *************** *** 382,388 **** * This method returns a file name based upon the method name and its arguments. */ ! String calculateMethodFilename(MethodDeclaration md) { ! String filename = md.getName().toString() + md.getType().toString().hashCode(); ! filename = filename.replace('/', "@slash").replace('.', "@dot"); ! return filename + ".html"; } \ No newline at end of file --- 383,412 ---- * This method returns a file name based upon the method name and its arguments. */ ! String getMethodFilename(MethodDeclaration md) { ! return md.getName().toString() + md.getType().toString().hashCode(); ! } ! ! /** ! * Checks a filename to make sure it doesn't contain funny characters. ! */ ! String escapeFilename(String filename) { ! char[] chars = filename.toCharArray(); ! StringBuffer buf = new StringBuffer(); ! for(char c : chars) { ! if(!Character.isLetterOrDigit(c)) { ! buf.append('$'); ! buf.append(hexEncode(int(c))); ! } ! else { ! buf.append(c); ! } ! } ! return buf.toString(); ! } ! ! String hexEncode(int i) { ! String num = Integer.toHexString(i); ! for(int pad = num.length(); pad < 4; pad++) ! num = "0" + num; ! return num.toUpperCase(); } \ No newline at end of file |