--- libaitpelco/src/aitpelco.c 2010/03/12 15:30:46 1.1.1.1.2.3 +++ libaitpelco/src/aitpelco.c 2010/03/23 01:25:43 1.1.1.1.2.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitpelco.c,v 1.1.1.1.2.3 2010/03/12 15:30:46 misho Exp $ +* $Id: aitpelco.c,v 1.1.1.1.2.5 2010/03/23 01:25:43 misho Exp $ * *************************************************************************/ #include "global.h" @@ -60,7 +60,7 @@ inline void *pelcoOpen(u_char pelcoVer, u_char camNo) case 'D': case 'd': if (camNo < FIRST_CAM_D) { - pelcoSetErr(ENOEXEC, "Error:: unsupported camera number %d!\n", camNo); + pelcoSetErr(ENOEXEC, "unsupported camera number %d!\n", camNo); return NULL; } @@ -92,7 +92,7 @@ inline void *pelcoOpen(u_char pelcoVer, u_char camNo) p = pp; break; default: - pelcoSetErr(ENOEXEC, "Error:: unsupported Pelco protocol version!\n"); + pelcoSetErr(ENOEXEC, "unsupported Pelco protocol version!\n"); } return p; @@ -119,10 +119,15 @@ inline void *pelcoLoad(u_char *buffer) pelco_p_t *pp; void *p = NULL; + if (!buffer || !*buffer) { + pelcoSetErr(EINVAL, "invalid argument!\n"); + return NULL; + } + switch (pelco_GetVersion(buffer)) { case 'd': if (pelco_GetCamNo(buffer) < FIRST_CAM_D) { - pelcoSetErr(ENOEXEC, "Error:: unsupported camera number %d!\n", + pelcoSetErr(ENOEXEC, "unsupported camera number %d!\n", pelco_GetCamNo(buffer)); return NULL; } @@ -147,7 +152,7 @@ inline void *pelcoLoad(u_char *buffer) p = pp; break; default: - pelcoSetErr(ENOEXEC, "Error:: unsupported Pelco protocol version!\n"); + pelcoSetErr(ENOEXEC, "unsupported Pelco protocol version!\n"); } return p; @@ -167,15 +172,15 @@ inline u_char pelcoAddCmdData(void * __restrict p, u_c pelco_p_t *pp = (pelco_p_t *) p; u_char *ptr = p; - if (!p) { - pelcoSetErr(EINVAL, "Error:: invalid argument!\n"); + if (!p || !*ptr) { + pelcoSetErr(EINVAL, "invalid argument!\n"); return 0xFF; } switch (ptr[0]) { case VER_D_SYNC: if (ptr[1] < FIRST_CAM_D) { - pelcoSetErr(ENOEXEC, "Error:: unsupported camera number %d!\n", ptr[1]); + pelcoSetErr(ENOEXEC, "unsupported camera number %d!\n", ptr[1]); return 0xFF; } @@ -187,7 +192,7 @@ inline u_char pelcoAddCmdData(void * __restrict p, u_c break; case VER_P_STX: if (VER_P_ETX != ptr[6]) { - pelcoSetErr(ENOEXEC, "Error:: Broken Pelco P packet!\n"); + pelcoSetErr(ENOEXEC, "Broken Pelco P packet!\n"); return 0xFF; } @@ -198,7 +203,7 @@ inline u_char pelcoAddCmdData(void * __restrict p, u_c pp->p_crc = crcPelco('p', p); break; default: - pelcoSetErr(ENOEXEC, "Error:: Invalid protocol!\n"); + pelcoSetErr(ENOEXEC, "Invalid protocol!\n"); return 0xFF; } @@ -229,15 +234,15 @@ inline u_char pelcoChkSum(void * __restrict p, u_char pelco_d_t *pd = (pelco_d_t *) p; pelco_p_t *pp = (pelco_p_t *) p; - if (!p) { - pelcoSetErr(EINVAL, "Error:: invalid argument!\n"); + if (!p || !*ptr) { + pelcoSetErr(EINVAL, "invalid argument!\n"); return 0xFF; } switch (ptr[0]) { case VER_D_SYNC: if (ptr[1] < FIRST_CAM_D) { - pelcoSetErr(ENOEXEC, "Error:: unsupported camera number %d!\n", ptr[1]); + pelcoSetErr(ENOEXEC, "unsupported camera number %d!\n", ptr[1]); return 0xFF; } @@ -247,7 +252,7 @@ inline u_char pelcoChkSum(void * __restrict p, u_char break; case VER_P_STX: if (VER_P_ETX != ptr[6]) { - pelcoSetErr(ENOEXEC, "Error:: Broken Pelco P packet!\n"); + pelcoSetErr(ENOEXEC, "Broken Pelco P packet!\n"); return 0xFF; } @@ -256,7 +261,7 @@ inline u_char pelcoChkSum(void * __restrict p, u_char pp->p_crc = sum; break; default: - pelcoSetErr(ENOEXEC, "Error:: Invalid protocol!\n"); + pelcoSetErr(ENOEXEC, "Invalid protocol!\n"); return 0xFF; }