Stefan Schuermans commited on 2011-10-22 19:40:19
              Showing 11 changed files, with 140 additions and 189 deletions.
            
| ... | ... | @@ -5,6 +5,10 @@ | 
| 5 | 5 | #ifndef INC_BlinkenLib_BlinkenColorizer | 
| 6 | 6 | #define INC_BlinkenLib_BlinkenColorizer | 
| 7 | 7 |  | 
| 8 | +#ifdef __cplusplus | |
| 9 | +extern "C" { | |
| 10 | +#endif | |
| 11 | + | |
| 8 | 12 | // convert string to colorizing mode | 
| 9 | 13 | // returns colorizing mode (>= 0) or -1 on error | 
| 10 | 14 | int BlinkenColorizerStr2Mode(const char *str); | 
| ... | ... | @@ -16,4 +20,8 @@ const char *BlinkenColorizerMode2Str(int mode); | 
| 16 | 20 | unsigned char BlinkenColorizerGetColor(int channels, int mode, int step, | 
| 17 | 21 | int y, int x, int c); | 
| 18 | 22 |  | 
| 23 | +#ifdef __cplusplus | |
| 24 | +} // extern "C" | |
| 25 | +#endif | |
| 26 | + | |
| 19 | 27 | #endif // #ifndef INC_BlinkenLib_BlinkenColorizer | 
| ... | ... | @@ -90,7 +90,7 @@ stBlinkenFrame *BlinkenFrameNew(int height, int width, int channels, | 
| 90 | 90 | pFrame->duration = duration; | 
| 91 | 91 |  | 
| 92 | 92 | pFrame->ppData = | 
| 93 | - (unsigned char **)malloc2D(height, width * channels, | |
| 93 | + (unsigned char **)BlinkenMalloc2D(height, width * channels, | |
| 94 | 94 | sizeof(unsigned char)); | 
| 95 | 95 |    if (pFrame->ppData == NULL) { | 
| 96 | 96 | free(pFrame); | 
| ... | ... | @@ -395,7 +395,7 @@ void BlinkenFrameResize(stBlinkenFrame *pFrame, int height, int width, | 
| 395 | 395 |  | 
| 396 | 396 | // allocate new data array | 
| 397 | 397 | ppData = | 
| 398 | - (unsigned char **)malloc2D(height, width * channels, | |
| 398 | + (unsigned char **)BlinkenMalloc2D(height, width * channels, | |
| 399 | 399 | sizeof(unsigned char)); | 
| 400 | 400 | if (ppData == NULL) | 
| 401 | 401 | return; | 
| ... | ... | @@ -491,7 +491,7 @@ void BlinkenFrameScale(stBlinkenFrame *pFrame, int height, int width) | 
| 491 | 491 |  | 
| 492 | 492 | // allocate new data array | 
| 493 | 493 | ppData = | 
| 494 | - (unsigned char **)malloc2D(height, width * pFrame->channels, | |
| 494 | + (unsigned char **)BlinkenMalloc2D(height, width * pFrame->channels, | |
| 495 | 495 | sizeof(unsigned char)); | 
| 496 | 496 | if (ppData == NULL) | 
| 497 | 497 | return; | 
| ... | ... | @@ -612,7 +612,8 @@ void BlinkenFrameColorize(stBlinkenFrame *pFrame, int channels, int mode, | 
| 612 | 612 |  | 
| 613 | 613 | // allocate new data array | 
| 614 | 614 | ppData = | 
| 615 | - (unsigned char **)malloc2D(pFrame->height, pFrame->width * channels, | |
| 615 | + (unsigned char **)BlinkenMalloc2D(pFrame->height, | |
| 616 | + pFrame->width * channels, | |
| 616 | 617 | sizeof(unsigned char)); | 
| 617 | 618 | if (ppData == NULL) | 
| 618 | 619 | return; | 
| ... | ... | @@ -869,7 +870,7 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, | 
| 869 | 870 | } | 
| 870 | 871 | } | 
| 871 | 872 |  | 
| 872 | -stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, | |
| 873 | +stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, | |
| 873 | 874 | etBlinkenProto * pProto) | 
| 874 | 875 | // returns protocol in *pProto if pProto not NULL | 
| 875 | 876 |  { | 
| ... | ... | @@ -881,32 +882,14 @@ stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, | 
| 881 | 882 |    { | 
| 882 | 883 | if (pProto != NULL) // return protocol | 
| 883 | 884 | *pProto = BlinkenProtoBlp; | 
| 884 | - height = ntohs(((stBlinkenProtoBlpHdr *) pData)->height); // get header | |
| 885 | - // | |
| 886 | - // | |
| 887 | - // | |
| 888 | - // | |
| 889 | - // | |
| 890 | - // data | |
| 885 | + // get header data | |
| 886 | + height = ntohs(((stBlinkenProtoBlpHdr *) pData)->height); | |
| 891 | 887 | width = ntohs(((stBlinkenProtoBlpHdr *) pData)->width); | 
| 892 | - if (length < (int)sizeof(stBlinkenProtoBlpHdr) + height * width) // check | |
| 893 | - // | |
| 894 | - // | |
| 895 | - // | |
| 896 | - // | |
| 897 | - // | |
| 898 | - // length | |
| 899 | - // of | |
| 900 | - // packet | |
| 888 | + // check length of packet | |
| 889 | + if (length < (int)sizeof(stBlinkenProtoBlpHdr) + height * width) | |
| 901 | 890 | return NULL; | 
| 902 | - if (height < BlinkenHeightMin || height > BlinkenHeightMax || // check | |
| 903 | - // | |
| 904 | - // | |
| 905 | - // | |
| 906 | - // | |
| 907 | - // | |
| 908 | - // header | |
| 909 | - // data | |
| 891 | + // check header data | |
| 892 | + if (height < BlinkenHeightMin || height > BlinkenHeightMax || | |
| 910 | 893 | width < BlinkenWidthMin || width > BlinkenWidthMax) | 
| 911 | 894 | return NULL; | 
| 912 | 895 | pFrame = BlinkenFrameNew(height, width, 1, 1, 0); // create frame | 
| ... | ... | @@ -926,32 +909,14 @@ stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, | 
| 926 | 909 |        htonl(BlinkenProtoEblpMagic)) { | 
| 927 | 910 | if (pProto != NULL) // return protocol | 
| 928 | 911 | *pProto = BlinkenProtoEblp; | 
| 929 | - height = ntohs(((stBlinkenProtoEblpHdr *) pData)->height); // get header | |
| 930 | - // | |
| 931 | - // | |
| 932 | - // | |
| 933 | - // | |
| 934 | - // | |
| 935 | - // data | |
| 912 | + // get header data | |
| 913 | + height = ntohs(((stBlinkenProtoEblpHdr *) pData)->height); | |
| 936 | 914 | width = ntohs(((stBlinkenProtoEblpHdr *) pData)->width); | 
| 937 | - if (length < (int)sizeof(stBlinkenProtoEblpHdr) + width * height) // check | |
| 938 | - // | |
| 939 | - // | |
| 940 | - // | |
| 941 | - // | |
| 942 | - // | |
| 943 | - // length | |
| 944 | - // of | |
| 945 | - // packet | |
| 915 | + // check length of packet | |
| 916 | + if (length < (int)sizeof(stBlinkenProtoEblpHdr) + width * height) | |
| 946 | 917 | return NULL; | 
| 947 | - if (height < BlinkenHeightMin || height > BlinkenHeightMax || // check | |
| 948 | - // | |
| 949 | - // | |
| 950 | - // | |
| 951 | - // | |
| 952 | - // | |
| 953 | - // header | |
| 954 | - // data | |
| 918 | + // check header data | |
| 919 | + if (height < BlinkenHeightMin || height > BlinkenHeightMax || | |
| 955 | 920 | width < BlinkenWidthMin || width > BlinkenWidthMax) | 
| 956 | 921 | return NULL; | 
| 957 | 922 | pFrame = BlinkenFrameNew(height, width, 1, 255, 0); // create frame | 
| ... | ... | @@ -971,49 +936,22 @@ stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, | 
| 971 | 936 |        htonl(BlinkenProtoMcufMagic)) { | 
| 972 | 937 | if (pProto != NULL) // return protocol | 
| 973 | 938 | *pProto = BlinkenProtoMcuf; | 
| 974 | - height = ntohs(((stBlinkenProtoMcufHdr *) pData)->height); // get header | |
| 975 | - // | |
| 976 | - // | |
| 977 | - // | |
| 978 | - // | |
| 979 | - // | |
| 980 | - // data | |
| 939 | + // get header data | |
| 940 | + height = ntohs(((stBlinkenProtoMcufHdr *) pData)->height); | |
| 981 | 941 | width = ntohs(((stBlinkenProtoMcufHdr *) pData)->width); | 
| 982 | 942 | channels = ntohs(((stBlinkenProtoMcufHdr *) pData)->channels); | 
| 983 | 943 | maxval = ntohs(((stBlinkenProtoMcufHdr *) pData)->maxval); | 
| 984 | - if (length < (int)sizeof(stBlinkenProtoMcufHdr) + height * width * channels) // check | |
| 985 | - // | |
| 986 | - // | |
| 987 | - // | |
| 988 | - // | |
| 989 | - // | |
| 990 | - // length | |
| 991 | - // of | |
| 992 | - // packet | |
| 944 | + // check length of packet | |
| 945 | + if (length < (int)sizeof(stBlinkenProtoMcufHdr) + height * width * channels) | |
| 993 | 946 | return NULL; | 
| 994 | - if (height < BlinkenHeightMin || height > BlinkenHeightMax || // check | |
| 995 | - // | |
| 996 | - // | |
| 997 | - // | |
| 998 | - // | |
| 999 | - // | |
| 1000 | - // header | |
| 1001 | - // data | |
| 947 | + // check header data | |
| 948 | + if (height < BlinkenHeightMin || height > BlinkenHeightMax || | |
| 1002 | 949 | width < BlinkenWidthMin || width > BlinkenWidthMax || | 
| 1003 | 950 | channels < BlinkenChannelsMin || channels > BlinkenChannelsMax || | 
| 1004 | 951 | maxval < BlinkenMaxvalMin || maxval > BlinkenMaxvalMax) | 
| 1005 | 952 | return NULL; | 
| 1006 | - pFrame = BlinkenFrameNew(height, width, channels, maxval, 0); // create | |
| 1007 | - // | |
| 1008 | - // | |
| 1009 | - // | |
| 1010 | - // | |
| 1011 | - // | |
| 1012 | - // frame | |
| 1013 | - // according | |
| 1014 | - // to | |
| 1015 | - // header | |
| 1016 | - // data | |
| 953 | + // create frame according to header data | |
| 954 | + pFrame = BlinkenFrameNew(height, width, channels, maxval, 0); | |
| 1017 | 955 | if (pFrame == NULL) | 
| 1018 | 956 | return NULL; | 
| 1019 | 957 | i = sizeof(stBlinkenProtoMcufHdr); // put data into frame | 
| ... | ... | @@ -5,6 +5,10 @@ | 
| 5 | 5 | #ifndef INC_BlinkenLib_BlinkenFrame | 
| 6 | 6 | #define INC_BlinkenLib_BlinkenFrame | 
| 7 | 7 |  | 
| 8 | +#ifdef __cplusplus | |
| 9 | +extern "C" { | |
| 10 | +#endif | |
| 11 | + | |
| 8 | 12 | typedef struct sBlinkenFrame stBlinkenFrame; | 
| 9 | 13 |  | 
| 10 | 14 |  typedef enum eBlinkenProto { BlinkenProtoNone, BlinkenProtoBlp, | 
| ... | ... | @@ -58,8 +62,12 @@ int BlinkenFrameToNetwork(stBlinkenFrame *pFrame, etBlinkenProto proto, | 
| 58 | 62 | char *pData, int maxLength); | 
| 59 | 63 | // returns length or -1 on error | 
| 60 | 64 |  | 
| 61 | -stBlinkenFrame *BlinkenFrameFromNetwork(char *pData, int length, | |
| 65 | +stBlinkenFrame *BlinkenFrameFromNetwork(const char *pData, int length, | |
| 62 | 66 | etBlinkenProto * pProto); | 
| 63 | 67 | // returns protocol in *pProto if pProto not NULL | 
| 64 | 68 |  | 
| 69 | +#ifdef __cplusplus | |
| 70 | +} // extern "C" | |
| 71 | +#endif | |
| 72 | + | |
| 65 | 73 | #endif // #ifndef INC_BlinkenLib_BlinkenFrame | 
| ... | ... | @@ -231,7 +231,7 @@ void BlMng_compress_frame(stBlinkenFrame *frame, unsigned char **p_out_ptr, | 
| 231 | 231 | } | 
| 232 | 232 |  | 
| 233 | 233 | // load a MNG file as BlinkenMovie | 
| 234 | -stBlinkenMovie *BlinkenMngLoad(char *pFilename) | |
| 234 | +stBlinkenMovie *BlinkenMngLoad(const char *pFilename) | |
| 235 | 235 |  { | 
| 236 | 236 | BlMng_userdata *data; | 
| 237 | 237 | mng_handle hMNG; | 
| ... | ... | @@ -367,7 +367,7 @@ stBlinkenMovie *BlinkenMngLoad(char *pFilename) | 
| 367 | 367 | return movie; | 
| 368 | 368 | } | 
| 369 | 369 |  | 
| 370 | -int BlinkenMngSave(stBlinkenMovie *pMovie, char *pFilename) | |
| 370 | +int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename) | |
| 371 | 371 |  { | 
| 372 | 372 | BlMng_userdata *data; | 
| 373 | 373 | mng_handle hMNG; | 
| ... | ... | @@ -13,8 +13,16 @@ | 
| 13 | 13 | #error This file is to be used for MNG support only. | 
| 14 | 14 | #endif // #ifndef BLINKENLIB_CFG_MNG | 
| 15 | 15 |  | 
| 16 | -stBlinkenMovie *BlinkenMngLoad(char *pFilename); | |
| 16 | +#ifdef __cplusplus | |
| 17 | +extern "C" { | |
| 18 | +#endif | |
| 17 | 19 |  | 
| 18 | -int BlinkenMngSave(stBlinkenMovie *pMovie, char *pFilename); | |
| 20 | +stBlinkenMovie *BlinkenMngLoad(const char *pFilename); | |
| 21 | + | |
| 22 | +int BlinkenMngSave(stBlinkenMovie *pMovie, const char *pFilename); | |
| 23 | + | |
| 24 | +#ifdef __cplusplus | |
| 25 | +} // extern "C" | |
| 26 | +#endif | |
| 19 | 27 |  | 
| 20 | 28 | #endif // #ifndef INC_BlinkenLib_BlinkenMng | 
| ... | ... | @@ -94,14 +94,14 @@ stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, | 
| 94 | 94 | pMovie->channels = channels; | 
| 95 | 95 | pMovie->maxval = maxval; | 
| 96 | 96 | pMovie->infoCnt = 0; | 
| 97 | - pMovie->pppInfos = (char ***)malloc2D(0, 2, sizeof(char *)); | |
| 97 | + pMovie->pppInfos = (char ***)BlinkenMalloc2D(0, 2, sizeof(char *)); | |
| 98 | 98 |    if (pMovie->pppInfos == NULL) { | 
| 99 | 99 | free(pMovie); | 
| 100 | 100 | return NULL; | 
| 101 | 101 | } | 
| 102 | 102 | pMovie->frameCnt = 0; | 
| 103 | 103 | pMovie->ppFrames = | 
| 104 | - (stBlinkenFrame **) malloc1D(0, sizeof(stBlinkenFrame *)); | |
| 104 | + (stBlinkenFrame **) BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); | |
| 105 | 105 |    if (pMovie->ppFrames == NULL) { | 
| 106 | 106 | free(pMovie->pppInfos); | 
| 107 | 107 | free(pMovie); | 
| ... | ... | @@ -233,8 +233,8 @@ char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo) | 
| 233 | 233 | return pMovie->pppInfos[infoNo][1]; | 
| 234 | 234 | } | 
| 235 | 235 |  | 
| 236 | -void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, char *pInfoType, | |
| 237 | - char *pInfoData) | |
| 236 | +void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, | |
| 237 | + const char *pInfoType, const char *pInfoData) | |
| 238 | 238 |  { | 
| 239 | 239 | char *pType, *pData; | 
| 240 | 240 |  | 
| ... | ... | @@ -257,7 +257,7 @@ void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, char *pInfoType, | 
| 257 | 257 | } | 
| 258 | 258 |  | 
| 259 | 259 | void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, | 
| 260 | - char *pInfoType, char *pInfoData) | |
| 260 | + const char *pInfoType, const char *pInfoData) | |
| 261 | 261 |  { | 
| 262 | 262 | char ***pppNewInfos, *pType, *pData; | 
| 263 | 263 | int i; | 
| ... | ... | @@ -265,7 +265,8 @@ void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, | 
| 265 | 265 | if (pMovie == NULL || infoNo < 0 || infoNo > pMovie->infoCnt) | 
| 266 | 266 | return; | 
| 267 | 267 |  | 
| 268 | - pppNewInfos = (char ***)malloc2D(pMovie->infoCnt + 1, 2, sizeof(char *)); | |
| 268 | + pppNewInfos = (char ***)BlinkenMalloc2D(pMovie->infoCnt + 1, 2, | |
| 269 | + sizeof(char *)); | |
| 269 | 270 | if (pppNewInfos == NULL) | 
| 270 | 271 | return; | 
| 271 | 272 |  | 
| ... | ... | @@ -299,8 +300,8 @@ void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, | 
| 299 | 300 | pMovie->infoCnt++; | 
| 300 | 301 | } | 
| 301 | 302 |  | 
| 302 | -void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, char *pInfoType, | |
| 303 | - char *pInfoData) | |
| 303 | +void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, const char *pInfoType, | |
| 304 | + const char *pInfoData) | |
| 304 | 305 |  { | 
| 305 | 306 | if (pMovie == NULL) | 
| 306 | 307 | return; | 
| ... | ... | @@ -316,7 +317,8 @@ void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo) | 
| 316 | 317 | if (pMovie == NULL || infoNo < 0 || infoNo >= pMovie->infoCnt) | 
| 317 | 318 | return; | 
| 318 | 319 |  | 
| 319 | - pppNewInfos = (char ***)malloc2D(pMovie->infoCnt - 1, 2, sizeof(char *)); | |
| 320 | + pppNewInfos = (char ***)BlinkenMalloc2D(pMovie->infoCnt - 1, 2, | |
| 321 | + sizeof(char *)); | |
| 320 | 322 | if (pppNewInfos == NULL) | 
| 321 | 323 | return; | 
| 322 | 324 |  | 
| ... | ... | @@ -346,7 +348,7 @@ void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie) | 
| 346 | 348 | if (pMovie == NULL) | 
| 347 | 349 | return; | 
| 348 | 350 |  | 
| 349 | - pppNewInfos = (char ***)malloc2D(0, 2, sizeof(char *)); | |
| 351 | + pppNewInfos = (char ***)BlinkenMalloc2D(0, 2, sizeof(char *)); | |
| 350 | 352 | if (pppNewInfos == NULL) | 
| 351 | 353 | return; | 
| 352 | 354 |  | 
| ... | ... | @@ -401,7 +403,7 @@ int BlinkenMovieInsertFrame(stBlinkenMovie *pMovie, int frameNo, | 
| 401 | 403 | return -1; | 
| 402 | 404 |  | 
| 403 | 405 | ppNewFrames = | 
| 404 | - (stBlinkenFrame **) malloc1D(pMovie->frameCnt + 1, | |
| 406 | + (stBlinkenFrame **) BlinkenMalloc1D(pMovie->frameCnt + 1, | |
| 405 | 407 | sizeof(stBlinkenFrame *)); | 
| 406 | 408 | if (ppNewFrames == NULL) | 
| 407 | 409 | return -1; | 
| ... | ... | @@ -438,8 +440,7 @@ void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo) | 
| 438 | 440 | if (pMovie == NULL || frameNo < 0 || frameNo >= pMovie->frameCnt) | 
| 439 | 441 | return; | 
| 440 | 442 |  | 
| 441 | - ppNewFrames = | |
| 442 | - (stBlinkenFrame **) malloc1D(pMovie->frameCnt - 1, | |
| 443 | + ppNewFrames = (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt - 1, | |
| 443 | 444 | sizeof(stBlinkenFrame *)); | 
| 444 | 445 | if (ppNewFrames == NULL) | 
| 445 | 446 | return; | 
| ... | ... | @@ -465,7 +466,8 @@ void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) | 
| 465 | 466 | if (pMovie == NULL) | 
| 466 | 467 | return; | 
| 467 | 468 |  | 
| 468 | - ppNewFrames = (stBlinkenFrame **) malloc1D(0, sizeof(stBlinkenFrame *)); | |
| 469 | + ppNewFrames = | |
| 470 | + (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); | |
| 469 | 471 | if (ppNewFrames == NULL) | 
| 470 | 472 | return; | 
| 471 | 473 |  | 
| ... | ... | @@ -477,10 +479,8 @@ void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie) | 
| 477 | 479 | pMovie->frameCnt = 0; | 
| 478 | 480 | } | 
| 479 | 481 |  | 
| 480 | -int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* appended | |
| 481 | - and | |
| 482 | - freed | |
| 483 | - */ ) | |
| 482 | +int BlinkenMovieConcat(stBlinkenMovie *pMovie, | |
| 483 | + stBlinkenMovie *pMovie2 /* appended and freed */) | |
| 484 | 484 |  { | 
| 485 | 485 | stBlinkenFrame **ppNewFrames, **ppNewFrames2; | 
| 486 | 486 | int i; | 
| ... | ... | @@ -492,11 +492,11 @@ int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* | 
| 492 | 492 | pMovie->maxval); | 
| 493 | 493 |  | 
| 494 | 494 | ppNewFrames = | 
| 495 | - (stBlinkenFrame **) malloc1D(pMovie->frameCnt + pMovie2->frameCnt, | |
| 495 | + (stBlinkenFrame **)BlinkenMalloc1D(pMovie->frameCnt + pMovie2->frameCnt, | |
| 496 | 496 | sizeof(stBlinkenFrame *)); | 
| 497 | 497 | if (ppNewFrames == NULL) | 
| 498 | 498 | return -1; | 
| 499 | - ppNewFrames2 = (stBlinkenFrame **) malloc1D(0, sizeof(stBlinkenFrame *)); | |
| 499 | + ppNewFrames2 = (stBlinkenFrame **)BlinkenMalloc1D(0, sizeof(stBlinkenFrame *)); | |
| 500 | 500 |    if (ppNewFrames2 == NULL) { | 
| 501 | 501 | free(ppNewFrames); | 
| 502 | 502 | return -1; | 
| ... | ... | @@ -691,7 +691,7 @@ char *BlinkenMovieToString(stBlinkenMovie *pMovie) | 
| 691 | 691 | if (pMovie == NULL) | 
| 692 | 692 | return NULL; | 
| 693 | 693 |  | 
| 694 | - strs = (char **)malloc1D(pMovie->frameCnt, sizeof(char *)); | |
| 694 | + strs = (char **)BlinkenMalloc1D(pMovie->frameCnt, sizeof(char *)); | |
| 695 | 695 | if (strs == NULL) | 
| 696 | 696 | return NULL; | 
| 697 | 697 |  | 
| ... | ... | @@ -741,7 +741,7 @@ char *BlinkenMovieToString(stBlinkenMovie *pMovie) | 
| 741 | 741 | return str; | 
| 742 | 742 | } | 
| 743 | 743 |  | 
| 744 | -stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename) | |
| 744 | +stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename) | |
| 745 | 745 |  { | 
| 746 | 746 | FILE *pFile; | 
| 747 | 747 | stBlinkenMovie *pMovie; | 
| ... | ... | @@ -800,13 +800,8 @@ stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename) | 
| 800 | 800 |      else if (fscanf(pFile, "%1[01]", pixel) == 1) { | 
| 801 | 801 |        if (pFrame != NULL) { | 
| 802 | 802 |          for (x = 0;; x++) { | 
| 803 | - BlinkenFrameSetPixel(pFrame, y, x, 0, (unsigned char)(pixel[0] == '1' ? 1 : 0)); // set | |
| 804 | - // | |
| 805 | - // | |
| 806 | - // | |
| 807 | - // | |
| 808 | - // | |
| 809 | - // pixel | |
| 803 | + BlinkenFrameSetPixel(pFrame, y, x, 0, // set pixel | |
| 804 | + (unsigned char)(pixel[0] == '1' ? 1 : 0)); | |
| 810 | 805 | if (fscanf(pFile, "%1[01]", pixel) != 1) // read next pixel | 
| 811 | 806 | break; | 
| 812 | 807 | } | 
| ... | ... | @@ -822,7 +817,7 @@ stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename) | 
| 822 | 817 | return pMovie; | 
| 823 | 818 | } | 
| 824 | 819 |  | 
| 825 | -stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename) | |
| 820 | +stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename) | |
| 826 | 821 |  { | 
| 827 | 822 | FILE *pFile; | 
| 828 | 823 | stBlinkenMovie *pMovie; | 
| ... | ... | @@ -883,13 +878,8 @@ stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename) | 
| 883 | 878 |          for (x = 0;; x++) { | 
| 884 | 879 | if (sscanf(pixel, "%i", &val) != 1) // convert pixel to number | 
| 885 | 880 | break; | 
| 886 | - BlinkenFrameSetPixel(pFrame, y, x, 0, (unsigned char)val); // set | |
| 887 | - // | |
| 888 | - // | |
| 889 | - // | |
| 890 | - // | |
| 891 | - // | |
| 892 | - // pixel | |
| 881 | + BlinkenFrameSetPixel(pFrame, y, x, 0, // set pixel | |
| 882 | + (unsigned char)val); | |
| 893 | 883 | fscanf(pFile, "%*[ \t]"); // kill space | 
| 894 | 884 | if (fscanf(pFile, "%7[0-9A-FXa-fx]", pixel) != 1) // read next | 
| 895 | 885 | // pixel | 
| ... | ... | @@ -907,7 +897,7 @@ stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename) | 
| 907 | 897 | return pMovie; | 
| 908 | 898 | } | 
| 909 | 899 |  | 
| 910 | -stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename) | |
| 900 | +stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename) | |
| 911 | 901 |  { | 
| 912 | 902 | FILE *pFile; | 
| 913 | 903 | stBlinkenMovie *pMovie; | 
| ... | ... | @@ -972,21 +962,8 @@ stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename) | 
| 972 | 962 | // get number of characters per channel | 
| 973 | 963 | chrs = (bits + 3) >> 2; | 
| 974 | 964 | // get fscanf formart string for reading a pixel | 
| 975 | - sprintf(pixelFormat, "%%%d[0-9A-Fa-f]", chrs > 4 ? 5 : chrs); // read | |
| 976 | - // | |
| 977 | - // | |
| 978 | - // | |
| 979 | - // | |
| 980 | - // | |
| 981 | - // max | |
| 982 | - // 5 | |
| 983 | - // chars | |
| 984 | - // (2 | |
| 985 | - // already | |
| 986 | - // in | |
| 987 | - // use | |
| 988 | - // by | |
| 989 | - // prefix) | |
| 965 | + // read max 5 chars (2 already in use by prefix) | |
| 966 | + sprintf(pixelFormat, "%%%d[0-9A-Fa-f]", chrs > 4 ? 5 : chrs); | |
| 990 | 967 | // initialize pixel buffer with hex prefix | 
| 991 | 968 | strcpy(pixel, "0x"); | 
| 992 | 969 | } | 
| ... | ... | @@ -1085,7 +1062,7 @@ stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename) | 
| 1085 | 1062 | return pMovie; | 
| 1086 | 1063 | } | 
| 1087 | 1064 |  | 
| 1088 | -stBlinkenMovie *BlinkenMovieLoadBbm(char *pFilename) | |
| 1065 | +stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename) | |
| 1089 | 1066 |  { | 
| 1090 | 1067 | FILE *pFile; | 
| 1091 | 1068 | stBlinkenMovie *pMovie; | 
| ... | ... | @@ -1255,14 +1232,14 @@ stBlinkenMovie *BlinkenMovieLoadBbm(char *pFilename) | 
| 1255 | 1232 |  | 
| 1256 | 1233 | #ifdef BLINKENLIB_CFG_MNG | 
| 1257 | 1234 |  | 
| 1258 | -stBlinkenMovie *BlinkenMovieLoadMng(char *pFilename) | |
| 1235 | +stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename) | |
| 1259 | 1236 |  { | 
| 1260 | 1237 | return BlinkenMngLoad(pFilename); | 
| 1261 | 1238 | } | 
| 1262 | 1239 |  | 
| 1263 | 1240 | #endif // #ifdef BLINKENLIB_CFG_MNG | 
| 1264 | 1241 |  | 
| 1265 | -stBlinkenMovie *BlinkenMovieLoad(char *pFilename) | |
| 1242 | +stBlinkenMovie *BlinkenMovieLoad(const char *pFilename) | |
| 1266 | 1243 |  { | 
| 1267 | 1244 | int len; | 
| 1268 | 1245 |  | 
| ... | ... | @@ -1285,7 +1262,7 @@ stBlinkenMovie *BlinkenMovieLoad(char *pFilename) | 
| 1285 | 1262 | return NULL; | 
| 1286 | 1263 | } | 
| 1287 | 1264 |  | 
| 1288 | -int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, char *pFilename) | |
| 1265 | +int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename) | |
| 1289 | 1266 |  { | 
| 1290 | 1267 | stBlinkenMovie *pOutMovie; | 
| 1291 | 1268 | FILE *pFile; | 
| ... | ... | @@ -1340,7 +1317,7 @@ int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, char *pFilename) | 
| 1340 | 1317 | return 0; | 
| 1341 | 1318 | } | 
| 1342 | 1319 |  | 
| 1343 | -int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, char *pFilename) | |
| 1320 | +int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename) | |
| 1344 | 1321 |  { | 
| 1345 | 1322 | stBlinkenMovie *pOutMovie; | 
| 1346 | 1323 | FILE *pFile; | 
| ... | ... | @@ -1394,7 +1371,7 @@ int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, char *pFilename) | 
| 1394 | 1371 | return 0; | 
| 1395 | 1372 | } | 
| 1396 | 1373 |  | 
| 1397 | -int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, char *pFilename) | |
| 1374 | +int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename) | |
| 1398 | 1375 |  { | 
| 1399 | 1376 | stBlinkenMovie *pOutMovie; | 
| 1400 | 1377 | FILE *pFile; | 
| ... | ... | @@ -1477,7 +1454,7 @@ int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, char *pFilename) | 
| 1477 | 1454 | return 0; | 
| 1478 | 1455 | } | 
| 1479 | 1456 |  | 
| 1480 | -int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, char *pFilename) | |
| 1457 | +int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename) | |
| 1481 | 1458 |  { | 
| 1482 | 1459 | unsigned char *pFrameData; | 
| 1483 | 1460 | FILE *pFile; | 
| ... | ... | @@ -1596,14 +1573,14 @@ int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, char *pFilename) | 
| 1596 | 1573 |  | 
| 1597 | 1574 | #ifdef BLINKENLIB_CFG_MNG | 
| 1598 | 1575 |  | 
| 1599 | -int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, char *pFilename) | |
| 1576 | +int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename) | |
| 1600 | 1577 |  { | 
| 1601 | 1578 | return BlinkenMngSave(pMovie, pFilename); | 
| 1602 | 1579 | } | 
| 1603 | 1580 |  | 
| 1604 | 1581 | #endif // #ifdef BLINKENLIB_CFG_MNG | 
| 1605 | 1582 |  | 
| 1606 | -int BlinkenMovieSave(stBlinkenMovie *pMovie, char *pFilename) | |
| 1583 | +int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename) | |
| 1607 | 1584 |  { | 
| 1608 | 1585 | int len; | 
| 1609 | 1586 |  | 
| ... | ... | @@ -1681,14 +1658,8 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, | 
| 1681 | 1658 | FD_SET(udpSocket, &readFds); | 
| 1682 | 1659 | timeo.tv_sec = timeout / 1000; | 
| 1683 | 1660 | timeo.tv_usec = (timeout % 1000) * 1000; | 
| 1684 | - if (select(udpSocket + 1, &readFds, NULL, NULL, &timeo) <= 0) // timeout | |
| 1685 | - // | |
| 1686 | - // | |
| 1687 | - // | |
| 1688 | - // | |
| 1689 | - // | |
| 1690 | - // or | |
| 1691 | - // error | |
| 1661 | + // timeout or error | |
| 1662 | + if (select(udpSocket + 1, &readFds, NULL, NULL, &timeo) <= 0) | |
| 1692 | 1663 | break; | 
| 1693 | 1664 |  | 
| 1694 | 1665 | // fetch data | 
| ... | ... | @@ -15,6 +15,10 @@ | 
| 15 | 15 | #define INVALID_SOCKET -1 | 
| 16 | 16 | #endif | 
| 17 | 17 |  | 
| 18 | +#ifdef __cplusplus | |
| 19 | +extern "C" { | |
| 20 | +#endif | |
| 21 | + | |
| 18 | 22 | typedef struct sBlinkenMovie stBlinkenMovie; | 
| 19 | 23 |  | 
| 20 | 24 | stBlinkenMovie *BlinkenMovieNew(int height, int width, int channels, | 
| ... | ... | @@ -33,12 +37,12 @@ int BlinkenMovieGetDuration(stBlinkenMovie *pMovie); | 
| 33 | 37 | int BlinkenMovieGetInfoCnt(stBlinkenMovie *pMovie); | 
| 34 | 38 | char *BlinkenMovieGetInfoType(stBlinkenMovie *pMovie, int infoNo); | 
| 35 | 39 | char *BlinkenMovieGetInfoData(stBlinkenMovie *pMovie, int infoNo); | 
| 36 | -void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, char *pInfoType, | |
| 37 | - char *pInfoData); | |
| 40 | +void BlinkenMovieSetInfo(stBlinkenMovie *pMovie, int infoNo, | |
| 41 | + const char *pInfoType, const char *pInfoData); | |
| 38 | 42 | void BlinkenMovieInsertInfo(stBlinkenMovie *pMovie, int infoNo, | 
| 39 | - char *pInfoType, char *pInfoData); | |
| 40 | -void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, char *pInfoType, | |
| 41 | - char *pInfoData); | |
| 43 | + const char *pInfoType, const char *pInfoData); | |
| 44 | +void BlinkenMovieAppendInfo(stBlinkenMovie *pMovie, const char *pInfoType, | |
| 45 | + const char *pInfoData); | |
| 42 | 46 | void BlinkenMovieDeleteInfo(stBlinkenMovie *pMovie, int infoNo); | 
| 43 | 47 | void BlinkenMovieDeleteInfos(stBlinkenMovie *pMovie); | 
| 44 | 48 |  | 
| ... | ... | @@ -52,10 +56,8 @@ int BlinkenMovieAppendFrame(stBlinkenMovie *pMovie, stBlinkenFrame *pFrame); | 
| 52 | 56 | void BlinkenMovieDeleteFrame(stBlinkenMovie *pMovie, int frameNo); | 
| 53 | 57 | void BlinkenMovieDeleteFrames(stBlinkenMovie *pMovie); | 
| 54 | 58 |  | 
| 55 | -int BlinkenMovieConcat(stBlinkenMovie *pMovie, stBlinkenMovie *pMovie2 /* appended | |
| 56 | - and | |
| 57 | - freed | |
| 58 | - */ ); | |
| 59 | +int BlinkenMovieConcat(stBlinkenMovie *pMovie, | |
| 60 | + stBlinkenMovie *pMovie2 /* appended and freed */); | |
| 59 | 61 | void BlinkenMovieReverse(stBlinkenMovie *pMovie); | 
| 60 | 62 |  | 
| 61 | 63 | void BlinkenMovieResize(stBlinkenMovie *pMovie, int height, int width, | 
| ... | ... | @@ -68,23 +70,23 @@ void BlinkenMovieCopyRect(stBlinkenMovie *pDest, int destY, int destX, | 
| 68 | 70 |  | 
| 69 | 71 | char *BlinkenMovieToString(stBlinkenMovie *pMovie); | 
| 70 | 72 |  | 
| 71 | -stBlinkenMovie *BlinkenMovieLoadBlm(char *pFilename); | |
| 72 | -stBlinkenMovie *BlinkenMovieLoadBmm(char *pFilename); | |
| 73 | -stBlinkenMovie *BlinkenMovieLoadBml(char *pFilename); | |
| 74 | -stBlinkenMovie *BlinkenMovieLoadBbm(char *pFilename); | |
| 73 | +stBlinkenMovie *BlinkenMovieLoadBlm(const char *pFilename); | |
| 74 | +stBlinkenMovie *BlinkenMovieLoadBmm(const char *pFilename); | |
| 75 | +stBlinkenMovie *BlinkenMovieLoadBml(const char *pFilename); | |
| 76 | +stBlinkenMovie *BlinkenMovieLoadBbm(const char *pFilename); | |
| 75 | 77 | #ifdef BLINKENLIB_CFG_MNG | 
| 76 | -stBlinkenMovie *BlinkenMovieLoadMng(char *pFilename); | |
| 78 | +stBlinkenMovie *BlinkenMovieLoadMng(const char *pFilename); | |
| 77 | 79 | #endif // #ifdef BLINKENLIB_CFG_MNG | 
| 78 | -stBlinkenMovie *BlinkenMovieLoad(char *pFilename); | |
| 80 | +stBlinkenMovie *BlinkenMovieLoad(const char *pFilename); | |
| 79 | 81 |  | 
| 80 | -int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, char *pFilename); | |
| 81 | -int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, char *pFilename); | |
| 82 | -int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, char *pFilename); | |
| 83 | -int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, char *pFilename); | |
| 82 | +int BlinkenMovieSaveBlm(stBlinkenMovie *pMovie, const char *pFilename); | |
| 83 | +int BlinkenMovieSaveBmm(stBlinkenMovie *pMovie, const char *pFilename); | |
| 84 | +int BlinkenMovieSaveBml(stBlinkenMovie *pMovie, const char *pFilename); | |
| 85 | +int BlinkenMovieSaveBbm(stBlinkenMovie *pMovie, const char *pFilename); | |
| 84 | 86 | #ifdef BLINKENLIB_CFG_MNG | 
| 85 | -int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, char *pFilename); | |
| 87 | +int BlinkenMovieSaveMng(stBlinkenMovie *pMovie, const char *pFilename); | |
| 86 | 88 | #endif // #ifdef BLINKENLIB_CFG_MNG | 
| 87 | -int BlinkenMovieSave(stBlinkenMovie *pMovie, char *pFilename); | |
| 89 | +int BlinkenMovieSave(stBlinkenMovie *pMovie, const char *pFilename); | |
| 88 | 90 |  | 
| 89 | 91 | void BlinkenMovieSend(stBlinkenMovie *pMovie, SOCKET udpSocket, | 
| 90 | 92 | etBlinkenProto proto, int maxidle); | 
| ... | ... | @@ -98,4 +100,8 @@ stBlinkenMovie *BlinkenMovieReceive(SOCKET udpSocket, int timeout, | 
| 98 | 100 | // after timeout ms of no reception, the movie is considered to be complete | 
| 99 | 101 | // returns protocol in *pProto if pProto not NULL | 
| 100 | 102 |  | 
| 103 | +#ifdef __cplusplus | |
| 104 | +} // extern "C" | |
| 105 | +#endif | |
| 106 | + | |
| 101 | 107 | #endif // #ifndef INC_BlinkenLib_BlinkenMovie | 
| ... | ... | @@ -6,7 +6,7 @@ | 
| 6 | 6 |  | 
| 7 | 7 | #include <BlinkenLib/Tools.h> | 
| 8 | 8 |  | 
| 9 | -void *malloc1D(int count1, int size) | |
| 9 | +void *BlinkenMalloc1D(int count1, int size) | |
| 10 | 10 |  { | 
| 11 | 11 | if (count1 < 1) | 
| 12 | 12 | count1 = 1; | 
| ... | ... | @@ -16,7 +16,7 @@ void *malloc1D(int count1, int size) | 
| 16 | 16 | return malloc(count1 * size); | 
| 17 | 17 | } | 
| 18 | 18 |  | 
| 19 | -void **malloc2D(int count1, int count2, int size) | |
| 19 | +void **BlinkenMalloc2D(int count1, int count2, int size) | |
| 20 | 20 |  { | 
| 21 | 21 | int sz, i; | 
| 22 | 22 | char *p; | 
| ... | ... | @@ -17,8 +17,16 @@ | 
| 17 | 17 | #define arr_cnt( arr ) (sizeof( (arr) ) / sizeof( (arr)[0] )) | 
| 18 | 18 | #endif | 
| 19 | 19 |  | 
| 20 | -void *malloc1D(int count1, int size); | |
| 20 | +#ifdef __cplusplus | |
| 21 | +extern "C" { | |
| 22 | +#endif | |
| 23 | + | |
| 24 | +void *BlinkenMalloc1D(int count1, int size); | |
| 21 | 25 |  | 
| 22 | -void **malloc2D(int count1, int count2, int size); | |
| 26 | +void **BlinkenMalloc2D(int count1, int count2, int size); | |
| 27 | + | |
| 28 | +#ifdef __cplusplus | |
| 29 | +} // extern "C" | |
| 30 | +#endif | |
| 23 | 31 |  | 
| 24 | 32 | #endif // #ifndef INC_BlinkenLib_Tools |