(a) A peace officer, a merchant or a merchant's employee who has probable cause for believing that goods held for sale by the merchant have been unlawfully taken by a person and that he can recover them by taking the person into custody may, for the purpose of attempting to effect such recovery, take the person into custody and detain him in a reasonable manner for a reasonable length of time. Such taking into custody and detention by a peace officer, merchant or merchant's employee shall not render such police officer, merchant or merchant's employee criminally or civilly liable for false arrest, false imprisonment or unlawful detention.
(b) Any peace officer may arrest without warrant any person he has probable cause for believing has committed larceny in retail or wholesale establishments.
(c) A merchant or a merchant's employee who causes such arrest as provided for in subsection (a) of this section of a person for larceny of goods held for sale shall not be criminally or civilly liable for false arrest or false imprisonment where the merchant or merchant's employee has probable cause for believing that the person arrested committed larceny of goods held for sale.