#!/usr/bin/perl -p

# isort -- sort C variable declarations separated by commas

# Extract words, save prefix.
s/([^,]*?)(\S+[,;])/$2/;
$prefix = $1;

# Ensure all words end with comma.
$semicolon = s/;$/,/;

# Sort words.
@words = sort {
	($x = $a) =~ s/^\*+//;
	($y = $b) =~ s/^\*+//;
	$x cmp $y
} split /\s+/;

# Join words, add prefix and semicolon.
$_ = $prefix . (join ' ', @words) . "\n";
s/,$/;/ if $semicolon;