156 |
|
|
157 |
|
|
158 |
static gpgme_error_t |
static gpgme_error_t |
159 |
rebuild_cache_start( gpgme_ctx_t c ) |
rebuild_cache_start (gpgme_ctx_t c) |
160 |
{ |
{ |
161 |
gpgme_error_t rc = 0; |
gpgme_error_t rc = 0; |
162 |
|
|
163 |
_gpgme_gpg_release( &c->gpg ); |
_gpgme_gpg_release (&c->gpg); |
164 |
rc = _gpgme_gpg_new( &c->gpg ); |
rc = _gpgme_gpg_new (&c->gpg); |
165 |
if( rc ) |
if (rc) |
166 |
goto leave; |
goto leave; |
167 |
|
|
168 |
_gpgme_gpg_add_arg( c->gpg, "--rebuild-keydb-cache" ); |
_gpgme_gpg_add_arg (c->gpg, "--rebuild-keydb-cache"); |
169 |
rc = _gpgme_gpg_spawn( c->gpg, c ); |
rc = _gpgme_gpg_spawn (c->gpg, c); |
170 |
|
|
171 |
leave: |
leave: |
172 |
if( rc ) { |
if (rc) { |
173 |
c->pending = 0; |
c->pending = 0; |
174 |
_gpgme_gpg_release( &c->gpg ); |
_gpgme_gpg_release (&c->gpg); |
175 |
} |
} |
176 |
return rc; |
return rc; |
177 |
} /* rebuild_cache_start */ |
} /* rebuild_cache_start */ |
178 |
|
|
179 |
|
|
180 |
gpgme_error_t |
gpgme_error_t |
181 |
gpgme_op_rebuild_cache( void ) |
gpgme_op_rebuild_cache (void) |
182 |
{ |
{ |
183 |
gpgme_error_t err; |
gpgme_error_t err; |
184 |
gpgme_ctx_t ctx; |
gpgme_ctx_t ctx; |
185 |
|
|
186 |
err = gpgme_new( &ctx ); |
err = gpgme_new (&ctx); |
187 |
if( err ) |
if (err) |
188 |
return err; |
return err; |
189 |
err = rebuild_cache_start( ctx ); |
err = rebuild_cache_start (ctx); |
190 |
if( !err ) { |
if (!err) { |
191 |
gpgme_wait( ctx, 1 ); |
gpgme_wait (ctx, 1); |
192 |
ctx->pending = 0; |
ctx->pending = 0; |
193 |
} |
} |
194 |
gpgme_release( ctx ); |
gpgme_release (ctx); |
195 |
|
|
196 |
return err; |
return err; |
197 |
} /* gpgme_op_rebuild_cache */ |
} /* gpgme_op_rebuild_cache */ |