# HG changeset patch # User Mike Becker # Date 1356709398 -3600 # Node ID a7ff583e153fd991a4b7766b71b1cd31ee9ac8d6 # Parent 35120de6ee5372d685bb626c65877c1cddbd819c updated copyright year + added make install + removed project files diff -r 35120de6ee53 -r a7ff583e153f .cproject --- a/.cproject Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - make - - all - true - true - false - - - make - - clean - true - true - false - - - - - - - - - - - - - - - diff -r 35120de6ee53 -r a7ff583e153f .hgignore --- a/.hgignore Fri Dec 28 16:25:07 2012 +0100 +++ b/.hgignore Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,7 @@ syntax: regexp ^build/.*$ - +^nbproject/ +^.c?project$ \.orig\..*$ \.orig$ \.chg\..*$ diff -r 35120de6ee53 -r a7ff583e153f .project --- a/.project Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ - - - cline - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all CONF=mingw - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - diff -r 35120de6ee53 -r a7ff583e153f LICENSE --- a/LICENSE Fri Dec 28 16:25:07 2012 +0100 +++ b/LICENSE Fri Dec 28 16:43:18 2012 +0100 @@ -1,4 +1,4 @@ -Copyright 2011 Mike Becker. All rights reserved. +Copyright 2013 Mike Becker. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f Makefile --- a/Makefile Fri Dec 28 16:25:07 2012 +0100 +++ b/Makefile Fri Dec 28 16:43:18 2012 +0100 @@ -1,7 +1,7 @@ # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # -# Copyright 2011 Mike Becker. All rights reserved. +# Copyright 2013 Mike Becker. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -40,14 +40,18 @@ VERSION_PREFIX=1.0. SRCDIR=src BUILDDIR=build +PREFIX=/usr OBJ = arguments.o bfile_heuristics.o cline.o regex_parser.o scanner.o settings.o stream.o string_list.o suffix_fnc.o BIN = $(BUILDDIR)/cline include $(CONF).mk -all: $(BUILDDIR) compile +all: $(BUILDDIR) $(BIN) -compile: $(OBJ:%=$(BUILDDIR)/%) +install: $(BIN) + cp $(BIN) $(PREFIX)/bin + +$(BIN): $(OBJ:%=$(BUILDDIR)/%) $(LD) -o $(BIN) $^ $(LDFLAGS) $(BUILDDIR): diff -r 35120de6ee53 -r a7ff583e153f gcc-debug.mk --- a/gcc-debug.mk Fri Dec 28 16:25:07 2012 +0100 +++ b/gcc-debug.mk Fri Dec 28 16:43:18 2012 +0100 @@ -1,7 +1,7 @@ # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # -# Copyright 2011 Mike Becker. All rights reserved. +# Copyright 2013 Mike Becker. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f gcc.mk --- a/gcc.mk Fri Dec 28 16:25:07 2012 +0100 +++ b/gcc.mk Fri Dec 28 16:43:18 2012 +0100 @@ -1,7 +1,7 @@ # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # -# Copyright 2011 Mike Becker. All rights reserved. +# Copyright 2013 Mike Becker. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f mingw-debug.mk --- a/mingw-debug.mk Fri Dec 28 16:25:07 2012 +0100 +++ b/mingw-debug.mk Fri Dec 28 16:43:18 2012 +0100 @@ -1,7 +1,7 @@ # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # -# Copyright 2011 Mike Becker. All rights reserved. +# Copyright 2013 Mike Becker. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f mingw.mk --- a/mingw.mk Fri Dec 28 16:25:07 2012 +0100 +++ b/mingw.mk Fri Dec 28 16:43:18 2012 +0100 @@ -1,7 +1,7 @@ # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # -# Copyright 2011 Mike Becker. All rights reserved. +# Copyright 2013 Mike Becker. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f nbproject/Package-Default.bash --- a/nbproject/Package-Default.bash Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -#!/bin/bash -x - -# -# Generated - do not edit! -# - -# Macros -TOP=`pwd` -CND_PLATFORM=GNU-Linux-x86 -CND_CONF=Default -CND_DISTDIR=dist -CND_BUILDDIR=build -NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging -TMPDIRNAME=tmp-packaging -OUTPUT_PATH=MissingOutputInProject -OUTPUT_BASENAME=MissingOutputInProject -PACKAGE_TOP_DIR=cline/ - -# Functions -function checkReturnCode -{ - rc=$? - if [ $rc != 0 ] - then - exit $rc - fi -} -function makeDirectory -# $1 directory path -# $2 permission (optional) -{ - mkdir -p "$1" - checkReturnCode - if [ "$2" != "" ] - then - chmod $2 "$1" - checkReturnCode - fi -} -function copyFileToTmpDir -# $1 from-file path -# $2 to-file path -# $3 permission -{ - cp "$1" "$2" - checkReturnCode - if [ "$3" != "" ] - then - chmod $3 "$2" - checkReturnCode - fi -} - -# Setup -cd "${TOP}" -mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package -rm -rf ${NBTMPDIR} -mkdir -p ${NBTMPDIR} - -# Copy files and create directories and links -cd "${TOP}" -makeDirectory "${NBTMPDIR}/cline" -copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 - - -# Generate tar file -cd "${TOP}" -rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/cline.tar -cd ${NBTMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/cline.tar * -checkReturnCode - -# Cleanup -cd "${TOP}" -rm -rf ${NBTMPDIR} diff -r 35120de6ee53 -r a7ff583e153f nbproject/configurations.xml --- a/nbproject/configurations.xml Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ - - - - - - - arguments.c - arguments.h - bfile_heuristics.c - bfile_heuristics.h - cline.c - cline.h - regex_parser.c - regex_parser.h - scanner.c - scanner.h - settings.c - settings.h - stdinc.h - stream.c - stream.h - string_list.c - string_list.h - suffix_fnc.c - suffix_fnc.h - - - Makefile - - - ^(nbproject)$ - - . - - Makefile - - - - LOCAL_SOURCES - default - - - - - - . - ${MAKE} -f Makefile - ${MAKE} -f Makefile clean - - - - - - diff -r 35120de6ee53 -r a7ff583e153f nbproject/private/Default.properties --- a/nbproject/private/Default.properties Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -/home/mike/workspace/c/cline/bfile_heuristics.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/bfile_heuristics.o bfile_heuristics.c -/home/mike/workspace/c/cline/suffix_fnc.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/suffix_fnc.o suffix_fnc.c -/home/mike/workspace/c/cline/regex_parser.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/regex_parser.o regex_parser.c -/home/mike/workspace/c/cline/stream.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/stream.o stream.c -/home/mike/workspace/c/cline/settings.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/settings.o settings.c -/home/mike/workspace/c/cline/scanner.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/scanner.o scanner.c -/home/mike/workspace/c/cline/arguments.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/arguments.o arguments.c -/home/mike/workspace/c/cline/cline.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/cline.o cline.c -/home/mike/workspace/c/cline/string_list.c=/home/mike/workspace/c/cline#-Wall -std=gnu99 -O -c -o build/string_list.o string_list.c diff -r 35120de6ee53 -r a7ff583e153f nbproject/private/configurations.xml --- a/nbproject/private/configurations.xml Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ - - - Makefile - - - - localhost - 2 - - - - - - - - - - - - - - - gdb - - - - "${OUTPUT_PATH}" - - "${OUTPUT_PATH}" - . - true - 0 - 0 - - - - - - diff -r 35120de6ee53 -r a7ff583e153f nbproject/private/private.xml --- a/nbproject/private/private.xml Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ - - - - true - - - 0 - 0 - - diff -r 35120de6ee53 -r a7ff583e153f nbproject/project.xml --- a/nbproject/project.xml Fri Dec 28 16:25:07 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - org.netbeans.modules.cnd.makeproject - - - cline - c - - h - UTF-8 - - - . - - - - Default - 0 - - - - - diff -r 35120de6ee53 -r a7ff583e153f src/arguments.c --- a/src/arguments.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/arguments.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/arguments.h --- a/src/arguments.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/arguments.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/bfile_heuristics.c --- a/src/bfile_heuristics.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/bfile_heuristics.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/bfile_heuristics.h --- a/src/bfile_heuristics.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/bfile_heuristics.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/cline.c --- a/src/cline.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/cline.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -74,7 +74,8 @@ "\nPlease note, that cline does not remove whitespace characters as this" "\nmight not be reasonable in some cases." "\n\nExample (C without comments):" - "\n cline -s .c,.h --exclude-cstyle-comments"); + "\n cline -s .c,.h --exclude-cstyle-comments" + "\n"); } int exit_with_version(settings_t* settings) { diff -r 35120de6ee53 -r a7ff583e153f src/cline.h --- a/src/cline.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/cline.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -32,7 +32,7 @@ #ifndef CLINE_H_ #define CLINE_H_ -const char* VERSION="1.0.35"; +const char* VERSION="1.0.36"; #include "stdinc.h" #include "settings.h" diff -r 35120de6ee53 -r a7ff583e153f src/regex_parser.c --- a/src/regex_parser.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/regex_parser.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/regex_parser.h --- a/src/regex_parser.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/regex_parser.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/scanner.c --- a/src/scanner.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/scanner.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/scanner.h --- a/src/scanner.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/scanner.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/settings.c --- a/src/settings.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/settings.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/settings.h --- a/src/settings.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/settings.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/stdinc.h --- a/src/stdinc.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/stdinc.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/stream.c --- a/src/stream.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/stream.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/stream.h --- a/src/stream.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/stream.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/string_list.c --- a/src/string_list.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/string_list.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/string_list.h --- a/src/string_list.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/string_list.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/suffix_fnc.c --- a/src/suffix_fnc.c Fri Dec 28 16:25:07 2012 +0100 +++ b/src/suffix_fnc.c Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: diff -r 35120de6ee53 -r a7ff583e153f src/suffix_fnc.h --- a/src/suffix_fnc.h Fri Dec 28 16:25:07 2012 +0100 +++ b/src/suffix_fnc.h Fri Dec 28 16:43:18 2012 +0100 @@ -1,6 +1,6 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * Copyright 2011 Mike Becker. All rights reserved. + * Copyright 2013 Mike Becker. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: