These functions are all part of the "public" api, so they could conceivably be used in C extensions. How many of them actually are used is another story of course, and it's far from clear if anyone is developing C extensions.
In general, I think it's a good thing to have a rich API, including convenience functions (e.g., Ns_CacheSetValue) and plain old utility packages, like the Ns_List functions that aren't used but aren't hurting anything either. Duplicating functionality just makes for a confusing API, so the deprecated functions (which specifically do have a preferred replacement) can be eliminated, perhaps as part of a version bump. Some of these should have tcl apis around them, such as the Cls functions. AOLserver has 'ns_cls' tcl functions for these. Of course, these aren't needed without other capabilities like queue-wait or pre-write callbacks as otherwise conn=interp=conn. The APIs that should be more closely examined are those for actually using the platform, like the ConnSend and ConnWrite and WriteConn functions - just what is the difference between these? There should be one general way (including convenience wrappers) to specify data to be sent, but it seems like there's a lot more than that. -J Gustaf Neumann wrote: > Dear elders of the naviserver list, > > below is a list of about 120 C-functions, which are not used by the > current naviserver. A few (about 5) were obsoleted by me, but the > majority is jsut sitting around. Since these functions are not called by > naviserver this functions are not covered by the regression test. i > think it is time for a major cleanup. > > - most of the deprecated functions were deprecated 2005, a few 2007. > Are there arguments against dropping these now? > > - what should we do with the unused functions? > Delete these as well? > Mark these as deprecated? > Discuss these in more detail? > > Even when the functions are deleted, they are not lost, reviving these > in the case someome needs it could be done quickly. > > -gustaf neumann > > > Deprecated: > > Ns_BindSock > Ns_ConnFlushHeaders > Ns_ConnInit > Ns_ConnLocation > Ns_ConnQueueHeaders > Ns_ConnResetReturn > Ns_ConnSetRequiredHeaders > Ns_ConnWrite > Ns_DStringPop > Ns_DStringPush > Ns_DecodeUrlCharset > Ns_DecodeUrlWithEncoding > Ns_EncodeUrlCharset > Ns_EncodeUrlWithEncoding > Ns_FreeConnInterp > Ns_GetEncoding > Ns_PageRoot > Ns_SetLocationProc > Ns_SetLogFlushProc > Ns_SetNsLogProc > Ns_TclInitInterps > Ns_TclLogErrorRequest > Ns_TclRegisterAtCleanup > Ns_TclRegisterAtCreate > Ns_TclRegisterAtDelete > Ns_TclRegisterDeferred > Ns_WriteCharConn > Ns_WriteConn > > > Not used: > > Ns_AbsoluteUrl > Ns_AdpAppend > Ns_AdpFlush > Ns_AdpGetOutput > Ns_AdpRequestEx > Ns_AuthorizeUser > Ns_CacheSetValue > Ns_CacheSignal > Ns_CacheTryLock > Ns_CacheWait > Ns_ClearSockErrno > Ns_ClsAlloc > Ns_ClsGet > Ns_ClsSet > Ns_CompressGzip > Ns_ConnCopyToDString > Ns_ConnCopyToFd > Ns_ConnCopyToFile > Ns_ConnFlushContent > Ns_ConnGets > Ns_ConnPuts > Ns_ConnReadHeaders > Ns_ConnReturnAdminNotice > Ns_ConnReturnHtml > Ns_ConnReturnNoResponse > Ns_ConnReturnNotImplemented > Ns_ConnReturnOk > Ns_ConnReturnOpenFile > Ns_ConnSendDString > Ns_ConnSendFd > Ns_ConnWriteChars > Ns_ConnWriteData > Ns_DriverInit > Ns_FreeRequest > Ns_GetAllAddrByHost > Ns_GetRequest > Ns_GetSockErrno > Ns_GetThreadServer > Ns_GetUserHome > Ns_IndexDel > Ns_IndexDup > Ns_IndexFindInf > Ns_IndexIntInit > Ns_IndexStringAppend > Ns_IndexStringDestroy > Ns_IndexStringDup > Ns_IndexStringInit > Ns_IndexStringTrunc > Ns_IntPrint > Ns_LibPath > Ns_ListCopy > Ns_ListDeleteDuplicates > Ns_ListDeleteIf > Ns_ListDeleteLowElements > Ns_ListFree > Ns_ListLast > Ns_ListLength > Ns_ListMapcar > Ns_ListNmapcar > Ns_ListPrint > Ns_NextWord > Ns_ObjvDouble > Ns_ObjvEval > Ns_ObjvIndex > Ns_ObjvLong > Ns_RelativeUrl > Ns_SetListFree > Ns_SetThreadServer > Ns_SkipUrl > Ns_SockPipe > Ns_SockPortBound > Ns_SockRecv > Ns_SockRecvBufs > Ns_SockSend > Ns_SockSendFileBufs > Ns_SockStrError > Ns_SockTimedConnect > Ns_SockWait > Ns_StrNSt > Ns_StringArgProc > Ns_UrlIsDir > Ns_UrlIsFile > Ns_UrlSpecificGetExact > Ns_UrlSpecificGetFast > Ns_VarAppend > Ns_VarExists > Ns_VarGet > Ns_VarIncr > Ns_VarSet > Ns_VarUnset > Ns_WaitProcess > ns_closeonexec > ns_duphigh > ns_socknbclose > > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122912 > _______________________________________________ > naviserver-devel mailing list > naviserver-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/naviserver-devel > ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122912 _______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel