Code

Updated copyright information.
[template.git] / src / foobar.c
index 927c8688d205b08c6c6ed1146ba500b13b334284..4a84f8e5ba73d283e9f1b2b40021243788d6491e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * foobar - src/foobar.c
- * Copyright (C) 2008 Sebastian Harl <sh@tokkee.org>
+ * Copyright (C) 2011 Sebastian 'tokkee' Harl <sh@tokkee.org>
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
  * You should have received a copy of the GNU General Public License along
  * with this program; if not, write to the Free Software Foundation, Inc.,
  * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ *OR:
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 /*
  * A short description of this module...
  */
 
-#if HAVE_CONFIG_H
-#      include "config.h"
-#endif /* HAVE_CONFIG_H */
-
 #include "foobar.h"
+#include "fb_features.h"
 
-#if HAVE_LIBGEN_H
-#      include <libgen.h>
-#else /* HAVE_LIBGEN_H */
-#      define basename(path) (path)
-#endif /* ! HAVE_LIBGEN_H */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <unistd.h>
+/*
+ * public API
+ */
 
-static void exit_usage(char *name, int status)
+unsigned int
+fb_version(void)
 {
-       printf("Usage: %s <options>\n"
+       return FB_VERSION;
+} /* fb_version */
 
-                       "\nOptions:\n"
-                       "  -h    display this help and exit\n"
-                       "  -V    display the version number and copyright\n"
-
-                       "\nfoobar "VERSION", http://tokkee.org\n", basename(name));
-       exit(status);
-} /* exit_usage */
-
-static void exit_version(void)
+const char *
+fb_version_string(void)
 {
-       printf("foobar version "VERSION", built "BUILD_DATE"\n"
-                       "Copyright (C) 2008 Sebastian Harl <sh@tokkee.org>\n"
-
-                       "\nThis is free software under the terms of the GNU GPLv2; see "
-                       "the source for\ncopying conditions. There is NO WARRANTY; not "
-                       "even for MERCHANTABILITY or\nFITNESS FOR A PARTICULAR "
-                       "PURPOSE.\n");
-       exit(0);
-} /* exit_version */
+       return FB_VERSION_STRING;
+} /* fb_version_string */
 
-int main(int argc, char **argv)
+const char *
+fb_version_extra(void)
 {
-       while (42) {
-               int opt = getopt(argc, argv, "hV");
-
-               if (-1 == opt)
-                       break;
-
-               switch (opt) {
-                       case 'h':
-                               exit_usage(argv[0], 0);
-                               break;
-                       case 'V':
-                               exit_version();
-                               break;
-                       default:
-                               exit_usage(argv[0], 1);
-               }
-       }
-
-       if (optind < argc)
-               exit_usage(argv[0], 1);
-       return 0;
-} /* main */
+       return FB_VERSION_EXTRA;
+} /* fb_version_extra */
 
 /* vim: set tw=78 sw=4 ts=4 noexpandtab : */