From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Thu, 18 Apr 2013 18:13:01 +0200 Subject: [U-Boot] [PATCH v4] palmtreo680: add utility that writes u-boot to flash In-Reply-To: <51701587.9060309@newsguy.com> References: <1366143307-7055-1-git-send-email-mikedunn@newsguy.com> <201304181554.15041.marex@denx.de> <51701587.9060309@newsguy.com> Message-ID: <201304181813.01362.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Mike Dunn, > On 04/18/2013 06:54 AM, Marek Vasut wrote: > > Dear Mike Dunn, > > > > [...] > > > >> + if (argc != 3) { > >> + printf("usage: %s \n", argv[0]); > > > > btw is this /dev/mtdX or /dev/mtdblockX ? > > /dev/mtdx You must have defined a partition that starts at the offset at > which you are placing the u-boot image, and of course is big enough to > hold the image. > > >> + return -1; > > > > errno.h didn't work? Like ... return -EINVAL or such ? > > 'return -EINVAL' works, sure. Are you suggesting that the utility should > return an intelligent error code at all failure exit points? Like if the > call to calloc() fails, it should return -ENOMEM? I could do that if you > prefer. I didn't worry about it because I always print the reason for the > failure to stderr, usually by way of perror(). Sorry, I guess I didn't > understand your initial suggestion. I think it's more "correct" to return proper error code, maybe try getting opinion from the others. > > [...] > > > >> + blockbuf = calloc(RELIABLE_BLOCKSIZE, 1); > > > > calloc() semantics are misunderstood by so many :-( > > calloc(RELIABLE_BLOCKSIZE, sizeof(char)) ? from malloc(3): void *calloc(size_t nmemb, size_t size); [...] The calloc() function allocates memory for an array of nmemb elements of size bytes each and returns a pointer to the allocated memory. The memory is set to zero. If nmemb or size is 0, then calloc() returns either NULL, or a unique pointer value that can later be successfully passed to free(). Best regards, Marek Vasut