Buen día,
Dejo un par de dudas que me surgieron:
- ¿Es posible agregar más errores al enumerado CodigoError?
- En el caso que un símbolo o un código no se encuentre, ¿qué retornamos?
Yo me definí 3 errores adicionales dentro del enum CodigoError:
SIMBOLO_NO_ENCONTRADO: para el caso en el que se codifica y no encuentra el símbolo.
CODIGO_NO_ENCONTRADO: para el caso en el que se decodifica y no encuentra el código. (Del modo en que lo implementé podría retornar CODIGO_MUY_LARGO pues supera los 4 bytes, pero la semántica queda poco entendible en ese contexto)
GENERIC_ERROR: para errores genéricos que pueden llegar a dar cuando me llega un puntero de archivo en NULL u otros casos (reviso variable errno).
Si bien entiendo que un enumerado es de tipo int, puedo retornar -1 u otro valor, pero si es posible agregalos dentro del enum CodigoError me parece más prolijo y comprensible, ya que las funciones para codificar y decodificar están definidas para retornar ese enumerado.
Saludos,
Manuel.