diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-05-10 20:40:52 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-05-10 20:40:52 +0300 |
commit | 9e81fa8a01af87ce85b5dd0b19e3d621b46b3be8 (patch) | |
tree | 093882260404a82337c138b5eefe414aa41f40e4 /src | |
parent | 3bf61e7ab82244cdeb00c6ba6d602d3cad9b64d4 (diff) | |
download | wydawca-9e81fa8a01af87ce85b5dd0b19e3d621b46b3be8.tar.gz wydawca-9e81fa8a01af87ce85b5dd0b19e3d621b46b3be8.tar.bz2 |
Remove inttostr module.
Diffstat (limited to 'src')
-rw-r--r-- | src/triplet.c | 23 | ||||
-rw-r--r-- | src/wydawca.c | 7 |
2 files changed, 18 insertions, 12 deletions
diff --git a/src/triplet.c b/src/triplet.c index 9f051db..bfd58e5 100644 --- a/src/triplet.c +++ b/src/triplet.c @@ -340,15 +340,14 @@ format_file_data (struct file_triplet *trp, enum file_type type, char **pret) { char modes[11]; struct file_info *info = trp->file + type; char timebuf[sizeof "YYYY-MM-DD HH:MM:SS +0000"]; struct passwd *pw; struct group *grp; - char sbuf[INT_BUFSIZE_BOUND (uintmax_t)]; - char *sptr; - size_t slen; + char *sptr = NULL; + size_t slen = 0; int pad; char *user_name; char *group_name; struct tm *tm; char *buf = NULL; size_t size = 0; @@ -375,13 +374,14 @@ format_file_data (struct file_triplet *trp, enum file_type type, char **pret) if (!grp) group_name = "unknown"; /* should not happen */ else group_name = grp->gr_name; /* Size */ - sptr = umaxtostr (info->sb.st_size, sbuf); + if (grecs_asprintf (&sptr, &slen, "%lu", (unsigned long) info->sb.st_size)) + xalloc_die (); /* Figure out padding and format the buffer */ slen = strlen (sptr); pad = strlen (user_name) + 1 + strlen (group_name) + 1 + slen; if (pad > ugswidth) ugswidth = pad; @@ -389,12 +389,13 @@ format_file_data (struct file_triplet *trp, enum file_type type, char **pret) if (grecs_asprintf (&buf, &size, "%s %s %s %*s %s %s", modes, user_name, group_name, ugswidth - pad + slen, sptr, timebuf, info->name)) xalloc_die (); + free (sptr); *pret = buf; return 0; } static const char * expand_triplet_ls_full (struct metadef *def, void *data) @@ -581,31 +582,33 @@ expand_check_diagn (struct metadef *def, void *data) static const char * expand_check_result (struct metadef *def, void *data) { struct file_triplet *trp = data; int status = trp->check_result; - char sbuf[INT_BUFSIZE_BOUND (uintmax_t)]; if (status == 0) return def->value = "0"; else if (WIFEXITED (status)) { - char *p = umaxtostr (WEXITSTATUS (status), sbuf); - def->storage = xstrdup (p); + size_t size = 0; + def->storage = NULL; + if (grecs_asprintf (&def->storage, &size, + "%d", WEXITSTATUS (status))) + xalloc_die (); } else if (WIFSIGNALED (status)) { - char *p = umaxtostr (WTERMSIG (status), sbuf); size_t size = 0; def->storage = NULL; - if (grecs_asprintf (&def->storage, &size, "SIG+%s", p)) + if (grecs_asprintf (&def->storage, &size, "SIG+%d", + WTERMSIG (status))) xalloc_die (); } else - def->storage = "[unrecognized return code]"; + return def->value = "[unrecognized return code]"; return def->value = def->storage; } #define DECL_EXPAND_TIMER(what) \ static const char * \ __cat2__(expand_timer_,what) (struct metadef *def, void *data) \ diff --git a/src/wydawca.c b/src/wydawca.c index 12649d3..171b97b 100644 --- a/src/wydawca.c +++ b/src/wydawca.c @@ -172,14 +172,17 @@ stat_mask_p (unsigned long mask) return 0; } static const char * stat_expand (struct metadef *def, void *data) { - char sbuf[INT_BUFSIZE_BOUND (wydawca_stat[0])]; - def->storage = xstrdup (uinttostr (wydawca_stat[(int) def->data], sbuf)); + size_t size = 0; + def->storage = NULL; + if (grecs_asprintf (&def->storage, &size, "%u", + wydawca_stat[(int) def->data])) + xalloc_die (); def->value = def->storage; return def->value; } struct metadef * make_stat_expansion (size_t count) |