Mercurial > noffle
comparison outgoing.c @ 26:526a4c34ee2e noffle
[svn] Applied patch from Jim Hague: support for local groups / new command
line options --create and --cancel.
author | enz |
---|---|
date | Sat, 29 Apr 2000 15:45:56 +0100 |
parents | 04124a4423d4 |
children |
comparison
equal
deleted
inserted
replaced
25:ab6cf19be6d3 | 26:526a4c34ee2e |
---|---|
1 /* | 1 /* |
2 outgoing.c | 2 outgoing.c |
3 | 3 |
4 $Id: outgoing.c 3 2000-01-04 11:35:42Z enz $ | 4 $Id: outgoing.c 32 2000-04-29 14:45:56Z enz $ |
5 */ | 5 */ |
6 | 6 |
7 #include "outgoing.h" | 7 #include "outgoing.h" |
8 | 8 |
9 #include <dirent.h> | 9 #include <dirent.h> |
41 if ( r != 0 ) | 41 if ( r != 0 ) |
42 Log_dbg( "mkdir: %s", strerror( errno ) ); | 42 Log_dbg( "mkdir: %s", strerror( errno ) ); |
43 } | 43 } |
44 | 44 |
45 Bool | 45 Bool |
46 Out_add( const char *serv, const Str msgId, const DynStr *artTxt ) | 46 Out_add( const char *serv, const char *msgId, const DynStr *artTxt ) |
47 { | 47 { |
48 Str file; | 48 Str file; |
49 FILE *f; | 49 FILE *f; |
50 | 50 |
51 fileOutgoing( file, serv, msgId ); | 51 fileOutgoing( file, serv, msgId ); |
109 fclose( f ); | 109 fclose( f ); |
110 return TRUE; | 110 return TRUE; |
111 } | 111 } |
112 | 112 |
113 void | 113 void |
114 Out_remove( const char *serv, Str msgId ) | 114 Out_remove( const char *serv, const char *msgId ) |
115 { | 115 { |
116 Str file; | 116 Str file; |
117 | 117 |
118 fileOutgoing( file, serv, msgId ); | 118 fileOutgoing( file, serv, msgId ); |
119 if ( unlink( file ) != 0 ) | 119 if ( unlink( file ) != 0 ) |
120 Log_err( "Cannot remove %s", file ); | 120 Log_err( "Cannot remove %s", file ); |
121 } | 121 } |
122 | |
123 Bool | |
124 Out_find( const char *msgId, Str server ) | |
125 { | |
126 Str servdir; | |
127 DIR *d; | |
128 struct dirent *entry; | |
129 Bool res; | |
130 | |
131 | |
132 snprintf( servdir, MAXCHAR, "%s/outgoing", Cfg_spoolDir() ); | |
133 if ( ! ( d = opendir( servdir ) ) ) | |
134 { | |
135 Log_dbg( "Cannot open %s", servdir ); | |
136 return FALSE; | |
137 } | |
138 | |
139 readdir( d ); /* '.' */ | |
140 readdir( d ); /* '..' */ | |
141 | |
142 res = FALSE; | |
143 while ( ! res && ( entry = readdir( d ) ) != NULL ) | |
144 { | |
145 Str file; | |
146 struct stat s; | |
147 | |
148 fileOutgoing( file, entry->d_name, msgId ); | |
149 if ( stat( file, &s ) == 0 ) | |
150 { | |
151 res = TRUE; | |
152 Utl_cpyStr( server, entry->d_name ); | |
153 } | |
154 } | |
155 | |
156 closedir( d ); | |
157 return res; | |
158 } | |
159 | |
160 | |
161 | |
162 | |
163 |