// Copyright (C) 1997-2004 Alias Systems Corp.
// 
// The information in this file is provided for the exclusive use of the
// licensees of Alias.  Such users have the right to use, modify,
// and incorporate this code into other products for purposes authorized
// by the Alias license agreement, without fee.
// 
// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.

//
//  Alias Script File
//  MODIFY THIS AT YOUR OWN RISK
//
//  Creation Date:  October 24, 1996
//
//  Description:
//      This a helper script which will remove any or
//		all of the bookmarks (sets) of a certain type.
//
//  Input Arguments:
//      A list of bookmarks to remove (an empty list means remove all)
//		The type of the bookmark to remove
//
//  Return Value:
//      None.
//

proc int
stringArrayContains (string $array[], string $element)
{
	for ($entry in $array) {
		if ($entry == $element) {
			return (true);
		}
	}

	return (false);
}

global proc
removeBookmark (string $bookmarkList[], string $type)
{
	int $numBookmarks = size ($bookmarkList);

	// Find all the sets (bookmarks are fancy sets)
	//
	string $sets[] = `ls -sets`;
	for ($set in $sets) {
		// look for sets of $type
		//
		if (`sets -query -text $set` != $type) {
			continue;
		}
		if (($numBookmarks > 0) && !stringArrayContains ($bookmarkList, $set)) {
			continue;
		}
		delete $set;
	}
}
