Change-Id: Ibcdc33feb279309633a78b51d59d26846b259003
{
const char **iter, *p, *v;
char *data, **result, port[20], width[20], height[20], mini[3], c;
{
const char **iter, *p, *v;
char *data, **result, port[20], width[20], height[20], mini[3], c;
/* init */
mini[0] = '%';
mini[2] = 0;
/* loop that either compute the size and build the result */
/* init */
mini[0] = '%';
mini[2] = 0;
/* loop that either compute the size and build the result */
+ data = NULL;
+ n = s = 0;
for (;;) {
iter = args;
n = 0;
while (*iter) {
p = *iter++;
for (;;) {
iter = args;
n = 0;
while (*iter) {
p = *iter++;
result[n] = data;
n++;
while((c = *p++) != 0) {
if (c != '%') {
result[n] = data;
n++;
while((c = *p++) != 0) {
if (c != '%') {
c = *p++;
switch (c) {
case 'I': v = FWK_ICON_DIR; break;
c = *p++;
switch (c) {
case 'I': v = FWK_ICON_DIR; break;
- case 'P': if(!x) sprintf(port, "%d", params->port); v = port; break;
+ case 'P': if(!data) sprintf(port, "%d", params->port); v = port; break;
case 'S': v = params->secret; break;
case 'D': v = params->datadir; break;
case 'r': v = desc->path; break;
case 'S': v = params->secret; break;
case 'D': v = params->datadir; break;
case 'r': v = desc->path; break;
case 'm': v = desc->type; break;
case 'n': v = desc->name; break;
case 'p': v = "" /*desc->plugins*/; break;
case 'm': v = desc->type; break;
case 'n': v = desc->name; break;
case 'p': v = "" /*desc->plugins*/; break;
- case 'W': if(!x) sprintf(width, "%d", desc->width); v = width; break;
- case 'H': if(!x) sprintf(height, "%d", desc->height); v = height; break;
+ case 'W': if(!data) sprintf(width, "%d", desc->width); v = width; break;
+ case 'H': if(!data) sprintf(height, "%d", desc->height); v = height; break;
case '%': c = 0;
default: mini[1] = c; v = mini; break;
}
case '%': c = 0;
default: mini[1] = c; v = mini; break;
}
data = stpcpy(data, v);
else
s += strlen(v);
}
}
data = stpcpy(data, v);
else
s += strlen(v);
}
}
result[n] = NULL;
return result;
}
result[n] = NULL;
return result;
}
return NULL;
}
data = (char*)(&result[n + 1]);
return NULL;
}
data = (char*)(&result[n + 1]);
limitations under the License.
*/
limitations under the License.
*/
-#define _BSD_SOURCE /* see readdir */
-
#include <stdlib.h>
#include <stdio.h>
#include <dirent.h>
#include <stdlib.h>
#include <stdio.h>
#include <dirent.h>
limitations under the License.
*/
limitations under the License.
*/
-#define _BSD_SOURCE /* see readdir */
#include <limits.h>
#include <sys/types.h>
#include <limits.h>
#include <sys/types.h>
#else
#include <sys/wait.h>
#else
#include <sys/wait.h>