From: Stephen D. <sd...@gm...> - 2005-06-24 20:41:12
|
On 6/24/05, abe-t <it...@us...> wrote: > Update of /cvsroot/naviserver/naviserver/nsd > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18008/nsd >=20 > Modified Files: > return.c > Log Message: > Added Ns_ConnReturnPath to open a file and send its contents > via the connection. >=20 >=20 > Index: return.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvsroot/naviserver/naviserver/nsd/return.c,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -C2 -d -r1.5 -r1.6 > *** return.c 11 Jun 2005 20:04:11 -0000 1.5 > --- return.c 24 Jun 2005 08:42:02 -0000 1.6 > *************** > *** 1362,1363 **** > --- 1362,1397 ---- > return result; > } > + > + /* > + *---------------------------------------------------------------------= - > + * > + * Ns_ConnReturnPath -- > + * > + * Open a path and send contents out the conn. > + * > + * Results: > + * See ReturnOpen. > + * > + * Side effects: > + * See ReturnOpen. > + * > + * Note: > + * Added by Archiware > + * > + *---------------------------------------------------------------------= - > + */ > + > + NS_EXPORT int > + Ns_ConnReturnPath(Ns_Conn *conn, int status, char *type, char *path, in= t len); > + > + int > + Ns_ConnReturnPath(Ns_Conn *conn, int status, char *type, char *path, in= t len) > + { > + int fd =3D open(path, O_RDONLY|O_BINARY); > + int rv; > + > + if (fd < 0) return -1; > + rv =3D ReturnOpen(conn, status, type, NULL, NULL, fd, len); > + close(fd); > + return rv; > + } I noticed a couple of problems with this change: The function declaration should never come immediately before the definition; you're not getting any extra checking from the compiler this way. Private (static) declarations go at the top of the file, declarations private to a module go in private headers (nsd.h in this case) and have no underscore in the prefix (NsConnReturnPath), and public declarations go in include/ns.h which is where this one lives. There's no 'Note:' section in the comments where you can put 'Added by Archiware'. Be verbose in the commit message/ChangeLog if you must. The body of an 'if' statement is always enclosed in braces. Do only simple initialisation of variables in the variable declaration block.=20 You can pick this up by looking at existing code, but here's our new style guidelines doc, such as it is: http://naviserver.sourceforge.net/wiki/index.php/Code_Standards Finally, is this function necessary? Ns_ConnReturnFile already exists in fastpath.c. |