+/**\r
+ * \brief Write a string to a stream (without trailing \n)\r
+ */\r
+EXPORT int fputs(const char *s, FILE *fp)\r
+{\r
+ int len = strlen(s);\r
+ return fwrite(s, 1, len, fp);\r
+}\r
+\r
+/**\r
+ * \brief Read a line (and possible trailing \n into a buffer)\r
+ */\r
+EXPORT char *fgets(char *s, int size, FILE *fp)\r
+{\r
+ int ofs = 0;\r
+ char ch = '\0';\r
+ while( ofs < size && ch != '\n' )\r
+ {\r
+ if( fread(&ch, 1, 1, fp) != 1 )\r
+ break;\r
+ s[ofs ++] = ch;\r
+ }\r
+ if( ofs < size )\r
+ s[ofs] = '\0';\r
+ return s;\r
+}\r
+\r