-/* $Id: exec.c,v 1.7 2002/04/29 11:00:28 reinelt Exp $
+/* $Id: exec.c,v 1.8 2003/02/05 04:31:38 reinelt Exp $
*
* exec ('x*') functions
*
*
*
* $Log: exec.c,v $
+ * Revision 1.8 2003/02/05 04:31:38 reinelt
+ *
+ * T_EXEC: remove trailing CR/LF
+ * T_EXEC: deactivated maxlen calculation (for I don't understand what it is for :-)
+ *
* Revision 1.7 2002/04/29 11:00:28 reinelt
*
* added Toshiba T6963 driver
else {
sprintf(xn, "Delay_x%d", index);
/* delay in Delay_x* sec ? */
- debug ("%s=%s",xn,cfg_get(xn));
if (time(NULL) <= now[index] + atoi(cfg_get(xn)?:"1")) {
return 0;
}
sprintf(xn, "x%d", index);
command = cfg_get(xn);
- debug("%s:'%s'",xn,command);
if (!command || !*command) {
error("Empty command for 'x%d'", index);
}
pclose(pipe);
buff[len] = '\0';
- for (p = buff ; *p && isspace(*p); p++)
- ;
- if (isdigit(*p)) {
+
+ // remove trailing CR/LF
+ while (buff[len-1]=='\n' || buff[len-1]=='\r') {
+ buff[--len]='\0';
+ }
+
+ debug("%s: <%s> = '%s'",xn,command,buff);
+
+ if (isdigit(*buff)) {
double max, min;
- *val = atof(p);
+ *val = atof(buff);
sprintf(xn, "Max_x%d", index);
max = atof(cfg_get(xn)?:"100")?:100;
sprintf(xn, "Min_x%d", index);
-/* $Id: processor.c,v 1.28 2002/12/05 19:23:01 reinelt Exp $
+/* $Id: processor.c,v 1.29 2003/02/05 04:31:38 reinelt Exp $
*
* main data processing
*
*
*
* $Log: processor.c,v $
+ * Revision 1.29 2003/02/05 04:31:38 reinelt
+ *
+ * T_EXEC: remove trailing CR/LF
+ * T_EXEC: deactivated maxlen calculation (for I don't understand what it is for :-)
+ *
* Revision 1.28 2002/12/05 19:23:01 reinelt
* fixed undefined operations found by gcc3
*
case T_EXEC:
i = (token>>8)-'0';
*p+=sprintf (*p, "%.*s",cols-(*p-start), exec[i].s);
+#if 0
+ // Fixme: this does not really work as it should...
+ // Remove param 'maxlen' sometimes..
for (i=*p-start; i<cols && maxlen--; i++) /* clear right of text */
*(*p)++=' ';
+#endif
break;
default:
if (*s=='%') {
token = *(unsigned char*)++s;
if (token>T_EXTENDED) token += (*(unsigned char*)++s)<<8;
+#if 0
+ // Fixme: I don't understand this one...
if (!s[1])
len = cols - (s - row[r] - 1);
else
for (q = s+1, len=0; *q && isspace(*q); q++)
len++;
+#endif
print_token (token, &p, buffer, len);
} else if (*s=='$') {