From: Vlad S. <ser...@us...> - 2005-06-13 16:04:43
|
Update of /cvsroot/naviserver/modules/nsimap In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2950/nsimap Modified Files: nsimap.c Log Message: silenced more compiler warnings Index: nsimap.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsimap/nsimap.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** nsimap.c 12 Jun 2005 22:34:23 -0000 1.3 --- nsimap.c 13 Jun 2005 16:04:33 -0000 1.4 *************** *** 24,29 **** */ - static const char *RCSID = "@(#) $Header$, compiled: " __DATE__ " " __TIME__; - /* * nsimap.c -- Interface to c-client Mail library --- 24,27 ---- *************** *** 267,270 **** --- 265,270 ---- #include <setjmp.h> + NS_RCSID("@(#) $Header$"); + #define VERSION "3.2.3" *************** *** 307,311 **** static char *strStripHtml(char *str,char *tags[]); static char *strLower(char *str); ! static void mailGc(mailServer *server); static void mm_parseline(ENVELOPE *env,char *hdr,char *data,char *host); void mm_getquota(MAILSTREAM *stream,char *qroot,QUOTALIST *qlist); --- 307,311 ---- static char *strStripHtml(char *str,char *tags[]); static char *strLower(char *str); ! static void mailGc(void *arg); static void mm_parseline(ENVELOPE *env,char *hdr,char *data,char *host); void mm_getquota(MAILSTREAM *stream,char *qroot,QUOTALIST *qlist); *************** *** 699,704 **** // Garbage collection routine, closes expired sessions ! static void mailGc(mailServer *server) { mailSession *session; time_t now = time(0); --- 699,705 ---- // Garbage collection routine, closes expired sessions ! static void mailGc(void *arg) { + mailServer *server = arg; mailSession *session; time_t now = time(0); *************** *** 853,858 **** case cmdDecode: { // Decode text into plain 8bit string ! char *data; int len = 0; if(objc < 4) { Tcl_AppendResult(interp, "wrong # args: should be ns_imap ",sCmd[cmd]," type text",0); --- 854,861 ---- case cmdDecode: { // Decode text into plain 8bit string ! char *data; ! void *vdata; int len = 0; + unsigned long llen; if(objc < 4) { Tcl_AppendResult(interp, "wrong # args: should be ns_imap ",sCmd[cmd]," type text",0); *************** *** 862,882 **** // Decode BASE64 encoded text */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"base64")) { ! data = (char *)rfc822_base64(data,num=len,&len); ! Tcl_SetObjResult(interp,Tcl_NewByteArrayObj(data,(int)len)); ! fs_give(&data); return TCL_OK; } else // Convert a quoted-printable string to an 8-bit string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"qprint")) { ! data = (char *)rfc822_qprint(data,num=len,&len); ! Tcl_SetObjResult(interp,Tcl_NewByteArrayObj(data,(int)len)); ! fs_give(&data); return TCL_OK; } else // Convert a UTF7 an 8-bit string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"utf7")) { ! if((data = utf7_decode(data,(int)(num=len),(int*)&len))) { Tcl_SetObjResult(interp,Tcl_NewByteArrayObj(data,(int)len)); ! ns_free(data); return TCL_OK; } --- 865,885 ---- // Decode BASE64 encoded text */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"base64")) { ! vdata = (char *)rfc822_base64(data,num=len,&llen); ! Tcl_SetObjResult(interp,Tcl_NewByteArrayObj(vdata,(int)llen)); ! fs_give(&vdata); return TCL_OK; } else // Convert a quoted-printable string to an 8-bit string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"qprint")) { ! vdata = (char *)rfc822_qprint(data,num=len,&llen); ! Tcl_SetObjResult(interp,Tcl_NewByteArrayObj(vdata,(int)llen)); ! fs_give(&vdata); return TCL_OK; } else // Convert a UTF7 an 8-bit string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"utf7")) { ! if((data = utf7_decode(data,(int)(num=len),&len))) { Tcl_SetObjResult(interp,Tcl_NewByteArrayObj(data,(int)len)); ! ns_free(vdata); return TCL_OK; } *************** *** 887,892 **** --- 890,897 ---- case cmdEncode: { // Encode plain 8bit string + void *vdata; char *data; int len = 0; + unsigned long llen; if(objc < 4) { Tcl_AppendResult(interp, "wrong # args: should be ns_imap ",sCmd[cmd]," type text",0); *************** *** 896,914 **** // Convert an 8bit string to a quoted printable string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"qprint")) { ! data = (char *)rfc822_8bit(data,num=len,&len); ! Tcl_SetObjResult(interp,Tcl_NewStringObj(data,(int)len)); ! fs_give(&data); return TCL_OK; } else // Convert an 8bit string to a base64 string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"base64")) { ! data = (char *)rfc822_binary(data,num=len,&len); ! Tcl_SetObjResult(interp,Tcl_NewStringObj(data,(int)len)); ! fs_give(&data); return TCL_OK; } else // Convert a 8-bit string into UTF7 */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"utf7")) { ! if((data = utf7_encode(data,(int)(num=len),(int*)&len))) { Tcl_SetObjResult(interp,Tcl_NewStringObj(data,(int)len)); ns_free(data); --- 901,919 ---- // Convert an 8bit string to a quoted printable string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"qprint")) { ! vdata = (char *)rfc822_8bit(data,num=len,&llen); ! Tcl_SetObjResult(interp,Tcl_NewStringObj(vdata,(int)llen)); ! fs_give(&vdata); return TCL_OK; } else // Convert an 8bit string to a base64 string */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"base64")) { ! vdata = (char *)rfc822_binary(data,num=len,&llen); ! Tcl_SetObjResult(interp,Tcl_NewStringObj(vdata,(int)llen)); ! fs_give(&vdata); return TCL_OK; } else // Convert a 8-bit string into UTF7 */ if(!strcmp(Tcl_GetStringFromObj(objv[2],0),"utf7")) { ! if((data = utf7_encode(data,(int)(num=len),&len))) { Tcl_SetObjResult(interp,Tcl_NewStringObj(data,(int)len)); ns_free(data); *************** *** 1140,1144 **** BODY *body = 0; PARAMETER *filename; ! char *text,*fname = 0,*data = 0; unsigned long len,decode = 0,mode = 0; --- 1145,1150 ---- BODY *body = 0; PARAMETER *filename; ! void *data = 0; ! char *text,*fname = 0; unsigned long len,decode = 0,mode = 0; *************** *** 1394,1400 **** long flags = 0; SORTPGM pgm; SEARCHPGM *spg = 0; ! unsigned long *ids,*id; ! static char* sSort[] = {"date","arrival","from","subject","to","cc","size",0}; static int iSort[] = { SORTDATE,SORTARRIVAL,SORTFROM,SORTSUBJECT,SORTTO,SORTCC,SORTSIZE}; if(objc < 5) { --- 1400,1407 ---- long flags = 0; SORTPGM pgm; + void *vdata; SEARCHPGM *spg = 0; ! unsigned long *id, *ids; ! static const char* sSort[] = {"date","arrival","from","subject","to","cc","size",0}; static int iSort[] = { SORTDATE,SORTARRIVAL,SORTFROM,SORTSUBJECT,SORTTO,SORTCC,SORTSIZE}; if(objc < 5) { *************** *** 1408,1416 **** spg = mail_newsearchpgm(); if(objc == 6) mailFlags(Tcl_GetStringFromObj(objv[5],0),&flags); ! if((ids = mail_sort(session->stream,0,spg,&pgm,flags))) { session->list = Tcl_NewListObj(0,0); for(id = ids;*id;id++) Tcl_ListObjAppendElement(interp,session->list,Tcl_NewIntObj((int)*id)); ! fs_give(&ids); Tcl_SetObjResult(interp,session->list); } --- 1415,1423 ---- spg = mail_newsearchpgm(); if(objc == 6) mailFlags(Tcl_GetStringFromObj(objv[5],0),&flags); ! if((vdata = ids = mail_sort(session->stream,0,spg,&pgm,flags))) { session->list = Tcl_NewListObj(0,0); for(id = ids;*id;id++) Tcl_ListObjAppendElement(interp,session->list,Tcl_NewIntObj((int)*id)); ! fs_give(&vdata); Tcl_SetObjResult(interp,session->list); } *************** *** 1804,1808 **** case ST_DECODE1: outp[1] = UNB64(*inp); ! *outp++ |= outp[1] >> 4; *outp <<= 4; state = ST_DECODE2; --- 1811,1816 ---- case ST_DECODE1: outp[1] = UNB64(*inp); ! *outp = outp[1] >> 4; ! outp++; *outp <<= 4; state = ST_DECODE2; *************** *** 1810,1814 **** case ST_DECODE2: outp[1] = UNB64(*inp); ! *outp++ |= outp[1] >> 2; *outp <<= 6; state = ST_DECODE3; --- 1818,1823 ---- case ST_DECODE2: outp[1] = UNB64(*inp); ! *outp = outp[1] >> 2; ! outp++; *outp <<= 6; state = ST_DECODE3; *************** *** 1874,1878 **** if(inp == endp || !SPECIAL(*inp)) { /* flush overflow and terminate region */ ! if(state != ST_ENCODE0) *outp++ = B64(*outp); *outp++ = '-'; state = ST_NORMAL; --- 1883,1890 ---- if(inp == endp || !SPECIAL(*inp)) { /* flush overflow and terminate region */ ! if(state != ST_ENCODE0) { ! *outp = B64(*outp); ! outp++; ! } *outp++ = '-'; state = ST_NORMAL; *************** *** 1882,1897 **** case ST_ENCODE0: *outp++ = B64(*inp >> 2); ! *outp = *inp++ << 4; ! state = ST_ENCODE1; ! break; case ST_ENCODE1: ! *outp++ = B64(*outp | *inp >> 4); ! *outp = *inp++ << 2; ! state = ST_ENCODE2; ! break; case ST_ENCODE2: ! *outp++ = B64(*outp | *inp >> 6); ! *outp++ = B64(*inp++); ! state = ST_ENCODE0; case ST_NORMAL: break; --- 1894,1911 ---- case ST_ENCODE0: *outp++ = B64(*inp >> 2); ! *outp = *inp++ << 4; ! state = ST_ENCODE1; ! break; case ST_ENCODE1: ! *outp = B64(*outp | *inp >> 4); ! outp++; ! *outp = *inp++ << 2; ! state = ST_ENCODE2; ! break; case ST_ENCODE2: ! *outp = B64(*outp | *inp >> 6); ! outp++; ! *outp++ = B64(*inp++); ! state = ST_ENCODE0; case ST_NORMAL: break; |