Barclays unveils $670 million buyback, even as one-off charges hurt profits - Reuters