#include "portable.h"
#include <stdio.h>
-#include <stdlib.h>
+
+#include <ac/stdlib.h>
#include <ac/signal.h>
#include <ac/string.h>
#include <ac/time.h>
#include <ac/wait.h>
#include <ac/unistd.h>
-extern char *strdup (const char *);
-extern char * mktemp(char *);
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#include <lber.h>
#include <ldap.h>
-#include <ldapconfig.h>
+#include <ldap_defaults.h>
#include "ud.h"
static int load_editor( void );
}
dn = ldap_get_dn(ld, ldap_first_entry(ld, mp));
rdns = ldap_explode_dn(dn, TRUE);
- Free(dn);
+ ldap_memfree(dn);
if (verbose) {
printf("\n Editing directory entry \"%s\"...\n", *rdns);
}
FILE *fp;
char *cp, *editor = UD_DEFAULT_EDITOR;
static char template[MED_BUF_SIZE];
+#ifndef HAVE_SPAWNLP
int pid;
int status;
+#endif
int rc;
- void (*handler)();
#ifdef DEBUG
if (debug & D_TRACE)
}
else if (pid > 0) {
/* parent - wait until the child proc is done editing */
+ RETSIGTYPE (*handler)();
handler = SIGNAL(SIGINT, SIG_IGN);
(void) wait(&status);
(void) SIGNAL(SIGINT, handler);
register int i, j;
for (i = 0; attrs[i].quipu_name != NULL; i++) {
- if (!modifiable(attrs[i].quipu_name, flag|ATTR_FLAG_MAY_EDIT))
+ if (!modifiable(attrs[i].quipu_name,
+ (short) (flag|ATTR_FLAG_MAY_EDIT)))
+ {
continue;
+ }
+
fprintf(fp, "%s\n", attrs[i].quipu_name);
if ( attrs[i].number_of_values > MAX_VALUES ) {
printf(" The %s attribute has more than %d values.\n",
cp = line;
if (*cp == '#')
continue;
- if (isspace(*cp)) { /* value */
- while (isspace(*cp))
+ if (isspace((unsigned char)*cp)) { /* value */
+ while (isspace((unsigned char)*cp))
cp++;
values[number_of_values++] = strdup(cp);
if ( number_of_values >= MAX_VALUES ) {
continue;
}
/* attribute */
- while (isspace(*cp))
+ while (isspace((unsigned char)*cp))
cp++;
/*
* If the number of values is greater than zero, then we