In all versions 3.0.12 through 3.2.2, the generate_smilies() function gets accessed in the same manner. So "corrupt or missing files" seems like the most plausible reason for the reported error, since not even "there is still an old version of a posting.php-related file hanging around" would explain this function being unresolved.
If you really wanted to surgically identify and fix the 3.2.2 board before moving to 3.2.3, downloading a copy of your board's current file system and then using BeyondCompare or another tree diff tool to compare your current board's files against a clean 3.2.2 full package .zip extraction is probably the way to do that. To identify any and all files in your current board's file system that are missing or corrupt (and/or intentionally modified, if you have done that), since this posting.php-related issue might not be the only issue.
Proceeding with a 3.2.3 upgrade, specifically using the full package approach
, would be another way to overwrite/replace any files that are corrupt or missing. Do not
use the automatic update, changed files, patch files, or any other method which tries to deliver "only what has changed since 3.2.2". Since your intention is to try and fix an unknown corruption, and there will be no guarantee that all the missing/corrupt files would be replaced without using the "full package" approach.
You do want multiple good database backups and file system backups before attempting the upgrade. So that you can get back to the point you're currently at now, in case some additional unexpected issue and/or deeper root cause of this corruption becomes revealed during the upgrade.