My vigenere cypher mostly seems to work, except that it shifts a character on each iteration for example (I typed "BARFOO" a lot to show the pattern)
dovidm@ide50:~/workspace/pset2 $ ./vigenere BAZ
BARFOOBARFOOBARFOOBARFOOBARFOO
CAQEONCAQGPNCARGONCBSA/H=<KA/H
I also don't see how it gets to the non-alpha characters, since using same method as my (successful) Caesar cypher.
My code is at http://pastebin.com/4aGz5PEd (only look if already completed the pset)