nscd_flush_cache() to const. This avoids a lot of warnings. * lib/nscd.c: Include "nscd.h" to avoid inconsistent prototypes.
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Author: Peter Vrabec <pvrabec@redhat.com> */
 | |
| 
 | |
| /* because of TEMP_FAILURE_RETRY */
 | |
| #define _GNU_SOURCE
 | |
| 
 | |
| #include <features.h>
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| #include <unistd.h>
 | |
| #include <spawn.h>
 | |
| #include <errno.h>
 | |
| #include <sys/wait.h>
 | |
| #include <sys/types.h>
 | |
| #include "nscd.h"
 | |
| 
 | |
| /*
 | |
|  * nscd_flush_cache - flush specified service buffer in nscd cache
 | |
|  */
 | |
| int nscd_flush_cache (const char *service)
 | |
| {
 | |
| 	pid_t pid, termpid;
 | |
| 	int err, status;
 | |
| 	char *spawnedArgs[] = {"/usr/sbin/nscd", "nscd", "-i", service, NULL};
 | |
| 	char *spawnedEnv[] = {NULL};
 | |
| 
 | |
| 	/* spawn process */
 | |
| 	if( (err=posix_spawn(&pid, spawnedArgs[0], NULL, NULL,
 | |
| 			     spawnedArgs, spawnedEnv)) !=0 ) 
 | |
| 	{
 | |
| 		fprintf(stderr, "posix_spawn() error=%d\n", err);
 | |
| 		return -1;
 | |
| 	}
 | |
| 
 | |
| 	/* Wait for the spawned process to exit */	
 | |
| 	termpid = TEMP_FAILURE_RETRY (waitpid (pid, &status, 0));
 | |
| 	if (termpid == -1)
 | |
| 	{
 | |
| 		perror("waitpid");
 | |
| 		return -1;
 | |
| 	}
 | |
| 	else if (termpid != pid)
 | |
| 	{
 | |
| 		fprintf(stderr, "waitpid returned %ld != %ld\n",
 | |
| 			 (long int) termpid, (long int) pid);
 | |
| 		return -1;
 | |
| 	}
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| 
 |