---------------------------------------------------------------------* * Boxa serialized I/O * *---------------------------------------------------------------------*/ ! * \brief boxaRead() * * \param[in] filename * \return boxa, or NULL on error */
| 2093 | * \return boxa, or NULL on error |
| 2094 | */ |
| 2095 | BOXA * |
| 2096 | boxaRead(const char *filename) |
| 2097 | { |
| 2098 | FILE *fp; |
| 2099 | BOXA *boxa; |
| 2100 | |
| 2101 | PROCNAME("boxaRead"); |
| 2102 | |
| 2103 | if (!filename) |
| 2104 | return (BOXA *)ERROR_PTR("filename not defined", procName, NULL); |
| 2105 | |
| 2106 | if ((fp = fopenReadStream(filename)) == NULL) |
| 2107 | return (BOXA *)ERROR_PTR("stream not opened", procName, NULL); |
| 2108 | boxa = boxaReadStream(fp); |
| 2109 | fclose(fp); |
| 2110 | if (!boxa) |
| 2111 | return (BOXA *)ERROR_PTR("boxa not read", procName, NULL); |
| 2112 | return boxa; |
| 2113 | } |
| 2114 | |
| 2115 | |
| 2116 | /*! |
no test coverage detected