aboutsummaryrefslogtreecommitdiff
path: root/src/sysvinit.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-01-08 15:31:17 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2016-01-08 16:17:35 +0200
commit489432d354d88049afe4af54c29965d382d67f7a (patch)
tree84725496a92564824f75f0a2edd5a595411ffab2 /src/sysvinit.c
parent3325fed2895f079486b88c65409c73153fec306f (diff)
downloadpies-489432d354d88049afe4af54c29965d382d67f7a.tar.gz
pies-489432d354d88049afe4af54c29965d382d67f7a.tar.bz2
Uniformly use grecs memory management functions.
* gnulib.modules: Remove unneded modules. * ident/ident.h: Remove xalloc.h, include errno.h * ident/ident.c: Use standard allocation functions instead of x* * ident/pam.c: Remove. * ident/provider.c: Remove. * ident/system.c: Remove. * src/meta.c: Remove. * src/Makefile.am: Remove meta.c * src/progman.c: Use grecs_* allocation functions instead of x*. (notify): Use wordsplit to expand variables within message. Rename variables: program-name to program_name; canonical-program-name to canonical_program_name. * doc/pies.texi: Update. * src/depmap.c: Use grecs_* allocation functions instead of x*. (depmap_end): New function. * src/diag.c (logmsg_vprintf): Use grecs_txtacc instead of obstack. * src/pies.h (depmap_end): New proto. Remove unused includes. * src/acl.c: Use grecs_* allocation functions instead of x*. * src/ctl.c: Likewise. * src/inetd.c: Likewise. * src/limits.c: Likewise. * src/meta1gram.y: Likewise. * src/meta1lex.l: Likewise. * src/pies.c: Likewise. * src/socket.c: Likewise. * src/sysvinit.c: Likewise. * src/userprivs.c: Likewise.
Diffstat (limited to 'src/sysvinit.c')
-rw-r--r--src/sysvinit.c60
1 files changed, 31 insertions, 29 deletions
diff --git a/src/sysvinit.c b/src/sysvinit.c
index faa504a..965bce2 100644
--- a/src/sysvinit.c
+++ b/src/sysvinit.c
@@ -366,37 +366,39 @@ envsetup ()
static void
sysvinit_setenv (char const *data, int size)
{
- int i, j;
+ int i, j;
- while (size) {
- char const *var = data;
- size_t len = strlen (var) + 1;
- size -= len;
- if (size < 0)
- break;
- data += len;
- if (strncmp (var, "INIT_", 5) != 0)
- continue;
- len = strcspn (var, "=");
- for (i = ENVI_AVAIL; i < NR_ENVHINT; i++) {
- char *s = sysvinit_environ_hint[i];
- if (s) {
- for (j = 0; *s && j < len; j++, s++)
- if (var[j] != *s) break;
- if (*s != '=' || j != len)
- continue;
- free (sysvinit_environ_hint[i]);
- }
-
- if (var[len] == '=')
- sysvinit_environ_hint[i] = xstrdup (var);
- else
- for (j = i + 1; j < NR_ENVHINT; j++, i++)
- sysvinit_environ_hint[i] =
- sysvinit_environ_hint[j];
- break;
- }
+ while (size)
+ {
+ char const *var = data;
+ size_t len = strlen (var) + 1;
+ size -= len;
+ if (size < 0)
+ break;
+ data += len;
+ if (strncmp (var, "INIT_", 5) != 0)
+ continue;
+ len = strcspn (var, "=");
+ for (i = ENVI_AVAIL; i < NR_ENVHINT; i++)
+ {
+ char *s = sysvinit_environ_hint[i];
+ if (s)
+ {
+ for (j = 0; *s && j < len; j++, s++)
+ if (var[j] != *s) break;
+ if (*s != '=' || j != len)
+ continue;
+ free (sysvinit_environ_hint[i]);
+ }
+
+ if (var[len] == '=')
+ sysvinit_environ_hint[i] = grecs_strdup (var);
+ else
+ for (j = i + 1; j < NR_ENVHINT; j++, i++)
+ sysvinit_environ_hint[i] = sysvinit_environ_hint[j];
+ break;
}
+ }
}
char *init_fifo = INIT_FIFO;

Return to:

Send suggestions and report system problems to the System administrator.