aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2014-02-04 11:59:16 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2014-02-04 12:06:44 +0200
commit9ab2885b1ab9daef69b231c36f662daae30175b7 (patch)
tree8cac5f9ca98d95e5e5a30b5af8519e3531575c44 /src/util.c
parentc3feab15f38588dbd677234c17a109c2378308f7 (diff)
downloadeclat-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.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
index cb4220c..1a0a6d0 100644
--- a/src/util.c
+++ b/src/util.c
@@ -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;
+}
+

Return to:

Send suggestions and report system problems to the System administrator.