diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-02-04 11:59:16 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-02-04 12:06:44 +0200 |
commit | 9ab2885b1ab9daef69b231c36f662daae30175b7 (patch) | |
tree | 8cac5f9ca98d95e5e5a30b5af8519e3531575c44 /src/util.c | |
parent | c3feab15f38588dbd677234c17a109c2378308f7 (diff) | |
download | eclat-9ab2885b1ab9daef69b231c36f662daae30175b7.tar.gz eclat-9ab2885b1ab9daef69b231c36f662daae30175b7.tar.bz2 |
New commands: lsaattr and setaattr.
* TODO: Update.
* doc/Makefile.inc: Add new files.
* doc/eclat-lsaattr.1: New file.
* doc/eclat-setaattr.1: New file.
* etc/Makefile.am (FLNFILES): Add new files.
* etc/describe-image-attribute.fln: New file.
* etc/modify-image-attribute.fln: New file.
* src/Makefile.am (eclat_SOURCES,OPTFILES): Add new files.
* src/eclat.c (cmdtab): New commands: lsaattr and setaattr.
* src/eclat.h (eclat_describe_image_attribute)
(eclat_modify_image_attribute,canonattrname): New protos.
* src/lsaattr.c: New file.
* src/lsiattr.c: Use canonattrname to simplify usage.
* src/lssattr.c (canonattrname): Remove. Use external version.
* src/setaattr-cl.opt: New file.
* src/setaattr.c: New file.
* src/setiattr.c: New file.
* src/util.c (canonattrname): New function.
Diffstat (limited to 'src/util.c')
-rw-r--r-- | src/util.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -320,3 +320,21 @@ list_attrs(FILE *fp) fputc('\n', fp); } +char * +canonattrname(char **attrs, const char *arg, char *delim, size_t *plen) +{ + size_t len = strlen(arg); + int i; + + for (i = 0; attrs[i]; i++) { + size_t alen = delim ? strcspn(attrs[i], delim) + : strlen(attrs[i]); + if (alen == len && strncasecmp(arg, attrs[i], len) == 0) { + if (plen) + *plen = len; + return attrs[i]; + } + } + return NULL; +} + |