Merge branch 'master' of git.dolda2000.com:/srv/git/r/utils
authorFredrik Tolf <fredrik@dolda2000.com>
Thu, 10 Mar 2011 18:12:23 +0000 (19:12 +0100)
committerFredrik Tolf <fredrik@dolda2000.com>
Thu, 10 Mar 2011 18:12:23 +0000 (19:12 +0100)
anndata
sztest

diff --git a/anndata b/anndata
index 5a91e5a..7ed3e13 100755 (executable)
--- a/anndata
+++ b/anndata
@@ -4,7 +4,7 @@ use Getopt::Long;
 use Anime::ANN;
 
 binmode STDOUT, ":utf8";
-GetOptions(\%options, "l=s", "b=s") || exit 1;
+GetOptions(\%options, "l=s", "b=s", "d") || exit 1;
 
 if($options{"l"}) {
     @list = Anime::ANN::getlist($options{"l"});
@@ -14,12 +14,18 @@ if($options{"l"}) {
     exit 0;
 }
 
+$browse = "";
 if($options{"b"}) {
-    $id = Anime::ANN::getid $options{"b"};
+    $browse = $options{"b"};
+} elsif($options{"d"}) {
+    $browse = `basename "\$(pwd)"`;
+}
+if($browse) {
+    $id = Anime::ANN::getid $browse;
     if(defined($id)) {
        exec "htmlview", Anime::ANN::geturl($id);
     } else {
-       printf STDERR "could not find " . $options{"b"} . "\n";
+       printf STDERR "could not find " . $browse . "\n";
        exit 1;
     }
 }
diff --git a/sztest b/sztest
index f309178..9ca4e1f 100755 (executable)
--- a/sztest
+++ b/sztest
@@ -1,16 +1,26 @@
 #!/bin/bash
 
-if [ $# -lt 1 ]; then
-    echo "usage: sztest [-H SYS-HEADER] [-L LOCAL-HEADER] TYPE [CCFLAGS...]" >&2
-    exit 1
-fi
+usage() {
+    echo "usage: sztest [-hab] [-H SYS-HEADER] [-L LOCAL-HEADER] TYPE [CCFLAGS...]"
+}
 
+mode=size
 sheaders=
 lheaders=
 while [ "${1:0:1}" = "-" ]; do
     opt="$1"
     shift
     case "$opt" in
+       "-h")
+           usage
+           exit 0
+           ;;
+       "-a")
+           mode=align
+           ;;
+       "-b")
+           mode=both
+           ;;
        "-H")
            sheaders="$sheaders $1"
            shift
@@ -21,6 +31,10 @@ while [ "${1:0:1}" = "-" ]; do
            ;;
     esac
 done
+if [ $# -lt 1 ]; then
+    usage >&2
+    exit 1
+fi
 type="$1"
 shift
 file="$(mktemp /tmp/sztestXXXXXX)"
@@ -40,7 +54,19 @@ done
 cat >>"$file.c" <<EOF
 int main(int argc, char **argv)
 {
-    printf("%zi\n", sizeof($type));
+EOF
+case "$mode" in
+    size)
+       echo "    printf(\"%zi\\n\", sizeof($type));" >>"$file.c"
+       ;;
+    align)
+       echo "    printf(\"%zi\\n\", __alignof__($type));" >>"$file.c"
+       ;;
+    both)
+       echo "    printf(\"%zi %zi\\n\", sizeof($type), __alignof__($type));" >>"$file.c"
+       ;;
+esac
+cat >>"$file.c" <<EOF
     return(0);
 }
 EOF